descriptors(3)

πŸ“¦
version 1.32.0 Β· 2 versions
, in fedora 43

πŸ’– descriptors(3) β€” Library Functions Manual πŸ’–

✨ NAME ✨

descriptors β€” parsers for several MPEG-TS descriptors. That's the whole vibe, bestie: these are the parsers for a bunch of MPEG-TS descriptors. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

πŸ“ Files πŸ“

  • desc_atsc_service_location.h β€” provides the descriptors for ATSC service location. ✨
  • desc_ca.h β€” provides the descriptors for Conditional Access. πŸ”
  • desc_ca_identifier.h β€” provides the descriptors for the Conditional Access identifier. πŸ†”
  • desc_cable_delivery.h β€” provides the descriptors for the cable delivery system descriptor. 🧡
  • desc_event_extended.h β€” provides the descriptors for the extended event descriptor. πŸ“…
  • desc_event_short.h β€” provides the descriptors for the short event descriptor. ⏳
  • desc_extension.h β€” provides the descriptors for the extension descriptor. 🧩
  • desc_frequency_list.h β€” provides the descriptors for the frequency list descriptor. πŸ“‘
  • desc_hierarchy.h β€” provides the descriptors for the hierarchy descriptor. πŸͺœ
  • desc_isdbt_delivery.h β€” provides the descriptors for the ISDB-T terrestrial delivery system. 🌍
  • desc_language.h β€” provides the descriptors for the ISO639 language descriptor. πŸ—£οΈ
  • desc_logical_channel.h β€” provides the descriptors for the LCN - Logican Channel Number. πŸ“Ί
  • desc_network_name.h β€” provides the descriptors for the network name descriptor. 🏷️
  • desc_partial_reception.h β€” provides the descriptors for the ISDB partial reception descriptor. πŸ“»
  • desc_registration_id.h β€” provides the descriptors for the registration descriptor. πŸ“
  • desc_sat.h β€” provides the descriptors for the satellite delivery system descriptor. πŸ›°οΈ
  • desc_service.h β€” provides the descriptors for the service descriptor. πŸ›ŽοΈ
  • desc_t2_delivery.h β€” provides the descriptors for the DVB-T2 delivery system descriptor. πŸ“Ά
  • desc_terrestrial_delivery.h β€” provides the descriptors for the DVB-T terrestrial delivery system descriptor. 🌱
  • desc_ts_info.h β€” provides the descriptors for the ISDB TS information descriptor. ℹ️

🧬 Data Structures 🧬

  • struct atsc_desc_service_location_elementary β€” service location elementary descriptors. 🌟
  • struct atsc_desc_service_location β€” describes the elementary streams inside a PAT table for ATSC. πŸ“Ί
  • struct dvb_desc_ca β€” contains the private data for Conditional Access. πŸ”’
  • struct dvb_desc_ca_identifier β€” indicates if a particular bouquet, service or event is associated with a CA system. πŸ’³
  • struct dvb_desc_cable_delivery β€” structure containing the cable delivery system descriptor. 🧡
  • struct dvb_desc_event_extended β€” structure containing the extended event descriptor. πŸ“†
  • struct dvb_desc_event_short β€” structure containing the short event descriptor. ⏱️
  • struct dvb_extension_descriptor β€” structure containing the extended descriptors. 🧩
  • struct dvb_ext_descriptor β€” structure that describes the parser functions for the extended descriptors. βš™οΈ
  • struct dvb_desc_frequency_list β€” struct containing the frequency list descriptor. πŸ“‘
  • struct dvb_desc_hierarchy β€” structure containing the hierarchy descriptor. πŸͺœ
  • struct isdbt_desc_terrestrial_delivery_system β€” struct containing the ISDB-T terrestrial delivery system. 🌍
  • struct dvb_desc_language β€” structure containing the ISO639 language descriptor. πŸ—£οΈ
  • struct dvb_desc_logical_channel_number β€” structure containing the logical channel number entires. πŸ“Ί
  • struct dvb_desc_logical_channel β€” structure containing the logical channel number descriptor. πŸ“Ί
  • struct dvb_desc_network_name β€” struct containing the network name descriptor. 🏷️
  • struct isdb_partial_reception_service_id β€” service ID that uses partial reception. πŸ“»
  • struct isdb_desc_partial_reception β€” structure containing the partial reception descriptor. πŸ“»
  • struct dvb_desc_registration β€” struct containing the frequency list descriptor. πŸ“
  • struct dvb_desc_sat β€” structure containing the satellite delivery system descriptor. πŸ›°οΈ
  • struct dvb_desc_service β€” structure containing the service descriptor. πŸ›ŽοΈ
  • struct dvb_desc_t2_delivery_subcell_old β€” structure to describe transponder subcell extension and frequencies. πŸ“Ά
  • struct dvb_desc_t2_delivery_subcell β€” structure to describe transponder subcell extension and frequencies. πŸ“Ά
  • struct dvb_desc_t2_delivery_cell β€” structure to describe transponder cells. πŸ“Ά
  • struct dvb_desc_t2_delivery β€” structure containing the T2 delivery system descriptor. πŸ“Ά
  • struct dvb_desc_terrestrial_delivery β€” structure containing the DVB-T terrestrial delivery system descriptor. 🌱
  • struct dvb_desc_ts_info_transmission_type β€” ISDB TS information transmission type. ℹ️
  • struct dvb_desc_ts_info β€” structure describing the ISDB TS information descriptor. ℹ️

