STRUCT DESC_WRITE_ARGS(9)
β¨ struct desc_write_args(9) β¨
okay so bestie, welcome to the Kernel API Manual π this little page is all about struct desc_write_args β literally the args you hand over when you wanna write a descriptor. yes, lowercase struct in the title, we respect the source, periodt.
πΈ NAME πΈ
struct desc_write_args β Arguments in order to write a descriptor. that's it, that's the whole vibe. it's giving "here's everything you need to actually go write this thing" π
π¦ SYNOPSIS π¦
struct desc_write_args {
void *dest_buf;
u32 dest_offset;
struct vidtv_psi_desc *desc;
u16 pid;
u8 *continuity_counter;
u32 dest_buf_sz;
u32 *crc;
};
look at her. seven members, all iconic, no notes π (yes there's a stray space before that closing brace β we're keeping it exactly as she came into this world, no cap π₯)
π Members π
okay so let's go member by member, because each one is a main character in their own right:
dest_bufβ The buffer to write into. this is literally the canvas, the whole destination, the place where the writing happens ποΈβ¨dest_offsetβ where to start writing in thedest_buffer. not in thedest_buffield name β the manpage saysdest_bufferright there β copy it exactly, iykyk π as in: the position where the pen first touches the paper.descβ A pointer to the descriptor. just a pointer. pointing at the descriptor. slay π«Άpidβ TS packet ID. that's the transport-stream packet's identifier πcontinuity_counterβ Incremented on every new packet. every. single. new. packet. she just keeps going up πdest_buf_szβ The size of thedest_buffer. gotta know how big the canvas is before you paint on it, fr fr ποΈcrcβ a pointer to store the crc for this chunk. that's crc, lowercase, right here in the source, and we are not touching it β
π SEE ALSO π
go check these out, bestie, they're the whole friend group π β Kernel file ./drivers/media/test-drivers/vidtv/vidtv_psi.h and then:
struct psi_write_args(9)struct crc32_write_args(9)struct header_write_args(9)vidtv_psi_sdt_service_assign(9)vidtv_psi_desc_assign(9)vidtv_pmt_desc_assign(9)vidtv_sdt_desc_assign(9)vidtv_psi_pat_program_assign(9)vidtv_psi_pmt_stream_assign(9)vidtv_psi_pmt_create_sec_for_each_pat_entry(9)vidtv_psi_pmt_get_pid(9)vidtv_psi_pat_table_update_sec_len(9)vidtv_psi_pmt_table_update_sec_len(9)vidtv_psi_sdt_table_update_sec_len(9)struct vidtv_psi_pat_write_args(9)vidtv_psi_pat_write_into(9)struct vidtv_psi_sdt_write_args(9)vidtv_psi_sdt_write_into(9)struct vidtv_psi_pmt_write_args(9)vidtv_psi_pmt_write_into(9)vidtv_psi_find_pmt_sec(9)struct vidtv_psi_table_transport(9)struct vidtv_psi_table_nit(9)struct vidtv_psi_nit_write_args(9)vidtv_psi_nit_write_into(9)struct vidtv_psi_eit_write_args(9)vidtv_psi_eit_write_into(9)vidtv_psi_eit_table_update_sec_len(9)vidtv_psi_eit_event_assign(9)
all of them. every last one. no skipping, bestie, we don't do that here π§π
and that's the page!! π quick lil sign-off so you know where this came from: the source line reads ./drivers/media/test-drivers/v... (yes it's truncated in the original, we're not out here guessing at the rest, that would be lying and lying is not the vibe π) and it's dated October 2026 π« so mark your calendars, she's from the future. mwah, go write some descriptors responsibly π
π
π¦ 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