STRUCT FWCTL_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” this page is all about struct fwctl_info, which is literally the struct you hand to ioctl(FWCTL_INFO). no cap, that's the whole vibe 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct fwctl_info {
    __u32 size;
    __u32 flags;
    __u32 out_device_type;
    __u32 device_data_len;
    __aligned_u64 out_device_data;
 };

🌸 Members 🌸

  • size β€” it's giving sizeof(struct fwctl_info). that's it, that's the field πŸ’…
  • flags β€” must be 0. not "should be", not "hey maybe", must. zero it out, periodt 🚫
  • out_device_type β€” on the way out, this returns the type of the device, straight from enum fwctl_device_type. iykyk πŸ‘‘
  • device_data_len β€” on input, this is the length of the out_device_data memory. on output, it's the size of the kernel's device_data, which may be larger or smaller than the input 😭 β€” so check it! it can be 0 on input, bestie πŸ’€
  • out_device_data β€” a pointer to memory that's device_data_len bytes long. the kernel will fill the entire memory, zeroing as required. every byte accounted for, slay ✨

πŸ’– Description πŸ’–

so this ioctl returns the basic info about this here fwctl instance β€” most importantly, what driver is being used to define the device_data format. that's the main character detail you're here for 🌟


πŸ¦‹ SEE ALSO πŸ¦‹

  • the kernel file ./include/uapi/fwctl/fwctl.h (go read it, it's iconic)
  • General ioctl format(9)
  • enum fwctl_rpc_scope(9)
  • struct fwctl_rpc(9)

and that's the page, bestie!! πŸ“ this little beauty lives out of ./include/uapi/fwctl and it's stamped October 2026 β€” go forth and ioctl responsibly, mwah πŸ’œπŸ§š

πŸ“¦ where this page comes from