52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
#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
|