ENUM RC_PROTO(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… enum rc_proto(9) โ€” the Remote Controller protocol, bestie

okay so this is a page straight out of the Kernel API Manual โœจ and it's literally just a giant enum of every remote-control protocol the kernel knows how to vibe with. that's it. that's the page. and honestly? iconic. ๐ŸŽ€


โœจ NAME โœจ

enum rc_proto โ€” the Remote Controller protocol ๐Ÿ‘‘ (yes, that's the whole name, slay)


๐ŸŒธ SYNOPSIS ๐ŸŒธ

here's the whole squad, in order, no cap โ€” copy it exactly how it is:

enum rc_proto {
    RC_PROTO_UNKNOWN ,
    RC_PROTO_OTHER ,
    RC_PROTO_RC5 ,
    RC_PROTO_RC5X_20 ,
    RC_PROTO_RC5_SZ ,
    RC_PROTO_JVC ,
    RC_PROTO_SONY12 ,
    RC_PROTO_SONY15 ,
    RC_PROTO_SONY20 ,
    RC_PROTO_NEC ,
    RC_PROTO_NECX ,
    RC_PROTO_NEC32 ,
    RC_PROTO_SANYO ,
    RC_PROTO_MCIR2_KBD ,
    RC_PROTO_MCIR2_MSE ,
    RC_PROTO_RC6_0 ,
    RC_PROTO_RC6_6A_20 ,
    RC_PROTO_RC6_6A_24 ,
    RC_PROTO_RC6_6A_32 ,
    RC_PROTO_RC6_MCE ,
    RC_PROTO_SHARP ,
    RC_PROTO_XMP ,
    RC_PROTO_CEC ,
    RC_PROTO_IMON ,
    RC_PROTO_RCMM12 ,
    RC_PROTO_RCMM24 ,
    RC_PROTO_RCMM32 ,
    RC_PROTO_XBOX_DVD ,
    RC_PROTO_MAX

};

๐Ÿฆ‹ Constants ๐Ÿฆ‹

okay bestie, here's the roll call โ€” every single one, with what it actually is ๐Ÿ’–

  • RC_PROTO_UNKNOWN โ€” we literally do not know this protocol. no clue. mystery era. ๐Ÿ™ˆ
  • RC_PROTO_OTHER โ€” we do know it, but it's proprietary, so it's giving "we see you but we can't name you" energy.
  • RC_PROTO_RC5 โ€” the Philips RC5 protocol ๐Ÿ’…
  • RC_PROTO_RC5X_20 โ€” Philips RC5x, 20 bit version โœจ
  • RC_PROTO_RC5_SZ โ€” the StreamZap variant of RC5 (yes, RC5 with a little glow-up) ๐ŸŽ€
  • RC_PROTO_JVC โ€” JVC protocol, periodt.
  • RC_PROTO_SONY12 โ€” Sony, 12 bit ๐Ÿ“
  • RC_PROTO_SONY15 โ€” Sony, 15 bit ๐Ÿ“
  • RC_PROTO_SONY20 โ€” Sony, 20 bit ๐Ÿ“ (Sony really said "we have options")
  • RC_PROTO_NEC โ€” NEC protocol, classic main character.
  • RC_PROTO_NECX โ€” the extended NEC protocol, NEC's glow-up arc ๐ŸŒˆ
  • RC_PROTO_NEC32 โ€” NEC 32 bit, bigger and honestly kinda iconic.
  • RC_PROTO_SANYO โ€” Sanyo protocol ๐Ÿ’œ
  • RC_PROTO_MCIR2_KBD โ€” RC6-ish MCE keyboard ๐Ÿงš
  • RC_PROTO_MCIR2_MSE โ€” RC6-ish MCE mouse ๐Ÿญ (it's giving desk-setup)
  • RC_PROTO_RC6_0 โ€” Philips RC6-0-16 protocol โญ
  • RC_PROTO_RC6_6A_20 โ€” Philips RC6-6A-20 protocol โญ
  • RC_PROTO_RC6_6A_24 โ€” Philips RC6-6A-24 protocol โญ
  • RC_PROTO_RC6_6A_32 โ€” Philips RC6-6A-32 protocol โญ
  • RC_PROTO_RC6_MCE โ€” MCE protocol, which is a Philips RC6-6A-32 subtype btw ๐Ÿ‘‘
  • RC_PROTO_SHARP โ€” Sharp protocol ๐Ÿ”ฅ
  • RC_PROTO_XMP โ€” XMP protocol ๐Ÿ’ซ
  • RC_PROTO_CEC โ€” CEC protocol, living its best HDMI life.
  • RC_PROTO_IMON โ€” iMon Pad protocol ๐ŸŽฎ
  • RC_PROTO_RCMM12 โ€” RC-MM protocol, 12 bits ๐Ÿ’€
  • RC_PROTO_RCMM24 โ€” RC-MM protocol, 24 bits ๐Ÿ’€
  • RC_PROTO_RCMM32 โ€” RC-MM protocol, 32 bits ๐Ÿ’€ (RC-MM said "go big")
  • RC_PROTO_XBOX_DVD โ€” Xbox DVD Movie Playback Kit protocol ๐Ÿ•น๏ธ iconic name, honestly
  • RC_PROTO_MAX โ€” the maximum value of enum rc_proto, i.e. the edge of the universe ๐ŸŒŒ don't go past it.

๐Ÿ” SEE ALSO ๐Ÿ”

go touch grass in the kernel source, bestie:

  • Kernel file ./include/uapi/linux/lirc.h ๐Ÿ“„
  • struct lirc_scancode(9) ๐Ÿซถ

๐Ÿ’– friendly reminder: this is literally the whole page. no hidden lore, no extra flags, no sneaky behaviour โ€” just the enum and its constants. iykyk.

and that's the tea โ˜• โ€” brought to you from ./include/uapi/linux, dated October 2026, with love, kernel energy and a little bit of ๐Ÿ’…. bye bestie, go read your remotes ๐ŸŽ€โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from