Annotation of coherent/f/usr/include.78/sys/fdisk.h, revision 1.1

1.1     ! root        1: /* (-lgl
        !             2:  *     COHERENT Version 4.0
        !             3:  *     Copyright (c) 1982, 1992 by Mark Williams Company.
        !             4:  *     All rights reserved. May not be copied without permission.
        !             5:  -lgl) */
        !             6: /*
        !             7:  * fdisk.h
        !             8:  * Fixed disk configuration.
        !             9:  * The first sector (boot block) of each hard disk
        !            10:  * should contain a fixed disk boot record (HDISK_S).
        !            11:  */
        !            12: 
        !            13: #ifndef        __SYS_FDISK_H__
        !            14: #define        __SYS_FDISK_H__
        !            15: 
        !            16: #define        NPARTN  4                       /* Partitions per drive  */
        !            17: #define        HDSIG   0xAA55                  /* Signature word        */
        !            18: #define        SDEV    0x80                    /* Special minor device  */
        !            19: 
        !            20: /*
        !            21:  * System indicators.
        !            22:  * There is disagreement about some of these.
        !            23:  * Is there an official list?
        !            24:  */
        !            25: #define        SYS_EMPTY       0       /* Empty                        */
        !            26: #define        SYS_DOS_12      1       /* MS-DOS, 12-bit FAT           */
        !            27: #define        SYS_XENIX       2       /* Xenix                        */
        !            28: #define        SYS_DOS_16      4       /* MS-DOS, 16-bit FAT           */
        !            29: #define SYS_DOS_XP     5       /* MS-DOS, extended partition   */
        !            30: #define        SYS_DOS_LARGE   6       /* MS-DOS, large filesystem     */
        !            31: #define        SYS_COH         9       /* Coherent                     */
        !            32: #define        SYS_SWAP        10      /* Coherent swap partition      */
        !            33: 
        !            34: /*
        !            35:  * Be careful when using the FDISK_S or HDISK_S structure:
        !            36:  * the two high order bits of p_bsec and p_esec on the boot block
        !            37:  * provide the two high order bits of p_bcyl and p_ecyl, respectively.
        !            38:  */
        !            39: #define SECMASK 0x3F   /* Mask for sector number bits of sector fields.     */
        !            40: #define CYLMASK 0xC0   /* Mask for cylinder number bits of sector fields.   */
        !            41: #define        bcyl(p) ((((p)->p_bsec & CYLMASK) << 2) | ((p)->p_bcyl))
        !            42: #define        bhd(p)  ((p)->p_bhd)
        !            43: #define        bsec(p) ((p)->p_bsec & SECMASK) 
        !            44: #define        ecyl(p) ((((p)->p_esec & CYLMASK) << 2) | ((p)->p_ecyl))
        !            45: #define        ehd(p)  ((p)->p_ehd)
        !            46: #define        esec(p) ((p)->p_esec & SECMASK)
        !            47: 
        !            48: /* Per partition information. */
        !            49: #pragma align 1
        !            50: typedef        struct  fdisk_s {
        !            51:        unsigned char   p_boot;         /* Boot indicator       */
        !            52:        unsigned char   p_bhd;          /* Beginning head       */
        !            53:        unsigned char   p_bsec;         /* Beginning sector     */
        !            54:        unsigned char   p_bcyl;         /* Beginning cylinder   */
        !            55:        unsigned char   p_sys;          /* System indicator     */
        !            56:        unsigned char   p_ehd;          /* Ending head          */
        !            57:        unsigned char   p_esec;         /* Ending sector        */
        !            58:        unsigned char   p_ecyl;         /* Ending cylinder      */
        !            59:        unsigned long           p_base;         /* Base block number    */
        !            60:        unsigned long           p_size;         /* Size in blocks       */
        !            61: } FDISK_S;
        !            62: /* Hard disk master boot block. */
        !            63: typedef        struct  hdisk_s {
        !            64:        unsigned char   hd_boot[446];           /* Bootstrap            */
        !            65: #pragma align 2
        !            66:        struct fdisk_s  hd_partn[NPARTN];       /* Partition info*/
        !            67: #pragma align
        !            68:        unsigned short  hd_sig;                 /* Validating signature */
        !            69: } HDISK_S;
        !            70: #pragma align
        !            71: 
        !            72: #ifdef INKERNEL
        !            73: /*
        !            74:  * fdisk(dev_t sdev, FDISK_S pp[])
        !            75:  * Read partition info from first block of a special device.
        !            76:  * If valid, update partition array and return 1.
        !            77:  */
        !            78: extern int     fdisk();
        !            79: #endif
        !            80: 
        !            81: #endif
        !            82: 
        !            83: /* end of fdisk.h */

unix.superglobalmegacorp.com

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