|
|
1.1 root 1: /*
2: * Directory entry on an MS-DOS diskette. Used by file extraction program "dos"
3: * and by the MS-DOS emulator.
4: */
5:
6: #ifdef _I386
7: #pragma align 1
8: #endif
9: typedef struct mdir {
10: unsigned char m_name[8]; /* File name */
11: unsigned char m_ext[3]; /* File extension */
12: unsigned char m_attr; /* File attribute */
13: unsigned char m_junk[10]; /* Reserved */
14: unsigned short m_time; /* Sec/Min/Hour Creation*/
15: unsigned short m_date; /* Day/Month/(Year-1980)*/
16: short m_cluster; /* Starting cluster */
17: long m_size; /* File size in bytes */
18: } MDIR;
19: #ifdef _I386
20: #pragma align
21: #endif
22:
23: #define m_sec(z) (unsigned short)((unsigned short)(z->m_time ) & 0x1f)
24: #define m_min(z) (unsigned short)((unsigned short)(z->m_time>>5) & 0x3f)
25: #define m_hour(z) (unsigned short)((unsigned short)(z->m_time>>11) & 0x1f)
26:
27: #define m_day(z) (unsigned short)((unsigned short)(z->m_date ) &0x1f)
28: #define m_month(z) (unsigned short)((unsigned short)(z->m_date>>5) &0xf)
29: #define m_year(z) (unsigned short)((unsigned short)(z->m_date>>9) &0x7f)
30:
31: #define c_sec(y) (unsigned short)(y)
32: #define c_min(y) ((unsigned short)(y)<<5)
33: #define c_hour(y) ((unsigned short)(y)<<11)
34:
35: #define c_day(y) (unsigned short)(y)
36: #define c_month(y) ((unsigned short)(y)<<5)
37: #define c_year(y) ((unsigned short)(y)<<9)
38:
39:
40: /* Special values for m_name[0]. */
41: #define MFREE (unsigned char)0x00 /* Never used */
42: #define MMDIR (unsigned char)0x2E /* Directory file */
43: #define MEMPTY (unsigned char)0xE5 /* Empty name */
44:
45: /* Attributes in m_attr. */
46: #define MRONLY 0x01 /* Read only */
47: #define MHIDDEN 0x02 /* Hidden file */
48: #define MSYSTEM 0x04 /* System file */
49: #define MVOLUME 0x08 /* Volume identifier */
50: #define MSUBDIR 0x10 /* Sub directory */
51: #define MARCHIV 0x20 /* Archive bit */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.