STRUCT DVB_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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 to struct file_operations.
  • adapter β€” pointer to the adapter that holds this device node.
  • type β€” type of the device, as defined by enum dvb_device_type.
  • minor β€” devnode minor number. Major number is always DVB_MAJOR.
  • id β€” device ID number, inside the adapter.
  • readers β€” Initialized by the caller. Each call to open in Read Only mode decreases this counter by one.
  • writers β€” Initialized by the caller. Each call to open in Read/Write mode decreases this counter by one.
  • users β€” Initialized by the caller. Each call to open in 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 to media_intf_devnode. Used by the dvbdev core to store the MC device node interface.
  • tsout_num_entities β€” Number of Transport Stream output entities.
  • entity β€” pointer to struct media_entity associated with the device node.
  • tsout_entity β€” array with MC entities associated to each TS output node.
  • pads β€” pointer to struct media_pad associated with entity;
  • tsout_pads β€” array with the source pads for each tsout_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:


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