drivers/media/test-drivers/vidtv/vidtv_psi.h
Source file repositories/reference/linux-study-clean/drivers/media/test-drivers/vidtv/vidtv_psi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/test-drivers/vidtv/vidtv_psi.h- Extension
.h- Size
- 25481 bytes
- Lines
- 810
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.h
Detected Declarations
struct vidtv_psi_descstruct vidtv_psi_desc_servicestruct vidtv_psi_desc_registrationstruct vidtv_psi_desc_network_namestruct vidtv_psi_desc_service_list_entrystruct vidtv_psi_desc_service_liststruct vidtv_psi_desc_short_eventstruct vidtv_psi_table_headerstruct vidtv_psi_table_pat_programstruct vidtv_psi_table_patstruct vidtv_psi_table_sdt_servicestruct vidtv_psi_table_sdtstruct vidtv_psi_table_pmt_streamstruct vidtv_psi_table_pmtstruct psi_write_argsstruct desc_write_argsstruct crc32_write_argsstruct header_write_argsstruct vidtv_psi_pat_write_argsstruct vidtv_psi_sdt_write_argsstruct vidtv_psi_pmt_write_argsstruct vidtv_psi_table_transportstruct vidtv_psi_table_nitstruct vidtv_psi_nit_write_argsstruct vidtv_psi_table_eit_eventstruct vidtv_psi_table_eitstruct vidtv_psi_eit_write_argsenum vidtv_psi_descriptorsenum vidtv_psi_stream_typesenum service_running_statusenum service_type
Annotated Snippet
struct vidtv_psi_desc {
struct vidtv_psi_desc *next;
u8 type;
u8 length;
u8 data[];
} __packed;
/*
* struct vidtv_psi_desc_service - Service descriptor.
* See ETSI EN 300 468 section 6.2.33.
*/
struct vidtv_psi_desc_service {
struct vidtv_psi_desc *next;
u8 type;
u8 length;
u8 service_type;
u8 provider_name_len;
char *provider_name;
u8 service_name_len;
char *service_name;
} __packed;
/*
* struct vidtv_psi_desc_registration - A registration descriptor.
* See ISO/IEC 13818-1 section 2.6.8
*/
struct vidtv_psi_desc_registration {
struct vidtv_psi_desc *next;
u8 type;
u8 length;
/*
* The format_identifier is a 32-bit value obtained from a Registration
* Authority as designated by ISO/IEC JTC 1/SC 29.
*/
__be32 format_id;
/*
* The meaning of additional_identification_info bytes, if any, are
* defined by the assignee of that format_identifier, and once defined
* they shall not change.
*/
u8 additional_identification_info[];
} __packed;
/*
* struct vidtv_psi_desc_network_name - A network name descriptor
* see ETSI EN 300 468 v1.15.1 section 6.2.27
*/
struct vidtv_psi_desc_network_name {
struct vidtv_psi_desc *next;
u8 type;
u8 length;
char *network_name;
} __packed;
struct vidtv_psi_desc_service_list_entry {
__be16 service_id;
u8 service_type;
struct vidtv_psi_desc_service_list_entry *next;
} __packed;
/*
* struct vidtv_psi_desc_service_list - A service list descriptor
* see ETSI EN 300 468 v1.15.1 section 6.2.35
*/
struct vidtv_psi_desc_service_list {
struct vidtv_psi_desc *next;
u8 type;
u8 length;
struct vidtv_psi_desc_service_list_entry *service_list;
} __packed;
/*
* struct vidtv_psi_desc_short_event - A short event descriptor
* see ETSI EN 300 468 v1.15.1 section 6.2.37
*/
struct vidtv_psi_desc_short_event {
struct vidtv_psi_desc *next;
u8 type;
u8 length;
char *iso_language_code;
u8 event_name_len;
char *event_name;
u8 text_len;
char *text;
} __packed;
struct vidtv_psi_desc_short_event
*vidtv_psi_short_event_desc_init(struct vidtv_psi_desc *head,
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct vidtv_psi_desc`, `struct vidtv_psi_desc_service`, `struct vidtv_psi_desc_registration`, `struct vidtv_psi_desc_network_name`, `struct vidtv_psi_desc_service_list_entry`, `struct vidtv_psi_desc_service_list`, `struct vidtv_psi_desc_short_event`, `struct vidtv_psi_table_header`, `struct vidtv_psi_table_pat_program`, `struct vidtv_psi_table_pat`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.