ENUM COMEDI_SUBDEVICE_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum comedi_subdevice_type(9) ✨

okay so bestie, imagine you're reading the Kernel API Manual and you stumble onto this one β€” it's literally just the master list of what kind of thing a COMEDI subdevice can be πŸŽ€. That's it, that's the whole vibe. Every subdevice in the COMEDI world picks one of these little labels for itself, and this enum is the label maker. slay πŸ’…


🌸 NAME 🌸

enum comedi_subdevice_type β€” COMEDI subdevice types. yep, that's the whole name, no cap ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

enum comedi_subdevice_type {
    COMEDI_SUBD_UNUSED ,
    COMEDI_SUBD_AI ,
    COMEDI_SUBD_AO ,
    COMEDI_SUBD_DI ,
    COMEDI_SUBD_DO ,
    COMEDI_SUBD_DIO ,
    COMEDI_SUBD_COUNTER ,
    COMEDI_SUBD_TIMER ,
    COMEDI_SUBD_MEMORY ,
    COMEDI_SUBD_CALIB ,
    COMEDI_SUBD_PROC ,
    COMEDI_SUBD_SERIAL ,
    COMEDI_SUBD_PWM

};

πŸ‘‘ DESCRIPTION πŸ‘‘

so the description here is literally split into constants, and honestly? each one is a whole little personality πŸ’–. here's the full roster, no skips, no shortcuts:

🧚 Constants

  • COMEDI_SUBD_UNUSED β€” unused subdevice. it's giving "empty seat at the lunch table" 🫢
  • COMEDI_SUBD_AI β€” analog input.
  • COMEDI_SUBD_AO β€” analog output.
  • COMEDI_SUBD_DI β€” digital input.
  • COMEDI_SUBD_DO β€” digital output.
  • COMEDI_SUBD_DIO β€” digital input/output. both directions, main character energy ✨
  • COMEDI_SUBD_COUNTER β€” counter.
  • COMEDI_SUBD_TIMER β€” timer. ⏰
  • COMEDI_SUBD_MEMORY β€” memory, EEPROM, DPRAM.
  • COMEDI_SUBD_CALIB β€” calibration DACs.
  • COMEDI_SUBD_PROC β€” processor, DSP.
  • COMEDI_SUBD_SERIAL β€” serial I/O.
  • COMEDI_SUBD_PWM β€” Pulse-Width Modulation output. iconic 🌈

that's all thirteen, counted them twice, we don't leave anyone out here πŸ’œ


πŸ”₯ SEE ALSO πŸ”₯

kernel file ./include/uapi/linux/comedi.h, and honestly the whole friend group shows up:

  • enum comedi_io_direction(9)
  • enum configuration_ids(9)
  • enum comedi_digital_trig_op(9)
  • enum comedi_support_level(9)
  • enum comedi_counter_status_flags(9)
  • struct comedi_insn(9)
  • struct comedi_insnlist(9)
  • struct comedi_cmd(9)
  • struct comedi_chaninfo(9)
  • struct comedi_rangeinfo(9)
  • struct comedi_krange(9)
  • struct comedi_subdinfo(9)
  • struct comedi_devinfo(9)
  • struct comedi_devconfig(9)
  • struct comedi_bufconfig(9)
  • struct comedi_bufinfo(9)

like, the entire extended cast 😭 go read them all, iykyk πŸ’…


πŸ’– and that's the page!! πŸ’– this little love letter lives in ./include/uapi/linux and the manual's dated October 2026 β€” bye bestie, go label some subdevices πŸ¦‹βœ¨πŸŽ€

πŸ“¦ where this page comes from