gdth.h

来自「linux 内核源代码」· C头文件 代码 · 共 1,023 行 · 第 1/4 页

H
1,023
字号
    unchar      ai_protected;                   /* protection flag */    unchar      ai_verify_state;                /* state of a parity verify */    unchar      ai_ext_state;                   /* extended array drive state */    unchar      ai_expand_state;                /* array expand state (>=2.18)*/    unchar      ai_reserved[3];} PACKED gdth_arrayinf_str;/* get array drive list */typedef struct {    ulong32     controller_no;                  /* controller no. */    unchar      cd_handle;                      /* master cachedrive */    unchar      is_arrayd;                      /* Flag: is array drive? */    unchar      is_master;                      /* Flag: is array master? */    unchar      is_parity;                      /* Flag: is parity drive? */    unchar      is_hotfix;                      /* Flag: is hotfix drive? */    unchar      res[3];} PACKED gdth_alist_str;typedef struct {    ulong32     entries_avail;                  /* allocated entries */    ulong32     entries_init;                   /* returned entries */    ulong32     first_entry;                    /* first entry number */    ulong32     list_offset;                    /* offset of following list */    gdth_alist_str list[1];                     /* list */} PACKED gdth_arcdl_str;/* cache info/config IOCTL */typedef struct {    ulong32     version;                        /* firmware version */    ushort      state;                          /* cache state (on/off) */    ushort      strategy;                       /* cache strategy */    ushort      write_back;                     /* write back state (on/off) */    ushort      block_size;                     /* cache block size */} PACKED gdth_cpar_str;typedef struct {    ulong32     csize;                          /* cache size */    ulong32     read_cnt;                       /* read/write counter */    ulong32     write_cnt;    ulong32     tr_hits;                        /* hits */    ulong32     sec_hits;    ulong32     sec_miss;                       /* misses */} PACKED gdth_cstat_str;typedef struct {    gdth_cpar_str   cpar;    gdth_cstat_str  cstat;} PACKED gdth_cinfo_str;/* cache drive info */typedef struct {    unchar      cd_name[8];                     /* cache drive name */    ulong32     cd_devtype;                     /* SCSI devicetype */    ulong32     cd_ldcnt;                       /* number of log. drives */    ulong32     cd_last_error;                  /* last error */    unchar      cd_initialized;                 /* drive is initialized */    unchar      cd_removable;                   /* media is removable */    unchar      cd_write_protected;             /* write protected */    unchar      cd_flags;                       /* Pool Hot Fix? */    ulong32     ld_blkcnt;                      /* number of blocks */    ulong32     ld_blksize;                     /* blocksize */    ulong32     ld_dcnt;                        /* number of disks */    ulong32     ld_slave;                       /* log. drive index */    ulong32     ld_dtype;                       /* type of logical drive */    ulong32     ld_last_error;                  /* last error */    unchar      ld_name[8];                     /* log. drive name */    unchar      ld_error;                       /* error */} PACKED gdth_cdrinfo_str;/* OEM string */typedef struct {    ulong32     ctl_version;    ulong32     file_major_version;    ulong32     file_minor_version;    ulong32     buffer_size;    ulong32     cpy_count;    ulong32     ext_error;    ulong32     oem_id;    ulong32     board_id;} PACKED gdth_oem_str_params;typedef struct {    unchar      product_0_1_name[16];    unchar      product_4_5_name[16];    unchar      product_cluster_name[16];    unchar      product_reserved[16];    unchar      scsi_cluster_target_vendor_id[16];    unchar      cluster_raid_fw_name[16];    unchar      oem_brand_name[16];    unchar      oem_raid_type[16];    unchar      bios_type[13];    unchar      bios_title[50];    unchar      oem_company_name[37];    ulong32     pci_id_1;    ulong32     pci_id_2;    unchar      validation_status[80];    unchar      reserved_1[4];    unchar      scsi_host_drive_inquiry_vendor_id[16];    unchar      library_file_template[16];    unchar      reserved_2[16];    unchar      tool_name_1[32];    unchar      tool_name_2[32];    unchar      tool_name_3[32];    unchar      oem_contact_1[84];    unchar      oem_contact_2[84];    unchar      oem_contact_3[84];} PACKED gdth_oem_str;typedef struct {    gdth_oem_str_params params;    gdth_oem_str        text;} PACKED gdth_oem_str_ioctl;/* board features */typedef struct {    unchar      chaining;                       /* Chaining supported */    unchar      striping;                       /* Striping (RAID-0) supp. */    unchar      mirroring;                      /* Mirroring (RAID-1) supp. */    unchar      raid;                           /* RAID-4/5/10 supported */} PACKED gdth_bfeat_str;/* board info IOCTL */typedef struct {    ulong32     ser_no;                         /* serial no. */    unchar      oem_id[2];                      /* OEM ID */    ushort      ep_flags;                       /* eprom flags */    ulong32     proc_id;                        /* processor ID */    ulong32     memsize;                        /* memory size (bytes) */    unchar      mem_banks;                      /* memory banks */    unchar      chan_type;                      /* channel type */    unchar      chan_count;                     /* channel count */    unchar      rdongle_pres;                   /* dongle present? */    ulong32     epr_fw_ver;                     /* (eprom) firmware version */    ulong32     upd_fw_ver;                     /* (update) firmware version */    ulong32     upd_revision;                   /* update revision */    char        type_string[16];                /* controller name */    char        raid_string[16];                /* RAID firmware name */    unchar      update_pres;                    /* update present? */    unchar      xor_pres;                       /* XOR engine present? */    unchar      prom_type;                      /* ROM type (eprom/flash) */    unchar      prom_count;                     /* number of ROM devices */    ulong32     dup_pres;                       /* duplexing module present? */    ulong32     chan_pres;                      /* number of expansion chn. */    ulong32     mem_pres;                       /* memory expansion inst. ? */    unchar      ft_bus_system;                  /* fault bus supported? */    unchar      subtype_valid;                  /* board_subtype valid? */    unchar      board_subtype;                  /* subtype/hardware level */    unchar      ramparity_pres;                 /* RAM parity check hardware? */} PACKED gdth_binfo_str; /* get host drive info */typedef struct {    char        name[8];                        /* host drive name */    ulong32     size;                           /* size (sectors) */    unchar      host_drive;                     /* host drive number */    unchar      log_drive;                      /* log. drive (master) */    unchar      reserved;    unchar      rw_attribs;                     /* r/w attribs */    ulong32     start_sec;                      /* start sector */} PACKED gdth_hentry_str;typedef struct {    ulong32     entries;                        /* entry count */    ulong32     offset;                         /* offset of entries */    unchar      secs_p_head;                    /* sectors/head */    unchar      heads_p_cyl;                    /* heads/cylinder */    unchar      reserved;    unchar      clust_drvtype;                  /* cluster drive type */    ulong32     location;                       /* controller number */    gdth_hentry_str entry[MAX_HDRIVES];         /* entries */} PACKED gdth_hget_str;    /* DPRAM structures *//* interface area ISA/PCI */typedef struct {    unchar              S_Cmd_Indx;             /* special command */    unchar volatile     S_Status;               /* status special command */    ushort              reserved1;    ulong32             S_Info[4];              /* add. info special command */    unchar volatile     Sema0;                  /* command semaphore */    unchar              reserved2[3];    unchar              Cmd_Index;              /* command number */    unchar              reserved3[3];    ushort volatile     Status;                 /* command status */    ushort              Service;                /* service(for async.events) */    ulong32             Info[2];                /* additional info */    struct {        ushort          offset;                 /* command offs. in the DPRAM*/        ushort          serv_id;                /* service */    } PACKED comm_queue[MAXOFFSETS];            /* command queue */    ulong32             bios_reserved[2];    unchar              gdt_dpr_cmd[1];         /* commands */} PACKED gdt_dpr_if;/* SRAM structure PCI controllers */typedef struct {    ulong32     magic;                          /* controller ID from BIOS */    ushort      need_deinit;                    /* switch betw. BIOS/driver */    unchar      switch_support;                 /* see need_deinit */    unchar      padding[9];    unchar      os_used[16];                    /* OS code per service */    unchar      unused[28];    unchar      fw_magic;                       /* contr. ID from firmware */} PACKED gdt_pci_sram;/* SRAM structure EISA controllers (but NOT GDT3000/3020) */typedef struct {    unchar      os_used[16];                    /* OS code per service */    ushort      need_deinit;                    /* switch betw. BIOS/driver */    unchar      switch_support;                 /* see need_deinit */    unchar      padding;} PACKED gdt_eisa_sram;/* DPRAM ISA controllers */typedef struct {    union {        struct {            unchar      bios_used[0x3c00-32];   /* 15KB - 32Bytes BIOS */            ulong32     magic;                  /* controller (EISA) ID */            ushort      need_deinit;            /* switch betw. BIOS/driver */            unchar      switch_support;         /* see need_deinit */            unchar      padding[9];            unchar      os_used[16];            /* OS code per service */        } PACKED dp_sram;        unchar          bios_area[0x4000];      /* 16KB reserved for BIOS */    } bu;    union {        gdt_dpr_if      ic;                     /* interface area */        unchar          if_area[0x3000];        /* 12KB for interface */    } u;    struct {        unchar          memlock;                /* write protection DPRAM */        unchar          event;                  /* release event */        unchar          irqen;                  /* board interrupts enable */        unchar          irqdel;                 /* acknowledge board int. */        unchar volatile Sema1;                  /* status semaphore */        unchar          rq;                     /* IRQ/DRQ configuration */    } PACKED io;} PACKED gdt2_dpram_str;/* DPRAM PCI controllers */typedef struct {    union {        gdt_dpr_if      ic;                     /* interface area */        unchar          if_area[0xff0-sizeof(gdt_pci_sram)];    } u;    gdt_pci_sram        gdt6sr;                 /* SRAM structure */    struct {        unchar          unused0[1];        unchar volatile Sema1;                  /* command semaphore */        unchar          unused1[3];        unchar          irqen;                  /* board interrupts enable */        unchar          unused2[2];

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?