🎚️ Enumerations 🎚️

  • enum extension_descriptors β€” list containing all extended descriptors used by Digital TV MPEG-TS as defined at ETSI EN 300 468 V1.11.1. 🌈
enum extension_descriptors {
    image_icon_descriptor,
    cpcm_delivery_signalling_descriptor,
    CP_descriptor,
    CP_identifier_descriptor,
    T2_delivery_system_descriptor,
    SH_delivery_system_descriptor,
    supplementary_audio_descriptor,
    network_change_notify_descriptor,
    message_descriptor,
    target_region_descriptor,
    target_region_name_descriptor,
    service_relocated_descriptor
}

✨ Functions ✨

okay bestie, here's the whole roster of descriptor functions πŸ’– every descriptor basically gets its lil squad of init / print / free (some of them skipped a member, and honestly? we respect the chaos πŸ’…). Signatures stay exactly as they are, no cap:

  • int atsc_desc_service_location_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the service location descriptor.
  • void atsc_desc_service_location_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the service location descriptor.
  • void atsc_desc_service_location_free (struct dvb_desc *desc) β€” Frees all data allocated by the service location descriptor.
  • int dvb_desc_ca_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the CA descriptor.
  • void dvb_desc_ca_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the CA descriptor.
  • void dvb_desc_ca_free (struct dvb_desc *desc) β€” Frees all data allocated by the CA descriptor.
  • int dvb_desc_ca_identifier_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the CA identifier descriptor.
  • void dvb_desc_ca_identifier_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the CA identifier descriptor.
  • void dvb_desc_ca_identifier_free (struct dvb_desc *desc) β€” Frees all data allocated by the CA identifier descriptor.
  • int dvb_desc_cable_delivery_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the service location descriptor.
  • void dvb_desc_cable_delivery_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the service location descriptor.
  • int dvb_desc_event_extended_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the extended event descriptor.
  • void dvb_desc_event_extended_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the extended event descriptor.
  • void dvb_desc_event_extended_free (struct dvb_desc *desc) β€” Frees all data allocated by the extended event descriptor.
  • int dvb_desc_event_short_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the short event descriptor.
  • void dvb_desc_event_short_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the short event descriptor.
  • void dvb_desc_event_short_free (struct dvb_desc *desc) β€” Frees all data allocated by the short event descriptor.
  • int dvb_extension_descriptor_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the extended descriptor.
  • void dvb_extension_descriptor_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the extended descriptor.
  • void dvb_extension_descriptor_free (struct dvb_desc *desc) β€” Frees all data allocated by the extended descriptor.
  • int dvb_desc_frequency_list_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the frequency list descriptor.
  • void dvb_desc_frequency_list_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the frequency list descriptor.
  • int dvb_desc_hierarchy_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the hierarchy descriptor.
  • void dvb_desc_hierarchy_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the hierarchy descriptor.
  • int isdbt_desc_delivery_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the ISDB-T terrestrial delivery system descriptor.
  • void isdbt_desc_delivery_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the ISDB-T terrestrial delivery system descriptor.
  • void isdbt_desc_delivery_free (struct dvb_desc *desc) β€” Frees all data allocated by the ISDB-T terrestrial delivery system descriptor.
  • int dvb_desc_language_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the language descriptor.
  • void dvb_desc_language_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the language descriptor.
  • int dvb_desc_logical_channel_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the logical channel number descriptor.
  • void dvb_desc_logical_channel_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the logical channel number descriptor.
  • void dvb_desc_logical_channel_free (struct dvb_desc *desc) β€” Frees all data allocated by the logical channel number descriptor.
  • int dvb_desc_network_name_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the network name descriptor.
  • void dvb_desc_network_name_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the network name descriptor.
  • void dvb_desc_network_name_free (struct dvb_desc *desc) β€” Frees all data allocated by the network name descriptor.
  • int isdb_desc_partial_reception_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the ISDB-T partial reception descriptor.
  • void isdb_desc_partial_reception_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the ISDB-T partial reception descriptor.
  • void isdb_desc_partial_reception_free (struct dvb_desc *desc) β€” Frees all data allocated by the ISDB-T partial reception descriptor.
  • int dvb_desc_registration_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the registration descriptor.
  • void dvb_desc_registration_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the registration descriptor.
  • void dvb_desc_registration_free (struct dvb_desc *desc) β€” Frees all data allocated by the registration descriptor.
  • int dvb_desc_sat_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the satellite delivery system descriptor.
  • void dvb_desc_sat_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the satellite delivery system descriptor.
  • int dvb_desc_service_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the service descriptor.
  • void dvb_desc_service_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the service descriptor.
  • void dvb_desc_service_free (struct dvb_desc *desc) β€” Frees all data allocated by the service descriptor.
  • int dvb_desc_t2_delivery_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_extension_descriptor *ext, void *desc) β€” Initializes and parses the T2 delivery system descriptor.
  • void dvb_desc_t2_delivery_print (struct dvb_v5_fe_parms *parms, const struct dvb_extension_descriptor *ext, const void *desc) β€” Prints the content of the T2 delivery system descriptor.
  • void dvb_desc_t2_delivery_free (const void *desc) β€” Frees all data allocated by the T2 delivery system descriptor.
  • void dvb_desc_terrestrial_delivery_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the DVB-T terrestrial delivery system descriptor.
  • int dvb_desc_ts_info_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc) β€” Initializes and parses the ISDB TS information descriptor.
  • void dvb_desc_ts_info_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc) β€” Prints the content of the ISDB TS information descriptor.
  • void dvb_desc_ts_info_free (struct dvb_desc *desc) β€” Frees all data allocated by the ISDB TS information descriptor.

