Annotation of coherent/d/bin/dos/mdir.h, revision 1.1

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          */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.