root/include/linux/blkdev.h

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

INCLUDED FROM


   1 #ifndef _LINUX_BLKDEV_H
   2 #define _LINUX_BLKDEV_H
   3 
   4 #include <linux/major.h>
   5 #include <linux/sched.h>
   6 #include <linux/genhd.h>
   7 
   8 /*
   9  * Ok, this is an expanded form so that we can use the same
  10  * request for paging requests when that is implemented. In
  11  * paging, 'bh' is NULL, and the semaphore is used to wait
  12  * for read/write completion.
  13  */
  14 struct request {
  15         int dev;                /* -1 if no request */
  16         int cmd;                /* READ or WRITE */
  17         int errors;
  18         unsigned long sector;
  19         unsigned long nr_sectors;
  20         unsigned long current_nr_sectors;
  21         char * buffer;
  22         struct semaphore * sem;
  23         struct buffer_head * bh;
  24         struct buffer_head * bhtail;
  25         struct request * next;
  26 };
  27 
  28 struct blk_dev_struct {
  29         void (*request_fn)(void);
  30         struct request * current_request;
  31 };
  32 
  33 struct sec_size {
  34         unsigned block_size;
  35         unsigned block_size_bits;
  36 };
  37 
  38 extern struct sec_size * blk_sec[MAX_BLKDEV];
  39 extern struct blk_dev_struct blk_dev[MAX_BLKDEV];
  40 extern struct wait_queue * wait_for_request;
  41 extern void resetup_one_dev(struct gendisk *dev, int drive);
  42 
  43 extern int * blk_size[MAX_BLKDEV];
  44 
  45 extern int * blksize_size[MAX_BLKDEV];
  46 
  47 extern int * hardsect_size[MAX_BLKDEV];
  48 
  49 #endif

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