πŸ“– Detailed Description πŸ“–

nothing extra to unpack right here, bestie β€” the real lore is in the sections below πŸ‘‡πŸ’œ

🏷️ Enumeration Type Documentation 🏷️

enum extension_descriptors

List containing all extended descriptors used by Digital TV MPEG-TS as defined at ETSI EN 300 468 V1.11.1 ✨

Enumerator

  • image_icon_descriptor β€” image icon descriptor πŸ–ΌοΈ
  • cpcm_delivery_signalling_descriptor β€” Content Protection/Copy Management (CPCM) delivery signalling descriptor.
  • CP_descriptor β€” Content Protection descriptor.
  • CP_identifier_descriptor β€” Content Protection identifier descriptor.
  • T2_delivery_system_descriptor β€” DVB-T2 delivery system descriptor.
  • SH_delivery_system_descriptor β€” DVB-SH delivery system descriptor.
  • supplementary_audio_descriptor β€” supplementary audio descriptor πŸ”Š
  • network_change_notify_descriptor β€” network change notify descriptor
  • message_descriptor β€” message descriptor
  • target_region_descriptor β€” target region descriptor
  • target_region_name_descriptor β€” target region name descriptor
  • service_relocated_descriptor β€” service relocated descriptor

Definition at line 89 of file desc_extension.h.


πŸ”§ Function Documentation πŸ”§

void atsc_desc_service_location_free (struct dvb_desc *desc)

Frees all data allocated by the service location descriptor 🧹✨

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int atsc_desc_service_location_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc)

Initializes and parses the service location descriptor πŸ’«

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change β€” fr fr, don't be surprised when your buffer comes back different 😭

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void atsc_desc_service_location_print (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc)

Prints the content of the service location descriptor πŸ–¨οΈπŸ’…

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_desc_ca_free (struct dvb_desc *desc)

