~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/drivers/scsi/gdth_ioctl.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _GDTH_IOCTL_H
  2 #define _GDTH_IOCTL_H
  3 
  4 /* gdth_ioctl.h
  5  * $Id: gdth_ioctl.h,v 1.2 1998/12/17 15:42:49 achim Exp $
  6  */
  7 
  8 /* IOCTLs */
  9 #define GDTIOCTL_MASK       ('J'<<8)
 10 #define GDTIOCTL_GENERAL    (GDTIOCTL_MASK | 0) /* general IOCTL */
 11 #define GDTIOCTL_DRVERS     (GDTIOCTL_MASK | 1) /* get driver version */
 12 #define GDTIOCTL_CTRTYPE    (GDTIOCTL_MASK | 2) /* get controller type */
 13 #define GDTIOCTL_OSVERS     (GDTIOCTL_MASK | 3) /* get OS version */
 14 #define GDTIOCTL_CTRCNT     (GDTIOCTL_MASK | 5) /* get controller count */
 15 #define GDTIOCTL_LOCKDRV    (GDTIOCTL_MASK | 6) /* lock host drive */
 16 #define GDTIOCTL_LOCKCHN    (GDTIOCTL_MASK | 7) /* lock channel */
 17 #define GDTIOCTL_EVENT      (GDTIOCTL_MASK | 8) /* read controller events */
 18 
 19 #define GDTIOCTL_MAGIC      0xaffe0001UL
 20 
 21 
 22 /* IOCTL structure (write) */
 23 typedef struct {
 24     ulong32                 magic;              /* IOCTL magic */
 25     ushort                  ioctl;              /* IOCTL */
 26     ushort                  ionode;             /* controller number */
 27     ushort                  service;            /* controller service */
 28     ushort                  timeout;            /* timeout */
 29     union {
 30         struct {
 31             unchar          command[512];       /* controller command */
 32             unchar          data[1];            /* add. data */
 33         } general;
 34         struct {
 35             unchar          lock;               /* lock/unlock */
 36             unchar          drive_cnt;          /* drive count */
 37             ushort          drives[35];         /* drives */
 38         } lockdrv;
 39         struct {
 40             unchar          lock;               /* lock/unlock */
 41             unchar          channel;            /* channel */
 42         } lockchn;
 43         struct {
 44             int             erase;              /* erase event ? */
 45             int             handle;
 46             unchar          evt[34];            /* event structure */
 47         } event;
 48     } iu;
 49 } gdth_iowr_str;
 50 
 51 /* IOCTL structure (read) */
 52 typedef struct {
 53     ulong32                 size;               /* buffer size */
 54     ulong32                 status;             /* IOCTL error code */
 55     union {
 56         struct {
 57             unchar          data[1];            /* data */
 58         } general;
 59         struct {
 60             ushort          version;            /* driver version */
 61         } drvers;
 62         struct {
 63             unchar          type;               /* controller type */
 64             ushort          info;               /* slot etc. */
 65             ushort          oem_id;             /* OEM ID */
 66             ushort          bios_ver;           /* not used */
 67             ushort          access;             /* not used */
 68             ushort          ext_type;           /* extended type */
 69         } ctrtype;
 70         struct {
 71             unchar          version;            /* OS version */
 72             unchar          subversion;         /* OS subversion */
 73             ushort          revision;           /* revision */
 74         } osvers;
 75         struct {
 76             ushort          count;              /* controller count */
 77         } ctrcnt;
 78         struct {
 79             int             handle;
 80             unchar          evt[34];            /* event structure */
 81         } event;
 82     } iu;
 83 } gdth_iord_str;
 84 
 85 
 86 #endif
 87 
 88 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.