ENUM SDCA_FUNCTION_TYPE(9)
π 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β the3.5mmUniversal 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 thatSIMPLE_AMP,SIMPLE_MICandSIMPLE_JACKFunction 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
- 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