STRUCT UTP_UPIU_QUERY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct utp_upiu_query(9) β€” the QUERY REQUEST UPIU structure, living in the Kernel API Manual (section 9). Okay so bestie, this is the struct that handles query request UPIU energy, and we are about to go member by member with zero skips. No cap. πŸ’…

✨ SYNOPSIS ✨

struct utp_upiu_query {
    __u8 opcode;
    __u8 idn;
    __u8 index;
    __u8 selector;
    __be16 reserved_osf;
    __be16 length;
    __be32 value;
    __be32 reserved[2];
};

🌸 Members 🌸

  • opcode β€” query function to perform, B-0. The main-character instruction of the whole vibe. πŸ‘‘
  • idn β€” descriptor or attribute identification number, B-1. It literally tells you which descriptor or attribute we are talking about. πŸ¦‹
  • index β€” Index that further identifies which data to access, B-2. Extra specificity, periodt. ✨
  • selector β€” Index that further identifies which data to access, B-3. Same energy as index, different field, no cap. πŸ’…
  • reserved_osf β€” spec reserved field, B-4,5. Not for us to touch, bestie. πŸ™ˆ
  • length β€” number of descriptor bytes to read or write, B-6,7. Like, how many bytes are we moving? Important. πŸŽ€
  • value β€” if opcode == UPIU_QUERY_OPCODE_WRITE_ATTR, the value to be written, B-6,7. That conditional is giving β€œonly when we are writing an attr” realness. πŸ”₯
  • reserved β€” reserved for future use, DW-6,7. Future-us will handle it. ⭐

πŸ¦‹ SEE ALSO πŸ¦‹

Go check these out too, iykyk:

  • Kernel file ./include/uapi/scsi/scsi_bsg_ufs.h
  • struct utp_upiu_header(9)
  • struct utp_upiu_query_v4_0(9)
  • struct utp_upiu_cmd(9)
  • struct utp_upiu_req(9)

Okay bestie, that is the whole page! Source/version vibe: ./include/uapi/scsi, dated October 2026. Go be iconic with your UPIU queries, and catch u later! πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from