Frees all data allocated by the CA descriptor 🧚

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

void dvb_desc_ca_identifier_free (struct dvb_desc * desc)

Bestie, this one's the lil cleanup crew πŸ’– it frees all data allocated by the CA identifier descriptor. Like, everything that descriptor was holding onto? Gone. Poof. Free real estate.

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_ca_identifier_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the CA identifier descriptor. She's building it from scratch and reading the raw bytes at the same time, multitasking queen πŸ‘‘

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates a the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change. Yeah β€” she edits buf in place, so don't come crying if your bytes look different after, that's just the endianness glow-up ✨

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_ca_identifier_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the CA identifier descriptor. It's giving "show me what you got" πŸ’…

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

int dvb_desc_ca_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the CA descriptor. Note bestie: this is the CA descriptor, not the CA identifier one β€” two different girlies, don't mix them up πŸ™ˆ

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates a the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_ca_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the CA descriptor. Spill it, sis 🌸

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

int dvb_desc_cable_delivery_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the service location descriptor.

okay real talk β€” yes, the docs say "service location descriptor" for a function named cable_delivery. That's literally what the original says, so that's what I'm passing to you. No edits, no notes, periodt.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function initializes and makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Currently, no memory is allocated internally. So she's low-maintenance fr fr πŸ’š

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_cable_delivery_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the service location descriptor. (Same energy as above β€” that's the wording, we keep it πŸŽ€)

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

References dvbc_fec_table, and dvbc_modulation_table.


void dvb_desc_event_extended_free (struct dvb_desc * desc)

Frees all data allocated by the extended event descriptor. Say bye bye to those strings πŸ‘‹πŸ’œ

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_event_extended_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the extended event descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates a the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_event_extended_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the extended event descriptor. The extended lore drops here πŸ“–βœ¨

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_desc_event_short_free (struct dvb_desc * desc)

Frees all data allocated by the short event descriptor. Short king, but the cleanup still matters 🫢

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_event_short_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the short event descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates a the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_event_short_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the short event descriptor. Quick little print, quick little vibe 🌸

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

int dvb_desc_frequency_list_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the frequency list descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function initializes and makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Currently, no memory is allocated internally. Zero drama, zero leaks, we love to see it πŸ’š

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_frequency_list_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the frequency list descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

int dvb_desc_hierarchy_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the hierarchy descriptor. She's climbing the ranks, main character energy πŸ‘‘

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function initializes and makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Currently, no memory is allocated internally.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_hierarchy_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the hierarchy descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

int dvb_desc_language_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the language descriptor. Multilingual baddie 🌈

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function initializes and makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Currently, no memory is allocated internally.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_language_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the language descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_desc_logical_channel_free (struct dvb_desc * desc)

Frees all data allocated by the logical channel number descriptor. Channel's over, hun, pack it up πŸ’…

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_logical_channel_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the logical channel number descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates a the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_logical_channel_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the logical channel number descriptor. Showing the numbers off, iconic behavior πŸ’–

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_desc_network_name_free (struct dvb_desc * desc)

Frees all data allocated by the network name descriptor.

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_network_name_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the network name descriptor. Name reveal moment ✨

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates a the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns

On success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_network_name_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the network name descriptor.

Parameters

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_desc_registration_free (struct dvb_desc * desc)

Frees all data allocated by the registration descriptor. Unsubscribing from that memory, fr fr 🫢

Parameters

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_registration_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the registration descriptor.

okay so we're picking up literally mid-sentence here (no biggie, we've been at this for three parts, we're committed πŸ’…) β€” the init function right before dvb_desc_registration_print takes these:

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This one initializes everything and makes sure that all the fields follow the CPU endianness. Because of that, the content of the buffer may change β€” yes, it gets handsy with your buffer, that's just the deal 🫢

Currently, no memory is allocated internally. None. Zero. Just vibes and endianness.

Returns: on success, it hands you back the size of the allocated struct. A negative value means it went wrong β€” that's the universal "something's off bestie" signal 😭


void dvb_desc_registration_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the registration descriptor. Like, all of it, out loud, to your terminal πŸ’–

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

int dvb_desc_sat_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the satellite delivery system descriptor πŸ›°οΈβœ¨

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function initializes everything and makes sure all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Currently, no memory is allocated internally.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_sat_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the satellite delivery system descriptor πŸ›°οΈ

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

References: dvbs_dvbc_dvbs_freq_inner, dvbs_modulation, dvbs_polarization, and dvbs_rolloff.


void dvb_desc_service_free (struct dvb_desc * desc)

Frees all data allocated by the service descriptor. Garbage collection but make it manual, we love a little responsibility πŸŽ€

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_service_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the service descriptor.

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_service_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the service descriptor.

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_desc_t2_delivery_free (const void * desc)

Frees all data allocated by the T2 delivery system descriptor πŸ¦‹

  • desc β€” pointer to struct dvb_desc to be freed

References: dvbt2_bw, dvbt2_interval, dvbt2_transmission_mode, and siso_miso.


int dvb_desc_t2_delivery_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_extension_descriptor * ext, void * desc)

