STRUCT TVEEPROM(9)
π 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β1if the device has radio,0if 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 π«Ά Ifhas_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
- bit 0)
has_MAC_addressβ0: no MAC.1: MAC present.2: unknown. three whole moods πtuner_typeβ the type of the tuner, asTUNER_*, exactly as defined atinclude/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 atinclude/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 byenum 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
- 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