STRUCT LIRC_FH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct lirc_fh(9) πŸ’…

okay so this is a page straight out of the Kernel API Manual, and bestie, we're about to get into it β€” this is the whole vibe of struct lirc_fh, no skips, no cap 🫢


✨ NAME ✨

struct lirc_fh β€” literally represents an open lirc file πŸ’–


🌸 SYNOPSIS 🌸

struct lirc_fh {
    struct list_head list;
    struct rc_dev *rc;
    unsigned int *rawir;
    struct lirc_scancode *scancodes;
    wait_queue_head_t wait_poll;
    u32 carrier_low;
    u8 send_mode;
    u8 rec_mode;
 };

that's her. that's the struct. copy it exactly, don't be weird about it ✨


πŸŽ€ Members πŸŽ€

  • list β€” the list of open file handles. it's giving "everybody's here" energy πŸ‘‘
  • rc β€” the rcdev for this lirc chardev, like her personal main character device πŸ’…
  • rawir β€” the queue for incoming raw IR 🌈 (yes, raw, unfiltered, unfiltered truth)
  • scancodes β€” the queue for incoming decoded scancodes, the glow-up version of the raw stuff ⭐
  • wait_poll β€” the poll struct for the lirc device. she waits. she polls. she slays 😭
  • carrier_low β€” when setting the carrier range, first the low end must be set with an ioctl and then the high end with another ioctl. two ioctls, in that order, no shortcuts, periodt πŸ‘‘
  • send_mode β€” lirc mode for sending, either LIRC_MODE_SCANCODE or LIRC_MODE_PULSE πŸ“€
  • rec_mode β€” lirc mode for receiving, either LIRC_MODE_SCANCODE or LIRC_MODE_MODE2 πŸ“₯
ngl the carrier_low one is a lil sneaky: low end first with one ioctl, high end second with another ioctl. if you flip the order you're on your own πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

all the friends in the group chat, lowkey iconic the whole way down:


aaaand that's the page, bestie πŸ“ tysm for reading, mwah πŸ’– this one lives in ./include/media and it's dated October 2026 β€” so like, put it in your calendar, it's giving future icon πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from