STRUCT F_RNDIS_OPTS(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

โœจ struct f_rndis_opts(9) โœจ

okay so bestie, this is the Kernel API Manual entry for struct f_rndis_opts โ€” it's giving โ€œRNDIS function optionsโ€ and we're gonna go through every single field, no cap. ๐Ÿ’…


๐Ÿ’– NAME ๐Ÿ’–

struct f_rndis_opts โ€” RNDIS function options ๐Ÿซถ


โœจ SYNOPSIS โœจ

struct f_rndis_opts {
    struct usb_function_instance    func_inst;
    u32 vendor_id;
    const char                      *manufacturer;
    struct net_device               *net;
    int bind_count;
    bool borrowed_net;
    struct config_group             *rndis_interf_group;
    struct usb_os_desc              rndis_os_desc;
    char rndis_ext_compat_id[16];
    u8 class;
    u8 subclass;
    u8 protocol;
    struct mutex                    lock;
    int refcnt;
 };

๐ŸŽ€ Members ๐ŸŽ€

  • func_inst โ€” the USB function instance, literally the main character of this struct. ๐Ÿ’ซ
  • vendor_id โ€” the Vendor ID. iconic number behavior. ๐Ÿ”ฅ
  • manufacturer โ€” the Manufacturer string, cute little text pointer. ๐ŸŽ€
  • net โ€” the net_device associated with the RNDIS function. the whole networking vibe lives here. ๐ŸŒ
  • bind_count โ€” tracks the number of configurations the RNDIS function is bound to, and it prevents double-registration of the net device. no duplicate era allowed. ๐Ÿšซ
  • borrowed_net โ€” true if the net_device is shared and pre-registered during the legacy composite driver's bind phase (e.g., multi.c). if false, the RNDIS function will register the net_device during its own bind phase. borrow responsibly, bestie. ๐Ÿซถ
  • rndis_interf_group โ€” the ConfigFS group for the RNDIS interface. group-chat but make it ConfigFS. ๐Ÿ’ฌ
  • rndis_os_desc โ€” the USB OS descriptor for RNDIS. very descriptor, very USB. โœจ
  • rndis_ext_compat_id โ€” the Extended compatibility ID. fancy name, fancy field. ๐Ÿ’…
  • class โ€” the USB class. โญ
  • subclass โ€” the USB subclass. yes, it's a whole sub-vibe. ๐Ÿฆ‹
  • protocol โ€” the USB protocol. rules are rules. ๐Ÿ“œ
  • lock โ€” protects the data from concurrent access by configfs read/write and create symlink/remove symlink operations. it's the bouncer at the club, fr fr. ๐Ÿ”’
  • refcnt โ€” reference counter for the function instance. count the refs, bestie. ๐Ÿงฎ

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

  • Kernel file ./drivers/usb/gadget/function/u_rndis.h โ€” go read it, iykyk. ๐Ÿ“–

mwah ๐Ÿ’‹ โ€” that's the whole page, and it came from the Kernel API Manual, with source/version ./drivers/usb/gadget/function, dated October 2026, and it's literally titled struct f_rndis_opts(9). periodt. ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from