Initializes and parses the T2 delivery system descriptor.

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • ext β€” struct dvb_extension_descriptor pointer
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_t2_delivery_print (struct dvb_v5_fe_parms * parms, const struct dvb_extension_descriptor * ext, const void * desc)

Prints the content of the T2 delivery system descriptor. Look at it go 🌈

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • ext β€” struct dvb_extension_descriptor pointer
  • desc β€” pointer to struct dvb_desc

void dvb_desc_terrestrial_delivery_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the DVB-T terrestrial delivery system descriptor 🌱

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

References: dvbt_bw, dvbt_code_rate, dvbt_hierarchy, dvbt_interval, dvbt_modulation, and dvbt_transmission_mode.


void dvb_desc_ts_info_free (struct dvb_desc * desc)

Frees all data allocated by the ISDB TS information descriptor. descriptor πŸ’€

(yes, the original literally says "descriptor" twice β€” iconic behavior honestly, not a typo we're allowed to silently delete, so here it is in all its glory)

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_desc_ts_info_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the ISDB TS information descriptor. descriptor ✨ (again! the sequel nobody asked for but we respect it)

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_desc_ts_info_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the ISDB TS information descriptor. descriptor 😭 (third time's the charm)

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void dvb_extension_descriptor_free (struct dvb_desc * desc)

Frees all data allocated by the extended descriptor.

  • desc β€” pointer to struct dvb_desc to be freed

int dvb_extension_descriptor_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the extended descriptor.

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void dvb_extension_descriptor_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the extended descriptor 🌸

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void isdb_desc_partial_reception_free (struct dvb_desc * desc)

Frees all data allocated by the ISDB-T partial reception descriptor.

  • desc β€” pointer to struct dvb_desc to be freed

int isdb_desc_partial_reception_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the ISDB-T partial reception descriptor.

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void isdb_desc_partial_reception_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the ISDB-T partial reception descriptor πŸ’œ

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

void isdbt_desc_delivery_free (struct dvb_desc * desc)

Frees all data allocated by the ISDB-T terrestrial delivery system descriptor.

  • desc β€” pointer to struct dvb_desc to be freed

References: isdbt_interval, and isdbt_mode.


int isdbt_desc_delivery_init (struct dvb_v5_fe_parms * parms, const uint8_t * buf, struct dvb_desc * desc)

Initializes and parses the ISDB-T terrestrial delivery system descriptor 🧚

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • buf β€” buffer containing the descriptor's raw data
  • desc β€” pointer to struct dvb_desc to be allocated and filled

This function allocates the descriptor and fills the fields inside the struct. It also makes sure that all fields will follow the CPU endianness. Due to that, the content of the buffer may change.

Returns: on success, it returns the size of the allocated struct. A negative value indicates an error.


void isdbt_desc_delivery_print (struct dvb_v5_fe_parms * parms, const struct dvb_desc * desc)

Prints the content of the ISDB-T terrestrial delivery system descriptor πŸ”₯

  • parms β€” struct dvb_v5_fe_parms pointer to the opened device
  • desc β€” pointer to struct dvb_desc

✨ AUTHOR ✨

Generated automatically by Doxygen for libdvbv5 from the source code. (not a human author, just a robot doing its little robot thing πŸ€– β€” we stan an automated queen)


and that's a WRAP bestie πŸŽ€ we did it, all four parts, every last descriptor. this whole thing came from libdvbv5, Version 1.32.0, and it's the descriptors(3) page β€” go forth and parse, you absolute icon πŸ‘‘πŸ’–

πŸ“¦ where this page comes from