ENUM SDCA_FUNCTION_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum sdca_function_type(9) β€” the Kernel API Manual, bestie edition

Okay so this one is from the Kernel API Manual, and it's literally just the master list of SDCA Function Type codes. Think of it as the vibe check every SDCA function has to pass before it's allowed in the group chat. ✨


πŸŽ€ NAME πŸŽ€

enum sdca_function_type β€” the SDCA Function Type codes, no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

enum sdca_function_type {
    SDCA_FUNCTION_TYPE_SMART_AMP ,
    SDCA_FUNCTION_TYPE_SIMPLE_AMP ,
    SDCA_FUNCTION_TYPE_SMART_MIC ,
    SDCA_FUNCTION_TYPE_SIMPLE_MIC ,
    SDCA_FUNCTION_TYPE_SPEAKER_MIC ,
    SDCA_FUNCTION_TYPE_UAJ ,
    SDCA_FUNCTION_TYPE_RJ ,
    SDCA_FUNCTION_TYPE_SIMPLE_JACK ,
    SDCA_FUNCTION_TYPE_HID ,
    SDCA_FUNCTION_TYPE_COMPANION_AMP ,
    SDCA_FUNCTION_TYPE_IMP_DEF

};

✨ Constants ✨

Bestie, here's the whole cast β€” every single one of them, main character energy each:

  • SDCA_FUNCTION_TYPE_SMART_AMP β€” an amplifier that came with protection features. Guarded and gorgeous. πŸ›‘οΈ
  • SDCA_FUNCTION_TYPE_SIMPLE_AMP β€” literally just a subset of SmartAmp. Diet SmartAmp, if you will. πŸ₯€
  • SDCA_FUNCTION_TYPE_SMART_MIC β€” a smart microphone with acoustic triggers. It hears everything, iykyk. 🎀
  • SDCA_FUNCTION_TYPE_SIMPLE_MIC β€” subset of SmartMic. Same vibe, fewer features. πŸŽ™οΈ
  • SDCA_FUNCTION_TYPE_SPEAKER_MIC β€” the collab nobody asked for but everybody needed: a combination of SmartMic and SmartAmp. 🀝
  • SDCA_FUNCTION_TYPE_UAJ β€” the 3.5mm Universal Audio jack. Yes THAT one. Your headphones know her. 🎧
  • SDCA_FUNCTION_TYPE_RJ β€” a retaskable jack. She can be whatever you need her to be. πŸ’β€β™€οΈ
  • SDCA_FUNCTION_TYPE_SIMPLE_JACK β€” subset of UAJ. Jack, but unbothered. πŸͺ§
  • SDCA_FUNCTION_TYPE_HID β€” Human Interface Device, for e.g. buttons. Press it, periodt. πŸ”˜
  • SDCA_FUNCTION_TYPE_COMPANION_AMP β€” sources audio from another amp. Not a solo act, she's a feature. 🎢
  • SDCA_FUNCTION_TYPE_IMP_DEF β€” implementation-defined function. Mysterious. Enigmatic. Nobody knows her deal. πŸ•΅οΈβ€β™€οΈ

🌸 Description 🌸

So these are the SDCA Function Types straight outta the SDCA specification v1.0a Section 5.1.2 β€” that's the whole list, and every Function type that isn't described here is reserved. Reserved means not-yet-invited to the party, bestie. Don't go inventing meanings for them. 🚫

Heads up! Note that SIMPLE_AMP, SIMPLE_MIC and SIMPLE_JACK Function Types are NOT defined in SDCA 1.0a. They were defined in earlier drafts and are planned for 1.1. So if you're checking against 1.0a and they're "missing" β€” they're not missing, they're just early. β³πŸ’–

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./include/sound/sdca_function.h, plus the entire extended universe:

  • struct sdca_init_write(9)
  • SDCA_CTL_TYPE(9)
  • SDCA_CTL_TYPE_S(9)
  • enum sdca_messageoffset_range(9)
  • enum sdca_ump_mode(9)
  • enum sdca_ump_owner(9)
  • enum sdca_it_controls(9)
  • enum sdca_ot_controls(9)
  • enum sdca_usage_range(9)
  • enum sdca_dataport_selector_range(9)
  • enum sdca_mu_controls(9)
  • enum sdca_su_controls(9)
  • enum sdca_fu_controls(9)
  • enum sdca_volume_range(9)
  • enum sdca_xu_controls(9)
  • enum sdca_fdl_set_index_range(9)
  • enum sdca_cs_controls(9)
  • enum sdca_samplerateindex_range(9)
  • enum sdca_cx_controls(9)
  • enum sdca_pde_controls(9)
  • enum sdca_requested_ps_range(9)
  • enum sdca_ge_controls(9)
  • enum sdca_selected_mode_range(9)
  • enum sdca_detected_mode_values(9)
  • enum sdca_spe_controls(9)
  • enum sdca_cru_controls(9)
  • enum sdca_udmpu_controls(9)
  • enum sdca_mfpu_controls(9)
  • enum sdca_smpu_controls(9)
  • enum sdca_sapu_controls(9)
  • enum sdca_ppu_controls(9)
  • enum sdca_tg_controls(9)
  • enum sdca_hide_controls(9)
  • enum sdca_entity0_controls(9)
  • enum sdca_control_datatype(9)
  • enum sdca_access_mode(9)
  • enum sdca_access_layer(9)
  • struct sdca_control_range(9)
  • struct sdca_control(9)
  • enum sdca_terminal_type(9)
  • enum sdca_connector_type(9)
  • struct sdca_entity_iot(9)
  • enum sdca_clock_type(9)
  • struct sdca_entity_cs(9)
  • enum sdca_pde_power_state(9)
  • struct sdca_pde_delay(9)
  • struct sdca_entity_pde(9)
  • enum sdca_entity_type(9)
  • struct sdca_ge_control(9)
  • struct sdca_ge_mode(9)
  • struct sdca_entity_ge(9)
  • struct sdca_entity_hide(9)
  • enum sdca_xu_reset_mechanism(9)
  • struct sdca_entity_xu(9)
  • struct sdca_entity(9)
  • enum sdca_channel_purpose(9)
  • enum sdca_channel_relationship(9)
  • struct sdca_channel(9)
  • struct sdca_cluster(9)
  • enum sdca_cluster_range(9)
  • struct sdca_fdl_file(9)
  • struct sdca_fdl_set(9)
  • struct sdca_fdl_data(9)
  • struct sdca_function_hid(9)
  • struct sdca_function_data(9)

That's the whole page, bestie β€” go forth and slay those function types. πŸ«ΆπŸ’…

Shoutout to the ./include/sound directory for hosting all this lore, and to the October 2026 release for the timestamp β€” see you in the kernel, mwah! πŸŽ€βœ¨

πŸ“¦ where this page comes from