vidtv_psi_pa...ogram_assign(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vidtv_psi_pat_program_assign β€” like, the whole kernel API manual vibe, but fun ✨

okay so bestie, we're in the Kernel API Manual today and this page is literally about vidtv_psi_pat_program_assign. yes the header is doing that truncated thing where it's all vidtv_psi_pa...ogram_assign(9) but don't panic, that's just the man page being dramatic. πŸŽ€


✨ NAME ✨

vidtv_psi_pat_program_assign β€” the function that assigns the program loop to the PAT. that's it, that's the whole job. slay. πŸ’–


🌸 SYNOPSIS 🌸

void vidtv_psi_pat_program_assign (struct vidtv_psi_table_pat *pat ,
struct vidtv_psi_table_pat_program *p );

it returns void btw, so like... no return value to obsess over. very low maintenance king. πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • pat β€” the PAT you're assigning to. main character of this whole operation honestly.
  • p β€” the program loop, and yeah that's one or more programs in there. it's giving "bring the whole squad". 🫢

⭐ DESCRIPTION ⭐

okay so here's the tea, and this part actually matters so listen up:

this will free the previous program loop in the table. so like, whatever loop was chilling in there before? gone. bye. 😭

then it hands ownership of the program loop over to the table β€” which means the table is now responsible for it, and when a call to its destroy function happens, the table will free this program loop. so it's not a copy situation, it's a "you own it now, bestie" situation. important!! πŸ”₯

ngl this is ownership-transfer energy, so don't go freeing p yourself afterwards unless you enjoy chaos. the table calls dibs. πŸ’€

🧚 SEE ALSO 🧚

like, the whole extended friend group of references, no cap, all of them:

Kernel file ./drivers/media/test-drivers/vidtv/vidtv_psi.h struct psi_write_args(9), struct desc_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_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)

like, read them, they're all right there, iykyk. πŸ’œ


aaaand that's the page!! before i go β€” the footer was giving ./drivers/media/test-drivers/v... with a date of October 2026, which like... future queen behavior honestly πŸŒˆπŸ‘‘. mwah, go free some program loops responsibly. πŸ“πŸ’…

πŸ“¦ where this page comes from