home *** CD-ROM | disk | FTP | other *** search
- struct sun_disklabel {
- unsigned char info[128]; /* Informative text string */
- unsigned char spare0[14];
- struct sun_info {
- unsigned char spare1;
- unsigned char id;
- unsigned char spare2;
- unsigned char flags;
- } infos[8];
- unsigned char spare1[246]; /* Boot information etc. */
- unsigned short rspeed; /* Disk rotational speed */
- unsigned short pcylcount; /* Physical cylinder count */
- unsigned short sparecyl; /* extra sects per cylinder */
- unsigned char spare2[4]; /* More magic... */
- unsigned short ilfact; /* Interleave factor */
- unsigned short ncyl; /* Data cylinder count */
- unsigned short nacyl; /* Alt. cylinder count */
- unsigned short ntrks; /* Tracks per cylinder */
- unsigned short nsect; /* Sectors per track */
- unsigned char spare3[4]; /* Even more magic... */
- struct sun_partition {
- unsigned int start_cylinder;
- unsigned int num_sectors;
- } partitions[8];
- unsigned short magic; /* Magic number */
- unsigned short csum; /* Label xor'd checksum */
- } ;
- #define SUN_LABEL_MAGIC 0xDABE
- #define SUN_LABEL_MAGIC_SWAPPED 0xBEDA
- #define sunlabel ((sun_partition *)buffer)
- #define SSWAP16(x) (other_endian ? __swap16(x) \
- : (__u16)(x))
- #define SSWAP32(x) (other_endian ? __swap32(x) \
- : (__u32)(x))
-
- #define scround(x) ((x+(display_factor-1)*unit_flag)/display_factor)
-