STRUCT MPT3_DIAG_REGISTER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mpt3_diag_register(9) β€” the Kernel API Manual tea πŸŽ€

okay so bestie, welcome to the struct mpt3_diag_register(9) page from the Kernel API Manual ✨ this is the one where we register an application with the driver, and honestly? it's giving "VIP list at the firmware club" 🫢


🌸 NAME 🌸

struct mpt3_diag_register β€” application register with driver πŸ’–

Let's break down every single field so you're not out here confused in the group chat:

  • @hdr β€” generic header
  • @reserved β€” reserved (yes, it's just vibing there, don't touch it πŸ’€)
  • @buffer_type β€” specifies either TRACE, SNAPSHOT, or EXTENDED
  • @application_flags β€” misc flags
  • @diagnostic_flags β€” specifies flags affecting command processing
  • @product_specific β€” product specific information
  • @requested_buffer_size β€” buffers size in bytes
  • @unique_id β€” tag specified by application that is used to signal ownership of the buffer

no cap, that's the whole roster πŸ‘‘


✨ SYNOPSIS ✨

struct mpt3_diag_register {
    struct mpt3_ioctl_header hdr;
    uint8_t reserved;
    uint8_t buffer_type;
    uint16_t application_flags;
    uint32_t diagnostic_flags;
    uint32_t product_specific[MPT3_PRODUCT_SPECIFIC_DWORDS];
    uint32_t requested_buffer_size;
    uint32_t unique_id;
 };

like, look at her. iconic. main character struct energy 🌈


πŸ¦‹ Members πŸ¦‹

this is where the members live β€” all the deets for each field are spelled out up in NAME, so scroll back up if you skipped it (and I know some of you skipped it πŸ™ˆ). @hdr, @reserved, @buffer_type, @application_flags, @diagnostic_flags, @product_specific, @requested_buffer_size, @unique_id β€” every single one, accounted for πŸ’œ


πŸ“ Description πŸ“

This will allow the driver to setup any required buffers that will be needed by firmware to communicate with the driver. literally that's the whole point, and it ate πŸ”₯


🌟 SEE ALSO 🌟

go read the whole friend group, they're all linked πŸ’«

Kernel file ./drivers/scsi/mpt3sas/mpt3sas_ctl.h:

  • struct mpt3_ioctl_header(9)
  • struct mpt3_ioctl_diag_reset(9)
  • struct mpt3_ioctl_pci_info(9)
  • struct mpt3_ioctl_iocinfo(9)
  • struct mpt3_ioctl_eventquery(9)
  • struct mpt3_ioctl_eventenable(9)
  • struct MPT3_IOCTL_EVENTS(9)
  • struct mpt3_ioctl_eventreport(9)
  • struct mpt3_ioctl_command(9)
  • struct mpt3_ioctl_btdh_mapping(9)
  • struct mpt3_diag_unregister(9)
  • struct mpt3_diag_query(9)
  • struct mpt3_diag_release(9)
  • struct mpt3_diag_read_buffer(9)
  • struct mpt3_addnl_diag_query(9)
  • struct mpt3_enable_diag_sbr_reload(9)
  • struct mpt3_passthru_command(9)

πŸ’– cute sign-off time: this page came from ./drivers/scsi/mpt3sas, dated October 2026, and it's still titled struct mpt3_diag_register(9) because we keep the branding consistent, periodt πŸ‘‘βœ¨
πŸ“¦ where this page comes from