STRUCT DVB_USB_DEVICE_PROPERTIES(9)
π NAME π
struct dvb_usb_device_properties β properties of a dvb-usb-device. Bestie, welcome to the Kernel API Manual page for struct dvb_u...e_properties(9) β yes, the header truncates it like that, and honestly? Iconic.
β¨ SYNOPSIS β¨
okay so here is the whole struct, no cap:
struct dvb_usb_device_properties {
#define MAX_NO_OF_ADAPTER_PER_DEVICE 2;
#define DVB_USB_IS_AN_I2C_ADAPTER 0x01;
int caps;
#define DEVICE_SPECIFIC 0;
#define CYPRESS_AN2135 1;
#define CYPRESS_AN2235 2;
#define CYPRESS_FX2 3;
int usb_ctrl;
int (*download_firmware) (struct usb_device *, const struct firmware
*);
const char *firmware;
int no_reconnect;
int size_of_priv;
int (*priv_init)(struct dvb_usb_device *);
void (*priv_destroy)(struct dvb_usb_device *);
int num_adapters;
struct dvb_usb_adapter_properties
adapter[MAX_NO_OF_ADAPTER_PER_DEVICE];
int (*power_ctrl) (struct dvb_usb_device *, int);
int (*read_mac_address) (struct dvb_usb_device *, u8 []);
int (*identify_state)(struct usb_device *udev, const struct
dvb_usb_device_properties *props, const struct
dvb_usb_device_description **desc, int *cold);
struct {
enum dvb_usb_mode mode;
struct dvb_rc_legacy legacy;
struct dvb_rc core;
} rc;
const struct i2c_algorithm *i2c_algo;
int generic_bulk_ctrl_endpoint;
int generic_bulk_ctrl_endpoint_response;
int num_device_descs;
struct dvb_usb_device_description devices[12];
};
π Members π
capsβ capabilities. cute little capability field, slay.usb_ctrlβ which USB device-side controller is in use. Itβs needed for firmware download, periodt.download_firmwareβ called to download the firmware when theusb_ctrlisDEVICE_SPECIFIC.firmwareβ name of the firmware file.no_reconnectβ device doesn't do a reconnect after downloading the firmware, so do the warm initialization right after it.size_of_privβ how many bytes shall be allocated for the private field ofstruct dvb_usb_device.priv_initβ optional callback to initialize the variable that private field ofstruct dvb_usb_devicehas pointer to just after it had been allocated and zeroed.priv_destroyβ just likepriv_init, only called before deallocating the memory pointed by private field ofstruct dvb_usb_device.num_adaptersβ the number of adapters in adapters.adapterβ the adapters.power_ctrlβ called to enable/disable power of the device.read_mac_addressβ called to read the MAC address of the device.identify_stateβ called to determine the state (cold or warm), when it is not distinguishable by the USB IDs.rcβ remote controller properties.i2c_algoβi2c_algorithmif the device has I2CoverUSB.generic_bulk_ctrl_endpointβ most of the DVB USB devices have a generic endpoint which received control messages with bulk transfers. When this is non-zero, one can usedvb_usb_generic_rwanddvb_usb_generic_write- helper functions.generic_bulk_ctrl_endpoint_responseβ some DVB USB devices use a separate endpoint for responses to control messages sent with bulk transfers via thegeneric_bulk_ctrl_endpoint. When this is non-zero, this will be used instead of thegeneric_bulk_ctrl_endpointwhen reading usb responses in thedvb_usb_generic_rwhelper function.num_device_descsβ number ofstruct dvb_usb_device_descriptionindevices.devicesβ array ofstruct dvb_usb_device_descriptioncompatibles with these properties.
π SEE ALSO π
Kernel file ./drivers/media/usb/dvb-usb/dvb-usb.h is the source-file main character. The SEE ALSO crew, in order:
struct dvb_usb_device_description(9)struct dvb_usb_adapter_fe_properties(9)struct dvb_rc_legacy(9)struct dvb_rc(9)enum dvb_usb_mode(9)struct usb_data_stream(9)struct dvb_usb_fe_adapter(9)struct dvb_usb_adapter(9)struct dvb_usb_device(9)
Catch u later, bestie π«Ά β this pageβs source is ./drivers/media/usb/dvb-usb, its date stamp is October 2026, and the footer title is struct dvb_u...e_properties(9). π
β¨
π¦ 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