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 + -
显示快捷键?