STRUCT DVB_USB_ADAPTER_FE_PROPERTIES(9)
π struct dvb_usb_adapter_fe_properties(9) β Kernel API Manual π
okay bestie, welcome to the manual page for struct dvb_usb_adapter_fe_properties, straight out of the Kernel API Manual. yes, the name is a mouthful, no, we're not changing it. β¨
πΈ NAME πΈ
struct dvb_usb_adapter_fe_properties β the properties of a dvb-usb-adapter. and like, what is a dvb-usb-adapter? literally just a dvb_adapter that's chilling on a USB-device. that's the whole vibe. π¦
β¨ SYNOPSIS β¨
struct dvb_usb_adapter_fe_properties {
#define DVB_USB_ADAP_HAS_PID_FILTER 0x01;
#define DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF 0x02;
#define DVB_USB_ADAP_NEED_PID_FILTERING 0x04;
#define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08;
#define DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD 0x10;
int caps;
int pid_filter_count;
int (*streaming_ctrl) (struct dvb_usb_adapter *, int);
int (*pid_filter_ctrl) (struct dvb_usb_adapter *, int);
int (*pid_filter) (struct dvb_usb_adapter *, int, u16, int);
int (*frontend_attach) (struct dvb_usb_adapter *);
int (*tuner_attach) (struct dvb_usb_adapter *);
struct usb_data_stream_properties stream;
int size_of_priv;
};
like, just look at it. five #defines, a pile of function pointers, and a size_of_priv at the end for good measure. iconic. π
π«Ά Members π«Ά
here's the member-by-member breakdown, no gatekeeping:
capsβ the capabilities of the DVB USB device. this is where thoseDVB_USB_ADAP_*flags from up top actually live.pid_filter_countβ the number of PID filter positions in the optional hardware PID-filter. optional!! so don't come for it if it's not there. πstreaming_ctrlβ called to start and stop the MPEG2-TS streaming of the device. and note, bestie: this is not URB submitting/killing. this callback gets called while no data URBs are active β data URBs get submitted only afterstreaming_ctrl(1)returns successfully, and they get killed beforestreaming_ctrl(0)is called. the ordering is not a suggestion, it's the whole point. βpid_filter_ctrlβ called to en/disable the PID filter, if any. "if any" doing a lot of work there but okay. πpid_filterβ called to set/unset a PID for filtering. that's it, that's the job.frontend_attachβ called to attach the possible frontends, and it fills the fe-field ofstruct dvb_usb_device. possible frontends, plural, because why would anything be simple. πtuner_attachβ called to attach the correct tuner, and to fillpll_addr,pll_descandpll_init_bufofstruct dvb_usb_device. three fields, one callback, main character energy fr. π₯streamβ configuration of the USB streaming, typed asstruct usb_data_stream_properties.size_of_privβ the size of the priv memory instruct dvb_usb_adapter. yes you have to say it out loud, the allocator is listening. π
π SEE ALSO π
go read the Kernel file ./drivers/media/usb/dvb-usb/dvb-usb.h and then go down this little list, in this order, because that's how it's written and we respect the source:
struct dvb_usb_device_description(9)struct dvb_rc_legacy(9)struct dvb_rc(9)enum dvb_usb_mode(9)struct dvb_usb_device_properties(9)struct usb_data_stream(9)struct dvb_usb_fe_adapter(9)struct dvb_usb_adapter(9)struct dvb_usb_device(9)
and that's the page!! π this little beauty comes to you from ./drivers/media/usb/dvb-usb, dated October 2026, and it's filed under the ever-mysterious struct dvb_u...e_properties(9) in your Kernel API Manual. mwah, go write some drivers, ily. ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms