| #ifndef _LINUX_GENHD_H |
| #define _LINUX_GENHD_H |
| |
| /* |
| * genhd.h Copyright (C) 1992 Drew Eckhardt |
| * Generic hard disk header file by |
| * Drew Eckhardt |
| * |
| * <drew@colorado.edu> |
| */ |
| |
| #define EXTENDED_PARTITION 5 |
| |
| struct partition { |
| unsigned char boot_ind; /* 0x80 - active */ |
| unsigned char head; /* starting head */ |
| unsigned char sector; /* starting sector */ |
| unsigned char cyl; /* starting cylinder */ |
| unsigned char sys_ind; /* What partition type */ |
| unsigned char end_head; /* end head */ |
| unsigned char end_sector; /* end sector */ |
| unsigned char end_cyl; /* end cylinder */ |
| unsigned int start_sect; /* starting sector counting from 0 */ |
| unsigned int nr_sects; /* nr of sectors in partition */ |
| }; |
| |
| struct hd_struct { |
| long start_sect; |
| long nr_sects; |
| }; |
| |
| struct gendisk { |
| int major; /* major number of driver */ |
| char *major_name; /* name of major driver */ |
| int minor_shift; /* number of times minor is shifted to |
| get real minor */ |
| int max_p; /* maximum partitions per device */ |
| int max_nr; /* maximum number of real devices */ |
| |
| void (*init)(void); /* Initialization called before we do our thing */ |
| struct hd_struct *part; /* partition table */ |
| int *sizes; /* size of device in blocks */ |
| int nr_real; /* number of real devices */ |
| |
| void *real_devices; /* internal use */ |
| struct gendisk *next; |
| }; |
| |
| extern int NR_GENDISKS; /* total */ |
| extern struct gendisk *gendisk_head; /* linked list of disks */ |
| |
| #endif |