STRUCT LEAPRAID_SAS_IO_UNIT_P0(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct leapraid_sas_io_unit_p0(9) β€” the Kernel API manual, bestie edition πŸŽ€

okay so picture this: you're deep in the kernel, you crack open the API manual β€” yeah, the Kernel API Manual one β€” and this lil cutie is sitting right there. It's struct leapraid_sas_io_unit_p0, and it's literally the SAS I/O unit configuration page 0. That's the whole vibe. Page zero. Main character energy from the jump. ✨


🌸 NAME 🌸

struct leapraid_sas_io_unit_p0 β€” the SAS I/O unit configuration page 0. iconic, no notes πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct leapraid_sas_io_unit_p0 {
    struct leapraid_cfg_ext_pg_header header;
    u8 r1[4];
    u8 phy_num;
    u8 r2[3];
    struct leapraid_sas_io_unit0_phy_info phy_info[];
};

look at her. struct definition copied exactly, not a single character touched, because we respect the source 🫢


πŸŽ€ Members πŸŽ€

okay bestie let's go field by field, no skipping, we do NOT skip fields in this house πŸ’–

  • header β€” it's the extended configuration page header. the extended one. not the regular one. don't get it twisted πŸ”₯
  • r1 β€” reserved. it's giving "please don't touch" 🚫 literally reserved, leave her alone.
  • phy_num β€” the number of PHYs in this unit. a u8, so it's out here counting PHYs, doing its little job πŸ’œ
  • r2 β€” reserved again. yes there's two reserved gaps. yes that's normal. lowkey iconic that they're both just vibing there πŸ™ˆ
  • phy_info β€” array of PHY information. note the [] β€” it's a flexible array member, so it trails off the end of the struct into whatever comes next. she's open-ended, she's mysterious, she contains multitudes πŸ¦‹

🌈 SEE ALSO 🌈

grab a snack because this list is LONG and every single one of these deserves a shoutout. first up, the kernel file herself:

  • Kernel file ./drivers/scsi/leapraid/leapraid.h

and now, the whole extended family πŸ’– (in order, bestie, don't @ me):

  • struct leapraid_reg_base(9)
  • struct leapraid_atomic_req_desc(9)
  • union leapraid_rep_desc_union(9)
  • struct leapraid_req(9)
  • struct leapraid_rep(9)
  • struct leapraid_sge_simple32(9)
  • struct leapraid_sge_simple64(9)
  • struct leapraid_sge_simple_union(9)
  • struct leapraid_sge_chain_union(9)
  • struct leapraid_ieee_sge_simple32(9)
  • struct leapraid_ieee_sge_simple64(9)
  • union leapraid_ieee_sge_simple_union(9)
  • union leapraid_ieee_sge_chain_union(9)
  • struct leapraid_chain64_ieee_sg(9)
  • union leapraid_ieee_sge_io_union(9)
  • union leapraid_simple_sge_union(9)
  • union leapraid_sge_io_union(9)
  • struct leapraid_cfg_pg_header(9)
  • struct leapraid_cfg_ext_pg_header(9)
  • struct leapraid_cfg_req(9)
  • struct leapraid_cfg_rep(9)
  • struct leapraid_boot_dev_format_sas_wwid(9)
  • struct leapraid_boot_dev_format_enc_slot(9)
  • struct leapraid_boot_dev_format_dev_name(9)
  • union leapraid_boot_dev_format(9)
  • struct leapraid_manufacturing_p0(9)
  • struct leapraid_bios_page2(9)
  • struct leapraid_bios_page3(9)
  • struct leapraid_raidvol0_phys_disk(9)
  • struct leapraid_raidvol_p0(9)
  • struct leapraid_raidvol_p1(9)
  • struct leapraid_raidpd_p0(9)
  • struct leapraid_sas_io_unit0_phy_info(9) ← the lil sibling of the phy_info array above, go read her next πŸ’«
  • struct leapraid_exp_p0(9)
  • struct leapraid_exp_p1(9)
  • struct leapraid_sas_dev_p0(9)
  • struct leapraid_sas_phy_p0(9)
  • struct leapraid_enc_p0(9)
  • struct leapraid_raid_cfg_p0_element(9)
  • struct leapraid_raid_cfg_p0(9)
  • union leapraid_mpi_scsi_io_cdb_union(9)
  • struct leapraid_mpi_scsiio_req(9)
  • union leapraid_scsi_io_cdb_union(9)
  • struct leapraid_scsiio_req(9)
  • struct leapraid_scsiio_rep(9)
  • struct leapraid_scsi_tm_req(9)
  • struct leapraid_scsi_tm_rep(9)
  • struct leapraid_sep_req(9)
  • struct leapraid_sep_rep(9)
  • struct leapraid_adapter_init_req(9)
  • struct leapraid_rep_desc_q_arr(9)
  • struct leapraid_adapter_init_rep(9)
  • struct leapraid_adapter_log_req(9)
  • struct leapraid_adapter_log_rep(9)
  • struct leapraid_adapter_features_req(9)
  • struct leapraid_adapter_features_rep(9)
  • struct leapraid_scan_dev_req(9)
  • struct leapraid_scan_dev_rep(9)
  • struct leapraid_evt_notify_req(9)
  • struct leapraid_evt_notify_rep(9)
  • struct leapraid_evt_data_sas_dev_status_change(9)
  • struct leapraid_evt_data_ir_change(9)
  • struct leapraid_evt_data_sas_disc(9)
  • struct leapraid_evt_sas_topo_phy_entry(9)
  • struct leapraid_evt_data_sas_topo_change_list(9)
  • struct leapraid_evt_data_sas_enc_dev_status_change(9)
  • struct leapraid_io_unit_ctrl_req(9)
  • struct leapraid_io_unit_ctrl_rep(9)
  • struct leapraid_raid_act_req(9)
  • struct leapraid_raid_act_rep(9)
  • struct leapraid_smp_passthrough_req(9)
  • struct leapraid_smp_passthrough_rep(9)
  • struct leapraid_sas_io_unit_ctrl_req(9)

that's the whole page, bestie, nothing cut, nothing merged, nothing invented. iykyk 🧚

signed off with love from ./drivers/scsi/leapraid, dated October 2026 β€” and yes, the page header up top and the footer down there were the same manual name, we just folded it in so it looks cute πŸ’œ ⭐

πŸ“¦ where this page comes from