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

  1. struct sun_disklabel {
  2.     unsigned char info[128];   /* Informative text string */
  3.     unsigned char spare0[14];
  4.     struct sun_info {
  5.         unsigned char spare1;
  6.         unsigned char id;
  7.         unsigned char spare2;
  8.         unsigned char flags;
  9.     } infos[8];
  10.     unsigned char spare1[246]; /* Boot information etc. */
  11.     unsigned short rspeed;     /* Disk rotational speed */
  12.     unsigned short pcylcount;  /* Physical cylinder count */
  13.     unsigned short sparecyl;   /* extra sects per cylinder */
  14.     unsigned char spare2[4];   /* More magic... */
  15.     unsigned short ilfact;     /* Interleave factor */
  16.     unsigned short ncyl;       /* Data cylinder count */
  17.     unsigned short nacyl;      /* Alt. cylinder count */
  18.     unsigned short ntrks;      /* Tracks per cylinder */
  19.     unsigned short nsect;      /* Sectors per track */
  20.     unsigned char spare3[4];   /* Even more magic... */
  21.     struct sun_partition {
  22.         unsigned int start_cylinder;
  23.         unsigned int num_sectors;
  24.     } partitions[8];
  25.     unsigned short magic;      /* Magic number */
  26.     unsigned short csum;       /* Label xor'd checksum */
  27. } ;
  28. #define SUN_LABEL_MAGIC          0xDABE
  29. #define SUN_LABEL_MAGIC_SWAPPED  0xBEDA
  30. #define sunlabel ((sun_partition *)buffer)
  31. #define SSWAP16(x) (other_endian ? __swap16(x) \
  32.                  : (__u16)(x))
  33. #define SSWAP32(x) (other_endian ? __swap32(x) \
  34.                  : (__u32)(x))
  35.                  
  36. #define scround(x) ((x+(display_factor-1)*unit_flag)/display_factor)
  37.