STRUCT DVB_DEVICE(9)
π¦ struct dvb_device β represents a DVB device node
okay so this is the Kernel API Manual page for struct dvb_device(9), and it's literally the blueprint for a DVB device node. bestie, it's giving kernel-core main character energy π
πΈ NAME
struct dvb_device β represents a DVB device node π
β¨ SYNOPSIS
struct dvb_device {
struct list_head list_head;
struct kref ref;
const struct file_operations *fops;
struct dvb_adapter *adapter;
enum dvb_device_type type;
int minor;
u32 id;
int readers;
int writers;
int users;
wait_queue_head_t wait_queue;
int (*kernel_ioctl)(struct file *file, unsigned int cmd, void *arg);
#if defined(CONFIG_MEDIA_CONTROLLER_DVB);
const char *name;
struct media_intf_devnode *intf_devnode;
unsigned tsout_num_entities;
struct media_entity *entity, *tsout_entity;
struct media_pad *pads, *tsout_pads;
#endif;
void *priv;
};
π Members
the whole cast, no skips, fr fr:
list_headβ List head with all DVB devices. the group-chat roster, basically πrefβ reference count for this device.fopsβ pointer tostruct file_operations.adapterβ pointer to the adapter that holds this device node.typeβ type of the device, as defined byenum dvb_device_type.minorβ devnode minor number. Major number is alwaysDVB_MAJOR.idβ device ID number, inside the adapter.readersβ Initialized by the caller. Each call toopenin Read Only mode decreases this counter by one.writersβ Initialized by the caller. Each call toopenin Read/Write mode decreases this counter by one.usersβ Initialized by the caller. Each call toopenin any mode decreases this counter by one.wait_queueβ wait queue, used to wait for certain events inside one of the DVB API callers.kernel_ioctlβ callback function used to handle ioctl calls from userspace.nameβ Name to be used for the device at the Media Controller.intf_devnodeβ Pointer tomedia_intf_devnode. Used by thedvbdevcore to store the MC device node interface.tsout_num_entitiesβ Number of Transport Stream output entities.entityβ pointer tostruct media_entityassociated with the device node.tsout_entityβ array with MC entities associated to each TS output node.padsβ pointer tostruct media_padassociated with entity;tsout_padsβ array with the source pads for eachtsout_entity.privβ private data.
π« Description
This structure is used by the DVB core (frontend, CA, net, demux) in order to create the device nodes. Usually, driver should not initialize this struct diretly.
that's the exact spelling from the page, bestie β diretly stays π no cap.
π₯ SEE ALSO
Kernel file ./include/media/dvbdev.h, plus the whole friend group:
enum dvb_device_type(9)struct dvb_adapter(9)struct dvbdevfops_node(9)dvb_device_get(9)dvb_device_put(9)dvb_register_adapter(9)dvb_unregister_adapter(9)dvb_register_device(9)dvb_remove_device(9)dvb_unregister_device(9)dvb_create_media_graph(9)dvb_register_media_controller(9)dvb_get_media_controller(9)dvb_generic_open(9)dvb_generic_release(9)dvb_generic_ioctl(9)dvb_usercopy(9)dvb_module_probe(9)dvb_module_release(9)dvb_attach(9)dvb_detach(9)
okay byeeee π«Ά source/version vibes: ./include/media, date: October 2026, manual: struct dvb_device(9) from the Kernel API Manual. mwah πβ¨
π¦ 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