drivers/s390/block/dasd_eckd.h
Source file repositories/reference/linux-study-clean/drivers/s390/block/dasd_eckd.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/s390/block/dasd_eckd.h- Extension
.h- Size
- 16952 bytes
- Lines
- 712
- Domain
- Driver Families
- Bucket
- drivers/s390
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct eckd_countstruct ch_tstruct chr_tstruct DE_eckd_datastruct LO_eckd_datastruct LRE_eckd_datastruct PFX_eckd_datastruct dasd_eckd_characteristicsstruct dasd_nedstruct dasd_sneqstruct vd_sneqstruct dasd_gneqstruct dasd_rssd_featuresstruct dasd_rssd_messagesstruct dasd_rssd_vsqstruct dasd_ext_pool_sumstruct dasd_rssd_lcqstruct dasd_oos_messagestruct dasd_cuir_messagestruct dasd_psf_cuir_responsestruct dasd_ckd_path_group_entrystruct dasd_ckd_host_informationstruct dasd_psf_query_host_accessstruct dasd_psf_prssd_datastruct dasd_psf_ssc_datastruct dasd_dso_ras_ext_rangestruct dasd_dso_ras_datastruct dasd_unit_address_configurationstruct alias_rootstruct alias_serverstruct summary_unit_check_work_datastruct read_uac_work_datastruct alias_lcustruct alias_pav_groupstruct dasd_conf_datastruct dasd_confstruct dasd_eckd_privateenum pavtype
Annotated Snippet
struct eckd_count {
__u16 cyl;
__u16 head;
__u8 record;
__u8 kl;
__u16 dl;
} __attribute__ ((packed));
struct ch_t {
__u16 cyl;
__u16 head;
} __attribute__ ((packed));
struct chr_t {
__u16 cyl;
__u16 head;
__u8 record;
} __attribute__ ((packed));
struct DE_eckd_data {
struct {
unsigned char perm:2; /* Permissions on this extent */
unsigned char reserved:1;
unsigned char seek:2; /* Seek control */
unsigned char auth:2; /* Access authorization */
unsigned char pci:1; /* PCI Fetch mode */
} __attribute__ ((packed)) mask;
struct {
unsigned char mode:2; /* Architecture mode */
unsigned char ckd:1; /* CKD Conversion */
unsigned char operation:3; /* Operation mode */
unsigned char cfw:1; /* Cache fast write */
unsigned char dfw:1; /* DASD fast write */
} __attribute__ ((packed)) attributes;
__u16 blk_size; /* Blocksize */
__u16 fast_write_id;
__u8 ga_additional; /* Global Attributes Additional */
__u8 ga_extended; /* Global Attributes Extended */
struct ch_t beg_ext;
struct ch_t end_ext;
unsigned long ep_sys_time; /* Ext Parameter - System Time Stamp */
__u8 ep_format; /* Extended Parameter format byte */
__u8 ep_prio; /* Extended Parameter priority I/O byte */
__u8 ep_reserved1; /* Extended Parameter Reserved */
__u8 ep_rec_per_track; /* Number of records on a track */
__u8 ep_reserved[4]; /* Extended Parameter Reserved */
} __attribute__ ((packed));
struct LO_eckd_data {
struct {
unsigned char orientation:2;
unsigned char operation:6;
} __attribute__ ((packed)) operation;
struct {
unsigned char last_bytes_used:1;
unsigned char reserved:6;
unsigned char read_count_suffix:1;
} __attribute__ ((packed)) auxiliary;
__u8 unused;
__u8 count;
struct ch_t seek_addr;
struct chr_t search_arg;
__u8 sector;
__u16 length;
} __attribute__ ((packed));
struct LRE_eckd_data {
struct {
unsigned char orientation:2;
unsigned char operation:6;
} __attribute__ ((packed)) operation;
struct {
unsigned char length_valid:1;
unsigned char length_scope:1;
unsigned char imbedded_ccw_valid:1;
unsigned char check_bytes:2;
unsigned char imbedded_count_valid:1;
unsigned char reserved:1;
unsigned char read_count_suffix:1;
} __attribute__ ((packed)) auxiliary;
__u8 imbedded_ccw;
__u8 count;
struct ch_t seek_addr;
struct chr_t search_arg;
__u8 sector;
__u16 length;
__u8 imbedded_count;
__u8 extended_operation;
__u16 extended_parameter_length;
__u8 extended_parameter[];
Annotation
- Detected declarations: `struct eckd_count`, `struct ch_t`, `struct chr_t`, `struct DE_eckd_data`, `struct LO_eckd_data`, `struct LRE_eckd_data`, `struct PFX_eckd_data`, `struct dasd_eckd_characteristics`, `struct dasd_ned`, `struct dasd_sneq`.
- Atlas domain: Driver Families / drivers/s390.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.