ENUM SDCA_CHANNEL_RELATIONSHIP(9)
π NAME π
enum sdca_channel_relationship β the SDCA Channel Relationship code, bestie. That's it, that's the name. It lives in the Kernel API Manual, section (9), so like... kernel-adjacent vibes, iykyk π
β¨ SYNOPSIS β¨
enum sdca_channel_relationship {
SDCA_CHAN_REL_UNDEFINED ,
SDCA_CHAN_REL_GENERIC_MONO ,
SDCA_CHAN_REL_GENERIC_LEFT ,
SDCA_CHAN_REL_GENERIC_RIGHT ,
SDCA_CHAN_REL_GENERIC_TOP ,
SDCA_CHAN_REL_GENERIC_BOTTOM ,
SDCA_CHAN_REL_CAPTURE_DIRECT ,
SDCA_CHAN_REL_RENDER_DIRECT ,
SDCA_CHAN_REL_FRONT_LEFT ,
SDCA_CHAN_REL_FRONT_RIGHT ,
SDCA_CHAN_REL_FRONT_CENTER ,
SDCA_CHAN_REL_SIDE_LEFT ,
SDCA_CHAN_REL_SIDE_RIGHT ,
SDCA_CHAN_REL_BACK_LEFT ,
SDCA_CHAN_REL_BACK_RIGHT ,
SDCA_CHAN_REL_LOW_FREQUENCY_EFFECTS ,
SDCA_CHAN_REL_SOUNDWIRE_MIC ,
SDCA_CHAN_REL_SENSE_TRANSDUCER_1 ,
SDCA_CHAN_REL_SENSE_TRANSDUCER_2 ,
SDCA_CHAN_REL_SENSE_TRANSDUCER_12 ,
SDCA_CHAN_REL_SENSE_TRANSDUCER_21 ,
SDCA_CHAN_REL_ECHOREF_NONE ,
SDCA_CHAN_REL_ECHOREF_1 ,
SDCA_CHAN_REL_ECHOREF_2 ,
SDCA_CHAN_REL_ECHOREF_3 ,
SDCA_CHAN_REL_ECHOREF_4 ,
SDCA_CHAN_REL_ECHOREF_ALL ,
SDCA_CHAN_REL_ECHOREF_LFE_ALL ,
SDCA_CHAN_REL_PRIMARY_TRANSDUCER ,
SDCA_CHAN_REL_SECONDARY_TRANSDUCER ,
SDCA_CHAN_REL_TERTIARY_TRANSDUCER ,
SDCA_CHAN_REL_LOWER_LEFT_ALLTRANSDUCER ,
SDCA_CHAN_REL_LOWER_RIGHT_ALLTRANSDUCER ,
SDCA_CHAN_REL_UPPER_LEFT_ALLTRANSDUCER ,
SDCA_CHAN_REL_UPPER_RIGHT_ALLTRANSDUCER ,
SDCA_CHAN_REL_LOWER_LEFT_PRIMARY ,
SDCA_CHAN_REL_LOWER_RIGHT_PRIMARY ,
SDCA_CHAN_REL_UPPER_LEFT_PRIMARY ,
SDCA_CHAN_REL_UPPER_RIGHT_PRIMARY ,
SDCA_CHAN_REL_LOWER_LEFT_SECONDARY ,
SDCA_CHAN_REL_LOWER_RIGHT_SECONDARY ,
SDCA_CHAN_REL_UPPER_LEFT_SECONDARY ,
SDCA_CHAN_REL_UPPER_RIGHT_SECONDARY ,
SDCA_CHAN_REL_LOWER_LEFT_TERTIARY ,
SDCA_CHAN_REL_LOWER_RIGHT_TERTIARY ,
SDCA_CHAN_REL_UPPER_LEFT_TERTIARY ,
SDCA_CHAN_REL_UPPER_RIGHT_TERTIARY ,
SDCA_CHAN_REL_DERIVED_LOWER_LEFT_PRIMARY ,
SDCA_CHAN_REL_DERIVED_LOWER_RIGHT_PRIMARY ,
SDCA_CHAN_REL_DERIVED_UPPER_LEFT_PRIMARY ,
SDCA_CHAN_REL_DERIVED_UPPER_RIGHT_PRIMARY ,
SDCA_CHAN_REL_DERIVED_LOWER_LEFT_SECONDARY ,
SDCA_CHAN_REL_DERIVED_LOWER_RIGHT_SECONDARY ,
SDCA_CHAN_REL_DERIVED_UPPER_LEFT_SECONDARY ,
SDCA_CHAN_REL_DERIVED_UPPER_RIGHT_SECONDARY ,
SDCA_CHAN_REL_DERIVED_LOWER_LEFT_TERTIARY ,
SDCA_CHAN_REL_DERIVED_LOWER_RIGHT_TERTIARY ,
SDCA_CHAN_REL_DERIVED_UPPER_LEFT_TERTIARY ,
SDCA_CHAN_REL_DERIVED_UPPER_RIGHT_TERTIARY ,
SDCA_CHAN_REL_DERIVED_MONO_PRIMARY ,
SDCA_CHAN_REL_DERIVED_MONO_SECONDARY ,
SDCA_CHAN_REL_DERIVED_MONO_TERTIARY ,
SDCA_CHAN_REL_EQUIPMENT_LEFT ,
SDCA_CHAN_REL_EQUIPMENT_RIGHT ,
SDCA_CHAN_REL_EQUIPMENT_COMBINED ,
SDCA_CHAN_REL_EQUIPMENT_TOP ,
SDCA_CHAN_REL_EQUIPMENT_BOTTOM ,
SDCA_CHAN_REL_EQUIPMENT_TOP_LEFT ,
SDCA_CHAN_REL_EQUIPMENT_BOTTOM_LEFT ,
SDCA_CHAN_REL_EQUIPMENT_TOP_RIGHT ,
SDCA_CHAN_REL_EQUIPMENT_BOTTOM_RIGHT ,
SDCA_CHAN_REL_EQUIPMENT_SILENCED_OUTPUT ,
SDCA_CHAN_REL_ARRAY ,
SDCA_CHAN_REL_MIC ,
SDCA_CHAN_REL_RAW ,
SDCA_CHAN_REL_SILENCED_MIC ,
SDCA_CHAN_REL_MULTI_SOURCE_1 ,
SDCA_CHAN_REL_MULTI_SOURCE_2 ,
SDCA_CHAN_REL_MULTI_SOURCE_3 ,
SDCA_CHAN_REL_MULTI_SOURCE_4
};
π Constants π
Okay so real talk: every single one of these is listed in the source as literally -- undescribed --. No blurb, no notes, nothing. The docs just did not show up for this one π So below is the full roster, exactly as written, with the placeholder being the whole personality. No cap.
SDCA_CHAN_REL_UNDEFINEDβ-- undescribed --in the source, that's all we get πSDCA_CHAN_REL_GENERIC_MONOβ-- undescribed --, blank in the source.SDCA_CHAN_REL_GENERIC_LEFTβ-- undescribed --, no notes provided.SDCA_CHAN_REL_GENERIC_RIGHTβ-- undescribed --and nothing else πSDCA_CHAN_REL_GENERIC_TOPβ-- undescribed --, the placeholder is doing all the work here.SDCA_CHAN_REL_GENERIC_BOTTOMβ-- undescribed --, nobody wrote the blurb.SDCA_CHAN_REL_CAPTURE_DIRECTβ-- undescribed --, still just the placeholder β¨SDCA_CHAN_REL_RENDER_DIRECTβ-- undescribed --in the source, fr fr.SDCA_CHAN_REL_FRONT_LEFTβ-- undescribed --, no description attached.SDCA_CHAN_REL_FRONT_RIGHTβ-- undescribed --, left blank π«ΆSDCA_CHAN_REL_FRONT_CENTERβ-- undescribed --, that's genuinely it.SDCA_CHAN_REL_SIDE_LEFTβ-- undescribed --, the docs said nothing πSDCA_CHAN_REL_SIDE_RIGHTβ-- undescribed --, placeholder only.SDCA_CHAN_REL_BACK_LEFTβ-- undescribed --, no writeup exists.SDCA_CHAN_REL_BACK_RIGHTβ-- undescribed --, same story.SDCA_CHAN_REL_LOW_FREQUENCY_EFFECTSβ-- undescribed --, oddly iconic, still blank πSDCA_CHAN_REL_SOUNDWIRE_MICβ-- undescribed --, nothing documented.SDCA_CHAN_REL_SENSE_TRANSDUCER_1β-- undescribed --, no commentary in the source.SDCA_CHAN_REL_SENSE_TRANSDUCER_2β-- undescribed --, blank again.SDCA_CHAN_REL_SENSE_TRANSDUCER_12β-- undescribed --, left as a placeholder πΈSDCA_CHAN_REL_SENSE_TRANSDUCER_21β-- undescribed --, not a single word more.SDCA_CHAN_REL_ECHOREF_NONEβ-- undescribed --, the source left it empty.SDCA_CHAN_REL_ECHOREF_1β-- undescribed --, no details given.SDCA_CHAN_REL_ECHOREF_2β-- undescribed --, placeholder status: unchanged.SDCA_CHAN_REL_ECHOREF_3β-- undescribed --, still nothing β¨SDCA_CHAN_REL_ECHOREF_4β-- undescribed --, no blurb written.SDCA_CHAN_REL_ECHOREF_ALLβ-- undescribed --, blank as ever.SDCA_CHAN_REL_ECHOREF_LFE_ALLβ-- undescribed --, no description provided πSDCA_CHAN_REL_PRIMARY_TRANSDUCERβ-- undescribed --, that's the whole entry.SDCA_CHAN_REL_SECONDARY_TRANSDUCERβ-- undescribed --, untouched placeholder.SDCA_CHAN_REL_TERTIARY_TRANSDUCERβ-- undescribed --, no writeup, no notes.SDCA_CHAN_REL_LOWER_LEFT_ALLTRANSDUCERβ-- undescribed --, left blank by the docs π¦SDCA_CHAN_REL_LOWER_RIGHT_ALLTRANSDUCERβ-- undescribed --, nothing attached.SDCA_CHAN_REL_UPPER_LEFT_ALLTRANSDUCERβ-- undescribed --, placeholder only.SDCA_CHAN_REL_UPPER_RIGHT_ALLTRANSDUCERβ-- undescribed --, no elaboration πSDCA_CHAN_REL_LOWER_LEFT_PRIMARYβ-- undescribed --, still waiting on a description.SDCA_CHAN_REL_LOWER_RIGHT_PRIMARYβ-- undescribed --, blank in the source.SDCA_CHAN_REL_UPPER_LEFT_PRIMARYβ-- undescribed --, that's all there is.SDCA_CHAN_REL_UPPER_RIGHT_PRIMARYβ-- undescribed --, no explanation given.SDCA_CHAN_REL_LOWER_LEFT_SECONDARYβ-- undescribed --, the placeholder persists πSDCA_CHAN_REL_LOWER_RIGHT_SECONDARYβ-- undescribed --, nothing more.SDCA_CHAN_REL_UPPER_LEFT_SECONDARYβ-- undescribed --, left undescribed.SDCA_CHAN_REL_UPPER_RIGHT_SECONDARYβ-- undescribed --, no notes anywhere.SDCA_CHAN_REL_LOWER_LEFT_TERTIARYβ-- undescribed --, empty blurb zone.SDCA_CHAN_REL_LOWER_RIGHT_TERTIARYβ-- undescribed --, still just that πSDCA_CHAN_REL_UPPER_LEFT_TERTIARYβ-- undescribed --, no details, bestie.SDCA_CHAN_REL_UPPER_RIGHT_TERTIARYβ-- undescribed --, placeholder city.SDCA_CHAN_REL_DERIVED_LOWER_LEFT_PRIMARYβ-- undescribed --, blank and proud.SDCA_CHAN_REL_DERIVED_LOWER_RIGHT_PRIMARYβ-- undescribed --, no writeup at all.SDCA_CHAN_REL_DERIVED_UPPER_LEFT_PRIMARYβ-- undescribed --, nothing documented πSDCA_CHAN_REL_DERIVED_UPPER_RIGHT_PRIMARYβ-- undescribed --, same placeholder energy.SDCA_CHAN_REL_DERIVED_LOWER_LEFT_SECONDARYβ-- undescribed --, docs left it empty.SDCA_CHAN_REL_DERIVED_LOWER_RIGHT_SECONDARYβ-- undescribed --, no explanation.SDCA_CHAN_REL_DERIVED_UPPER_LEFT_SECONDARYβ-- undescribed --, one hundred percent blank.SDCA_CHAN_REL_DERIVED_UPPER_RIGHT_SECONDARYβ-- undescribed --, placeholder, periodt.SDCA_CHAN_REL_DERIVED_LOWER_LEFT_TERTIARYβ-- undescribed --, no notes given.SDCA_CHAN_REL_DERIVED_LOWER_RIGHT_TERTIARYβ-- undescribed --, still undescribed π§SDCA_CHAN_REL_DERIVED_UPPER_LEFT_TERTIARYβ-- undescribed --, untouched in the source.SDCA_CHAN_REL_DERIVED_UPPER_RIGHT_TERTIARYβ-- undescribed --, nothing to add.SDCA_CHAN_REL_DERIVED_MONO_PRIMARYβ-- undescribed --, blank by design-ish.SDCA_CHAN_REL_DERIVED_MONO_SECONDARYβ-- undescribed --, no blurb exists.SDCA_CHAN_REL_DERIVED_MONO_TERTIARYβ-- undescribed --, that's the vibe πSDCA_CHAN_REL_EQUIPMENT_LEFTβ-- undescribed --, placeholder only, no cap.SDCA_CHAN_REL_EQUIPMENT_RIGHTβ-- undescribed --, left hanging.SDCA_CHAN_REL_EQUIPMENT_COMBINEDβ-- undescribed --, no description in the source.SDCA_CHAN_REL_EQUIPMENT_TOPβ-- undescribed --, blank, sorry bestie.SDCA_CHAN_REL_EQUIPMENT_BOTTOMβ-- undescribed --, nothing written.SDCA_CHAN_REL_EQUIPMENT_TOP_LEFTβ-- undescribed --, placeholder stays undefeated π₯SDCA_CHAN_REL_EQUIPMENT_BOTTOM_LEFTβ-- undescribed --, no notes.SDCA_CHAN_REL_EQUIPMENT_TOP_RIGHTβ-- undescribed --, left undescribed, literally.SDCA_CHAN_REL_EQUIPMENT_BOTTOM_RIGHTβ-- undescribed --, that's it, that's the entry.SDCA_CHAN_REL_EQUIPMENT_SILENCED_OUTPUTβ-- undescribed --, no explanation provided π€SDCA_CHAN_REL_ARRAYβ-- undescribed --, blank in the source.SDCA_CHAN_REL_MICβ-- undescribed --, no blurb attached.SDCA_CHAN_REL_RAWβ-- undescribed --, placeholder and nothing else.SDCA_CHAN_REL_SILENCED_MICβ-- undescribed --, still empty πSDCA_CHAN_REL_MULTI_SOURCE_1β-- undescribed --, docs left it blank.SDCA_CHAN_REL_MULTI_SOURCE_2β-- undescribed --, no description here either.SDCA_CHAN_REL_MULTI_SOURCE_3β-- undescribed --, untouched placeholder.SDCA_CHAN_REL_MULTI_SOURCE_4β-- undescribed --, last one in the list and still blank π
π DESCRIPTION π
So what is this whole thing? Channel Relationship codes, as described in the SDCA specification v1.0, section 11.4.2. That's the actual answer β the manpage hands you the spec and points at the section, and honestly? Valid. π
Like, that's the entire description in the source, bestie. The constants above are all placeholders saying -- undescribed --, and the real semantics live in the spec, section 11.4.2. Not me gatekeeping β that's literally what's written. π¦
enum sdca_function_type(9)β the function-type enum, your little starter pack for this whole corner of the header πstruct sdca_init_write(9)β a struct, and honestly the name is giving "setup era" β¨SDCA_CTL_TYPE(9)β all caps, zero lowercase, fully iconic πSDCA_CTL_TYPE_S(9)β the other one, with the_Son the end, and no we're not getting them confused (we are a little) π«Άenum sdca_messageoffset_range(9)β a range enum, very "the limits are the moment" of itenum sdca_ump_mode(9)β mode enum, slayenum sdca_ump_owner(9)β owner enum, also slayenum sdca_it_controls(9)β input-terminal controls, noted πenum sdca_ot_controls(9)β output-terminal controls, equally noted πenum sdca_usage_range(9)β a range, bestie, a range πenum sdca_dataport_selector_range(9)β long name, big energy, still just a range πenum sdca_mu_controls(9)β mu controls, go offenum sdca_su_controls(9)β su controls, go off againenum sdca_fu_controls(9)β fu controls, the trilogy continues π₯enum sdca_volume_range(9)β volume range, turn it upenum sdca_xu_controls(9)β xu controls, iconicenum sdca_fdl_set_index_range(9)β an index range for fdl sets, say that five times fast πenum sdca_cs_controls(9)β cs controls, present and accounted forenum sdca_samplerateindex_range(9)β samplerate index range, no capenum sdca_cx_controls(9)β cx controls, we love a two-letter abbreviationenum sdca_pde_controls(9)β pde controls, hi bestieenum sdca_requested_ps_range(9)β requested ps range, the requested one specifically πenum sdca_ge_controls(9)β ge controls, here for itenum sdca_selected_mode_range(9)β selected mode range, very main characterenum sdca_detected_mode_values(9)β detected mode values, note the plural, it matters πenum sdca_spe_controls(9)β spe controls, gorgeousenum sdca_cru_controls(9)β cru controls, also gorgeousenum sdca_udmpu_controls(9)β udmpu controls, that's a lot of consonants and yet β¨enum sdca_mfpu_controls(9)β mfpu controls, repping the pu familyenum sdca_smpu_controls(9)β smpu controls, same family, different vibeenum sdca_sapu_controls(9)β sapu controls, the pu squad growsenum sdca_ppu_controls(9)β ppu controls, completing the lineup πenum sdca_tg_controls(9)β tg controls, short and sweetenum sdca_hide_controls(9)β hide controls, lowkey mysterious πenum sdca_entity0_controls(9)β entity zero controls, the most main character of entities βenum sdca_control_datatype(9)β control datatype, foundational honestlyenum sdca_access_mode(9)β access mode, we stan permissionsenum sdca_access_layer(9)β access layer, the layer under the layer π¦struct sdca_control_range(9)β control range struct, big "the limits" energystruct sdca_control(9)β the control struct itself, the blueprint, the moment πenum sdca_terminal_type(9)β terminal type enum, terminal rightsenum sdca_connector_type(9)β connector type enum, connector rights too πΈstruct sdca_entity_iot(9)β the iot entity struct, here for the loreenum sdca_clock_type(9)β clock type enum, tick tock bestie β°struct sdca_entity_cs(9)β the cs entity struct, part of the family portraitenum sdca_pde_power_state(9)β power state enum, powerful literally π₯struct sdca_pde_delay(9)β delay struct, it'll get there when it gets there πstruct sdca_entity_pde(9)β pde entity struct, assembled from the two aboveenum sdca_entity_type(9)β entity type enum, the classifier of classifiers πstruct sdca_ge_control(9)β ge control struct, control but make it a structstruct sdca_ge_mode(9)β ge mode struct, mode but make it a structstruct sdca_entity_ge(9)β ge entity struct, rounding out the ge trio πstruct sdca_entity_hide(9)β hide entity struct, hiding in plain sight πenum sdca_xu_reset_mechanism(9)β reset mechanism enum, reset era πstruct sdca_entity_xu(9)β xu entity struct, big struct energystruct sdca_entity(9)β the entity struct, the parent of the whole party πenum sdca_channel_purpose(9)β channel purpose enum, purpose found β¨struct sdca_channel(9)β channel struct, the whole point of the channel arcstruct sdca_cluster(9)β cluster struct, they travel in packsenum sdca_cluster_range(9)β cluster range enum, packs but with limitsstruct sdca_fdl_file(9)β fdl file struct, a whole file in a struct, obsessedstruct sdca_fdl_set(9)β fdl set struct, sets are slayingstruct sdca_fdl_data(9)β fdl data struct, the payload of the fdl cinematic universe πstruct sdca_function_hid(9)β function hid struct, hid is literally right there in the namestruct sdca_function_data(9)β function data struct, and that's the whole function arc wrapped, periodt π«Ά
That's the whole reading list, bestie β go click through them whenever, the header will not judge you π
Okay so that's a wrap on this one! It came out of the kernel docs, living in ./include/sound, dated October 2026, and it's titled enum sdca_ch...relationship(9) β the truncated-looking name is real, that's genuinely how it's printed, don't come for me π Go be iconic with your enums, 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