home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1999 May / pcp151c.iso / misc / src / install / libfdisk / bsdlabel.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-08  |  2.4 KB  |  52 lines

  1.  
  2. #define BSD_PARTITION        0xa5    /* Partition ID */
  3.  
  4. #define BSD_DISKMAGIC    (0x82564557UL)    /* The disk magic number */
  5. #define BSD_MAXPARTITIONS    8
  6. #define BSD_FS_UNUSED        0    /* disklabel unused partition entry ID */
  7. #define BSD_LABEL_OFFSET    64
  8.  
  9. struct bsd_disklabel {
  10.     unsigned int    d_magic;        /* the magic number */
  11.     signed short    d_type;            /* drive type */
  12.     signed short    d_subtype;        /* controller/d_type specific */
  13.     char    d_typename[16];        /* type name, e.g. "eagle" */
  14.     char    d_packname[16];            /* pack identifier */ 
  15.     unsigned int    d_secsize;        /* # of bytes per sector */
  16.     unsigned int    d_nsectors;        /* # of data sectors per track */
  17.     unsigned int    d_ntracks;        /* # of tracks per cylinder */
  18.     unsigned int    d_ncylinders;        /* # of data cylinders per unit */
  19.     unsigned int    d_secpercyl;        /* # of data sectors per cylinder */
  20.     unsigned int    d_secperunit;        /* # of data sectors per unit */
  21.     unsigned short    d_sparespertrack;    /* # of spare sectors per track */
  22.     unsigned short    d_sparespercyl;        /* # of spare sectors per cylinder */
  23.     unsigned int    d_acylinders;        /* # of alt. cylinders per unit */
  24.     unsigned short    d_rpm;            /* rotational speed */
  25.     unsigned short    d_interleave;        /* hardware sector interleave */
  26.     unsigned short    d_trackskew;        /* sector 0 skew, per track */
  27.     unsigned short    d_cylskew;        /* sector 0 skew, per cylinder */
  28.     unsigned int    d_headswitch;        /* head switch time, usec */
  29.     unsigned int    d_trkseek;        /* track-to-track seek, usec */
  30.     unsigned int    d_flags;        /* generic flags */
  31. #define NDDATA 5
  32.     unsigned int    d_drivedata[NDDATA];    /* drive-type specific information */
  33. #define NSPARE 5
  34.     unsigned int    d_spare[NSPARE];    /* reserved for future use */
  35.     unsigned int    d_magic2;        /* the magic number (again) */
  36.     unsigned short    d_checksum;        /* xor of data incl. partitions */
  37.  
  38.             /* filesystem and partition information: */
  39.     unsigned short    d_npartitions;        /* number of partitions in following */
  40.     unsigned int    d_bbsize;        /* size of boot area at sn0, bytes */
  41.     unsigned int    d_sbsize;        /* max size of fs superblock, bytes */
  42.     struct    bsd_partition {        /* the partition table */
  43.         unsigned int    p_size;        /* number of sectors in partition */
  44.         unsigned int    p_offset;    /* starting sector */
  45.         unsigned int    p_fsize;    /* filesystem basic fragment size */
  46.         unsigned char    p_fstype;    /* filesystem type, see below */
  47.         unsigned char    p_frag;        /* filesystem fragments per block */
  48.         unsigned short    p_cpg;        /* filesystem cylinders per group */
  49.     } d_partitions[BSD_MAXPARTITIONS];    /* actually may be more */
  50. };
  51.  
  52.