root/include/linux/genhd.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _LINUX_GENHD_H
   2 #define _LINUX_GENHD_H
   3 
   4 /*
   5  *      genhd.h Copyright (C) 1992 Drew Eckhardt
   6  *      Generic hard disk header file by  
   7  *              Drew Eckhardt
   8  *
   9  *              <drew@colorado.edu>
  10  */
  11 
  12 #define CONFIG_MSDOS_PARTITION 1
  13 
  14 #ifdef __alpha__
  15 #define CONFIG_OSF_PARTITION 1
  16 #endif
  17 
  18 /* These two have identical behaviour; use the second one if DOS fdisk gets
  19    confused about extended/logical partitions starting past cylinder 1023. */   
  20 #define DOS_EXTENDED_PARTITION 5
  21 #define LINUX_EXTENDED_PARTITION 0x85
  22 
  23 #define DM6_PARTITION           0x54    /* has DDO: use xlated geom & offset */
  24 #define EZD_PARTITION           0x55    /* EZ-DRIVE:  same as DM6 (we think) */
  25 #define DM6_AUX1PARTITION       0x51    /* no DDO:  use xlated geom */
  26 #define DM6_AUX3PARTITION       0x53    /* no DDO:  use xlated geom */
  27         
  28 struct partition {
  29         unsigned char boot_ind;         /* 0x80 - active */
  30         unsigned char head;             /* starting head */
  31         unsigned char sector;           /* starting sector */
  32         unsigned char cyl;              /* starting cylinder */
  33         unsigned char sys_ind;          /* What partition type */
  34         unsigned char end_head;         /* end head */
  35         unsigned char end_sector;       /* end sector */
  36         unsigned char end_cyl;          /* end cylinder */
  37         unsigned int start_sect;        /* starting sector counting from 0 */
  38         unsigned int nr_sects;          /* nr of sectors in partition */
  39 };
  40 
  41 struct hd_struct {
  42         long start_sect;
  43         long nr_sects;
  44 };
  45 
  46 struct gendisk {
  47         int major;                      /* major number of driver */
  48         const char *major_name;         /* name of major driver */
  49         int minor_shift;                /* number of times minor is shifted to
  50                                            get real minor */
  51         int max_p;                      /* maximum partitions per device */
  52         int max_nr;                     /* maximum number of real devices */
  53 
  54         void (*init)(struct gendisk *); /* Initialization called before we do our thing */
  55         struct hd_struct *part;         /* partition table */
  56         int *sizes;                     /* device size in blocks, copied to blk_size[] */
  57         int nr_real;                    /* number of real devices */
  58 
  59         void *real_devices;             /* internal use */
  60         struct gendisk *next;
  61 };
  62 
  63 extern struct gendisk *gendisk_head;    /* linked list of disks */
  64 
  65 #endif

/* [previous][next][first][last][top][bottom][index][help] */