STRUCT TVEEPROM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

struct tveeprom β€” okay bestie, this is literally the struct that holds all the fields parsed out of Hauppauge eeproms πŸ’– it's giving "haute couture data container" and we're obsessed.


✨ SYNOPSIS ✨

struct tveeprom {
    u32 has_radio;
    u32 has_ir;
    u32 has_MAC_address;
    u32 tuner_type;
    u32 tuner_formats;
    u32 tuner_hauppauge_model;
    u32 tuner2_type;
    u32 tuner2_formats;
    u32 tuner2_hauppauge_model;
    u32 audio_processor;
    u32 decoder_processor;
    u32 model;
    u32 revision;
    u32 serial_number;
    char rev_str[5];
    u8 MAC_address[ETH_ALEN];
 };

no cap, that's the whole vibe right there πŸ‘‘


🌸 Members 🌸

okay so now we go field by field, and yes I'm gonna hype each one up because they all ate πŸ’…

  • has_radio β€” 1 if the device has radio, 0 if it doesn't. that's it, that's the whole field, she's simple and she knows it ✨
  • has_ir β€” lowkey the messiest one, so listen up 🫢 If has_ir == 0, then it's literally unknown what the IR capabilities are β€” we simply do not know, bestie. Otherwise the bits go like this:
    • bit 0) 1 (which means the IR capabilities are known)
    • bit 1) IR receiver present
    • bit 2) IR transmitter (blaster) present
  • has_MAC_address β€” 0: no MAC. 1: MAC present. 2: unknown. three whole moods 😭
  • tuner_type β€” the type of the tuner, as TUNER_*, exactly as defined at include/media/tuner.h. iconic pointer to the truth πŸ“
  • tuner_formats β€” the supported analog TV standards (V4L2_STD_*). slay, standards πŸ¦‹
  • tuner_hauppauge_model β€” Hauppauge's code for the device model number. it's giving corporate but make it cute πŸ’œ
  • tuner2_type β€” the type of the second tuner (TUNER_*, as defined at include/media/tuner.h). yes she has a sequel 🌈
  • tuner2_formats β€” tuner 2's supported analog TV standards (V4L2_STD_*). twin energy fr fr ⭐
  • tuner2_hauppauge_model β€” tuner 2's Hauppauge code for the device model number. matching set, we love to see it πŸŽ€
  • audio_processor β€” the analog audio decoder, as defined by enum tveeprom_audio_processor. audiophile queen πŸ“
  • decoder_processor β€” Hauppauge's code for the decoder chipset. important: it's unused by the drivers, because they probe the decoder based on the PCI or USB ID instead. so she's pretty but she's sitting this one out πŸ’€
  • model β€” Hauppauge's model number. the name on the birth certificate πŸ“œ
  • revision β€” the card revision number. glow-up tracker 🌸
  • serial_number β€” the card's serial number. everyone's favorite unique identifier πŸ‘‘
  • rev_str β€” the card revision, converted to a number. yeah, that's what it says, don't come for me πŸ™ˆ
  • MAC_address β€” the MAC address for the network interface. networking baddie behavior πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

go read the kernel file ./include/media/tveeprom.h, plus enum tveeprom_audio_processor(9), tveeprom_hauppauge_analog(9), and tveeprom_read(9). iykyk, they're all linked in the group chat πŸ”₯


and that's the tea, bestie 🫢 this whole page lives in ./include/media, dated October 2026, and honestly? iconic of it. mwah πŸ’‹

πŸ“¦ where this page comes from