STRUCT LEAPRAID_ADAPTER_INIT_REP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct leapraid_adapter_init_rep β€” Adapter initialization reply πŸ’–

Okay bestie, so this is a Kernel API Manual page (struct leapr...ter_init_rep(9)) and it's literally just one struct β€” the reply you get back when an adapter finishes initializing. Short page, but every byte matters, so let's go 🫢


✨ NAME ✨

struct leapraid_adapter_init_rep β€” Adapter initialization reply. That's it, that's the whole vibe. It's the response half of adapter init, the "we're so back" message. πŸ¦‹


🌸 SYNOPSIS 🌸

Here's the whole thing, character for character, no cap:

struct leapraid_adapter_init_rep {
    u8 who_init;
    u8 r1;
    u8 msg_len;
    u8 func;
    u8 r2[3];
    u8 msg_flag;
    u8 r3[6];
    __le16 adapter_status;
    u8 r4[4];
 };

Lowkey obsessed with how tidy that is. Look at all those reserved fields just sitting there holding space. πŸ’…


πŸŽ€ Members πŸŽ€

Let's meet the cast, field by field, in order:

  • who_init β€” the initiator of the initialization. Like, who even started this? This field. πŸ‘‘
  • r1 β€” reserved. Not for you, bestie. πŸ™ˆ
  • msg_len β€” length of the reply message. It tells you how long the message is. Iconic behaviour honestly.
  • func β€” the function code.
  • r2 β€” reserved (it's a u8 r2[3], so three whole bytes of "nothing to see here").
  • msg_flag β€” the message flags.
  • r3 β€” reserved (u8 r3[6], six bytes of pure mystery 🧚).
  • adapter_status β€” the adapter status. This is the main character energy field, ngl. Typed __le16, exactly as the header spells it.
  • r4 β€” reserved (u8 r4[4], the last little reserved crew ⭐).
Heads up: those r1 through r4 fields are reserved. Do not touch, do not write, do not get creative. They're reserved for a reason and it's not you. πŸ’€

🌈 SEE ALSO 🌈

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

And now the friend group β€” the entire crew this thing runs with, in the order the page lists them:

  • 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)
  • struct leapraid_sas_io_unit_p0(9)
  • 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_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)
Fair warning: a casual man 9 on any of these will absolutely send you down a rabbit hole. Bring snacks. πŸ“

Okay that's the whole page, bestie β€” every field, every reserved byte, every single SEE ALSO sibling. Go read struct leapraid_adapter_init_req(9) next, it's the other half of this conversation, iykyk ✨

Laterz! πŸ’œ This came from the ./drivers/scsi/leapraid source, dated October 2026, and it shall forever be known as struct leapr...ter_init_rep(9) πŸŽ€

πŸ“¦ where this page comes from