include/scsi/sas.h
Source file repositories/reference/linux-study-clean/include/scsi/sas.h
File Facts
- System
- Linux kernel
- Corpus path
include/scsi/sas.h- Extension
.h- Size
- 13097 bytes
- Lines
- 724
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hasm/byteorder.h
Detected Declarations
struct dev_to_host_fisstruct host_to_dev_fisstruct sas_identify_framestruct ssp_frame_hdrstruct ssp_response_iustruct ssp_command_iustruct xfer_rdy_iustruct ssp_tmf_iustruct report_general_respstruct discover_respstruct report_phy_sata_respstruct sas_identify_framestruct ssp_frame_hdrstruct ssp_response_iustruct ssp_command_iustruct xfer_rdy_iustruct ssp_tmf_iustruct report_general_respstruct discover_respstruct report_phy_sata_respstruct smp_rg_respstruct smp_disc_respstruct smp_rps_respenum sas_oob_modeenum sas_device_typeenum sas_protocolenum phy_funcenum sas_primenum sas_open_rej_reasonenum sas_gpio_reg_type
Annotated Snippet
struct dev_to_host_fis {
u8 fis_type; /* 0x34 */
u8 flags;
u8 status;
u8 error;
u8 lbal;
union { u8 lbam; u8 byte_count_low; };
union { u8 lbah; u8 byte_count_high; };
u8 device;
u8 lbal_exp;
u8 lbam_exp;
u8 lbah_exp;
u8 _r_a;
union { u8 sector_count; u8 interrupt_reason; };
u8 sector_count_exp;
u8 _r_b;
u8 _r_c;
u32 _r_d;
} __attribute__ ((packed));
struct host_to_dev_fis {
u8 fis_type; /* 0x27 */
u8 flags;
u8 command;
u8 features;
u8 lbal;
union { u8 lbam; u8 byte_count_low; };
union { u8 lbah; u8 byte_count_high; };
u8 device;
u8 lbal_exp;
u8 lbam_exp;
u8 lbah_exp;
u8 features_exp;
union { u8 sector_count; u8 interrupt_reason; };
u8 sector_count_exp;
u8 _r_a;
u8 control;
u32 _r_b;
} __attribute__ ((packed));
/* Prefer to have code clarity over header file clarity.
*/
#ifdef __LITTLE_ENDIAN_BITFIELD
struct sas_identify_frame {
/* Byte 0 */
u8 frame_type:4;
u8 dev_type:3;
u8 _un0:1;
/* Byte 1 */
u8 _un1;
/* Byte 2 */
union {
struct {
u8 _un20:1;
u8 smp_iport:1;
u8 stp_iport:1;
u8 ssp_iport:1;
u8 _un247:4;
};
u8 initiator_bits;
};
/* Byte 3 */
union {
struct {
u8 _un30:1;
u8 smp_tport:1;
u8 stp_tport:1;
u8 ssp_tport:1;
u8 _un347:4;
};
u8 target_bits;
};
/* Byte 4 - 11 */
u8 _un4_11[8];
/* Byte 12 - 19 */
u8 sas_addr[SAS_ADDR_SIZE];
Annotation
- Immediate include surface: `linux/types.h`, `asm/byteorder.h`.
- Detected declarations: `struct dev_to_host_fis`, `struct host_to_dev_fis`, `struct sas_identify_frame`, `struct ssp_frame_hdr`, `struct ssp_response_iu`, `struct ssp_command_iu`, `struct xfer_rdy_iu`, `struct ssp_tmf_iu`, `struct report_general_resp`, `struct discover_resp`.
- Atlas domain: Repository Root And Misc / include.
- 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.