📄 dasd_diag.h
字号:
/* * File...........: linux/drivers/s390/block/dasd_diag.h * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com> * Based on.......: linux/drivers/s390/block/mdisk.h * ...............: by Hartmunt Penner <hpenner@de.ibm.com> * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * * $Revision: 1.8 $ */#define MDSK_WRITE_REQ 0x01#define MDSK_READ_REQ 0x02#define INIT_BIO 0x00#define RW_BIO 0x01#define TERM_BIO 0x02#define DEV_CLASS_FBA 0x01#define DEV_CLASS_ECKD 0x04#define DASD_DIAG_LC_INT_CODE 132#define DASD_DIAG_LC_INT_STATUS 133#define DASD_DIAG_LC_INT_PARM_31BIT 128#define DASD_DIAG_LC_INT_PARM_64BIT 4536#define DASD_DIAG_CODE_31BIT 0x03#define DASD_DIAG_CODE_64BIT 0x07#define DASD_DIAG_RWFLAG_ASYNC 0x02#define DASD_DIAG_RWFLAG_NOCACHE 0x01#define DASD_DIAG_FLAGA_FORMAT_64BIT 0x80struct dasd_diag_characteristics { u16 dev_nr; u16 rdc_len; u8 vdev_class; u8 vdev_type; u8 vdev_status; u8 vdev_flags; u8 rdev_class; u8 rdev_type; u8 rdev_model; u8 rdev_features;} __attribute__ ((packed, aligned(4)));struct dasd_diag_cms_label { u8 label_id[4]; u8 vol_id[6]; u16 version_id; u32 block_size; u32 origin_ptr; u32 usable_count; u32 formatted_count; u32 block_count; u32 used_count; u32 fst_size; u32 fst_count; u8 format_date[6]; u8 reserved1[2]; u32 disk_offset; u32 map_block; u32 hblk_disp; u32 user_disp; u8 reserved2[4]; u8 segment_name[8];} __attribute__ ((packed));#ifdef CONFIG_ARCH_S390X#define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BITtypedef u64 blocknum_t;typedef s64 sblocknum_t;struct dasd_diag_bio { u8 type; u8 status; u8 spare1[2]; u32 alet; blocknum_t block_number; void *buffer;} __attribute__ ((packed, aligned(8)));struct dasd_diag_init_io { u16 dev_nr; u8 flaga; u8 spare1[21]; u32 block_size; u8 spare2[4]; blocknum_t offset; sblocknum_t start_block; blocknum_t end_block; u8 spare3[8];} __attribute__ ((packed, aligned(8)));struct dasd_diag_rw_io { u16 dev_nr; u8 flaga; u8 spare1[21]; u8 key; u8 flags; u8 spare2[2]; u32 block_count; u32 alet; u8 spare3[4]; u64 interrupt_params; struct dasd_diag_bio *bio_list; u8 spare4[8];} __attribute__ ((packed, aligned(8)));#else /* CONFIG_ARCH_S390X */#define DASD_DIAG_FLAGA_DEFAULT 0x0typedef u32 blocknum_t;typedef s32 sblocknum_t;struct dasd_diag_bio { u8 type; u8 status; u16 spare1; blocknum_t block_number; u32 alet; void *buffer;} __attribute__ ((packed, aligned(8)));struct dasd_diag_init_io { u16 dev_nr; u8 flaga; u8 spare1[21]; u32 block_size; blocknum_t offset; sblocknum_t start_block; blocknum_t end_block; u8 spare2[24];} __attribute__ ((packed, aligned(8)));struct dasd_diag_rw_io { u16 dev_nr; u8 flaga; u8 spare1[21]; u8 key; u8 flags; u8 spare2[2]; u32 block_count; u32 alet; struct dasd_diag_bio *bio_list; u32 interrupt_params; u8 spare3[20];} __attribute__ ((packed, aligned(8)));#endif /* CONFIG_ARCH_S390X */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -