Lines Matching defs:info

378  * snd_ctl_open(). The object "info" must be allocated prior to calling this
382 * \param info The card information is stored here.
385 int snd_ctl_card_info(snd_ctl_t *ctl, snd_ctl_card_info_t *info)
387 assert(ctl && info);
388 return ctl->ops->card_info(ctl, info);
422 * \param info CTL element id/information pointer
425 int snd_ctl_elem_info(snd_ctl_t *ctl, snd_ctl_elem_info_t *info)
427 assert(ctl && info && (info->id.name[0] || info->id.numid));
428 return ctl->ops->element_info(ctl, info);
433 static bool validate_element_member_dimension(snd_ctl_elem_info_t *info)
438 if (info->dimen.d[0] == 0)
442 for (i = 0; i < ARRAY_SIZE(info->dimen.d); ++i) {
443 if (info->dimen.d[i] == 0)
445 members *= info->dimen.d[i];
447 if (members > info->count)
451 for (++i; i < ARRAY_SIZE(info->dimen.d); ++i) {
452 if (info->dimen.d[i] > 0)
456 return members == info->count;
459 #define validate_element_member_dimension(info) true
474 static inline int set_user_access(snd_ctl_elem_info_t *info)
476 if (info->access == 0) {
477 info->access = USER_ACCESS_DEFAULT;
479 if ((info->access & SNDRV_CTL_ELEM_ACCESS_READWRITE) == 0)
481 if (info->access & ~USER_ACCESS_SETTABLE)
483 info->access |= SNDRV_CTL_ELEM_ACCESS_USER;
488 int __snd_ctl_add_elem_set(snd_ctl_t *ctl, snd_ctl_elem_info_t *info,
492 if (ctl == NULL || info->id.name[0] == '\0')
495 if (set_user_access(info))
498 info->owner = element_count;
499 info->count = member_count;
501 if (!validate_element_member_dimension(info))
504 return ctl->ops->element_add(ctl, info);
512 * \param info Common information for a new element set, with ID of the first new
538 * <dd>Some arguments include invalid value; i.e. ID field in \a info has no
551 int snd_ctl_add_integer_elem_set(snd_ctl_t *ctl, snd_ctl_elem_info_t *info,
562 if (info == NULL)
565 info->type = SND_CTL_ELEM_TYPE_INTEGER;
566 info->value.integer.min = min;
567 info->value.integer.max = max;
568 info->value.integer.step = step;
570 err = __snd_ctl_add_elem_set(ctl, info, element_count, member_count);
573 numid = snd_ctl_elem_id_get_numid(&info->id);
576 data.id = info->id;
594 * \param info Common information for a new element set, with ID of the first new
633 int snd_ctl_add_integer64_elem_set(snd_ctl_t *ctl, snd_ctl_elem_info_t *info,
644 if (info == NULL)
647 info->type = SND_CTL_ELEM_TYPE_INTEGER64;
648 info->value.integer64.min = min;
649 info->value.integer64.max = max;
650 info->value.integer64.step = step;
652 err = __snd_ctl_add_elem_set(ctl, info, element_count, member_count);
655 numid = snd_ctl_elem_id_get_numid(&info->id);
658 data.id = info->id;
676 * \param info Common information for a new element set, with ID of the first new
711 int snd_ctl_add_boolean_elem_set(snd_ctl_t *ctl, snd_ctl_elem_info_t *info,
715 if (info == NULL)
718 info->type = SND_CTL_ELEM_TYPE_BOOLEAN;
719 info->value.integer.min = 0;
720 info->value.integer.max = 1;
722 return __snd_ctl_add_elem_set(ctl, info, element_count, member_count);
728 * \param info Common information for a new element set, with ID of the first new
768 int snd_ctl_add_enumerated_elem_set(snd_ctl_t *ctl, snd_ctl_elem_info_t *info,
778 if (info == NULL || labels == NULL)
781 info->type = SND_CTL_ELEM_TYPE_ENUMERATED;
782 info->owner = element_count;
783 info->count = member_count;
784 info->value.enumerated.items = items;
794 info->value.enumerated.names_ptr = (uintptr_t)buf;
795 info->value.enumerated.names_length = bytes;
802 err = __snd_ctl_add_elem_set(ctl, info, element_count, member_count);
812 * \param info Common information for a new element set, with ID of the first new
848 int snd_ctl_add_bytes_elem_set(snd_ctl_t *ctl, snd_ctl_elem_info_t *info,
852 if (info == NULL)
855 info->type = SND_CTL_ELEM_TYPE_BYTES;
857 return __snd_ctl_add_elem_set(ctl, info, element_count, member_count);
871 snd_ctl_elem_info_t info = {0};
875 info.id = *id;
877 return snd_ctl_add_integer_elem_set(ctl, &info, 1, member_count,
892 snd_ctl_elem_info_t info = {0};
896 info.id = *id;
898 return snd_ctl_add_integer64_elem_set(ctl, &info, 1, member_count,
912 snd_ctl_elem_info_t info = {0};
916 info.id = *id;
918 return snd_ctl_add_boolean_elem_set(ctl, &info, 1, member_count);
934 snd_ctl_elem_info_t info = {0};
938 info.id = *id;
940 return snd_ctl_add_enumerated_elem_set(ctl, &info, 1, member_count,
975 snd_ctl_elem_info_t info = {0};
979 info.id = *id;
980 info.type = SND_CTL_ELEM_TYPE_IEC958;
981 info.owner = 1;
982 info.count = 1;
983 return ctl->ops->element_add(ctl, &info);
1044 snd_ctl_elem_info_t *info = NULL;
1048 info = calloc(1, sizeof(*info));
1049 if (info == NULL)
1051 info->id = *id;
1052 id = &info->id;
1053 err = snd_ctl_elem_info(ctl, info);
1063 if (info)
1064 free(info);
1190 * \brief Get info about a hardware dependent device
1192 * \param info Hardware dependent device id/info pointer
1195 int snd_ctl_hwdep_info(snd_ctl_t *ctl, snd_hwdep_info_t * info)
1197 assert(ctl && info);
1198 return ctl->ops->hwdep_info(ctl, info);
1214 * \brief Get info about a PCM device
1216 * \param info PCM device id/info pointer
1219 int snd_ctl_pcm_info(snd_ctl_t *ctl, snd_pcm_info_t * info)
1221 assert(ctl && info);
1222 return ctl->ops->pcm_info(ctl, info);
1250 * \brief Get info about a RawMidi device
1252 * \param info RawMidi device id/info pointer
1255 int snd_ctl_rawmidi_info(snd_ctl_t *ctl, snd_rawmidi_info_t * info)
1257 assert(ctl && info);
1258 return ctl->ops->rawmidi_info(ctl, info);
1288 * \brief Get UMP Endpoint info about a UMP RawMidi device
1290 * \param info UMP Endpoint info pointer
1293 int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info)
1295 assert(ctl && info);
1296 return ctl->ops->ump_endpoint_info(ctl, info);
1300 * \brief Get UMP Block info about a UMP RawMidi device
1302 * \param info UMP Block info pointer
1305 int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info)
1307 assert(ctl && info);
1308 return ctl->ops->ump_block_info(ctl, info);
2132 * Allocate space for a card info object on the heap. The allocated memory
2162 * \brief Clear given card info object.
2166 * \param obj Card info object.
2186 * \brief Get the sound card index from the given info object.
2190 * \param obj The card info object.
2200 * \brief Get the sound card ID from the given info object.
2204 * \param obj The card info object.
2214 * \brief Get the sound card driver from the given info object.
2218 * \param obj The card info object.
2228 * \brief Get the sound card name from the given info object.
2232 * \param obj The card info object.
2242 * \brief Get the sound cards long name from the given info object.
2246 * \param obj The card info object.
2256 * \brief Get the sound card mixer name from the given info object.
2260 * \param obj The card info object.
2270 * \brief Get the sound cards "components" property from the given info object.
2274 * \param obj The card info object.
2611 * \brief Get type from a CTL element id/info
2612 * \param obj CTL element id/info
2622 * \brief Get info about readability from a CTL element id/info
2623 * \param obj CTL element id/info
2633 * \brief Get info about writability from a CTL element id/info
2634 * \param obj CTL element id/info
2644 * \brief Get info about notification feasibility from a CTL element id/info
2645 * \param obj CTL element id/info
2655 * \brief Get info about status from a CTL element id/info
2656 * \param obj CTL element id/info
2666 * \brief Get info whether an element is locked
2667 * \param obj CTL element id/info
2677 * \brief Get info if I own an element
2678 * \param obj CTL element id/info
2688 * \brief Get info if it's a user element
2689 * \param obj CTL element id/info
2699 * \brief Get info about TLV readability from a CTL element id/info
2700 * \param obj CTL element id/info
2710 * \brief Get info about TLV writeability from a CTL element id/info
2711 * \param obj CTL element id/info
2721 * \brief Get info about TLV command possibility from a CTL element id/info
2722 * \param obj CTL element id/info
2732 * \brief (DEPRECATED) Get info about values passing policy from a CTL element value
2733 * \param obj CTL element id/info
2745 * \param obj CTL element id/info
2755 * \brief Get number of value entries from a CTL element id/info
2756 * \param obj CTL element id/info
2766 * \brief Get minimum value from a #SND_CTL_ELEM_TYPE_INTEGER CTL element id/info
2767 * \param obj CTL element id/info
2778 * \brief Get maximum value from a #SND_CTL_ELEM_TYPE_INTEGER CTL element id/info
2779 * \param obj CTL element id/info
2790 * \brief Get value step from a #SND_CTL_ELEM_TYPE_INTEGER CTL element id/info
2791 * \param obj CTL element id/info
2802 * \brief Get minimum value from a #SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/info
2803 * \param obj CTL element id/info
2814 * \brief Get maximum value from a #SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/info
2815 * \param obj CTL element id/info
2826 * \brief Get value step from a #SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/info
2827 * \param obj CTL element id/info
2838 * \brief Get number of items available from a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/info
2839 * \param obj CTL element id/info
2850 * \brief Select item in a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/info
2851 * \param obj CTL element id/info
2861 * \brief Get name for selected item in a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/info
2862 * \param obj CTL element id/info
2874 * \param obj CTL element id/info
2902 * \param obj CTL element id/info
2928 * \param info Information of an element.
2944 int snd_ctl_elem_info_set_dimension(snd_ctl_elem_info_t *info ATTRIBUTE_UNUSED,
2950 if (info == NULL)
2953 for (i = 0; i < ARRAY_SIZE(info->dimen.d); i++) {
2957 info->dimen.d[i] = dimension[i];
2967 * \brief Get CTL element identifier of a CTL element id/info
2968 * \param obj CTL element id/info
2978 * \brief Get element numeric identifier of a CTL element id/info
2979 * \param obj CTL element id/info
2989 * \brief Get interface part of CTL element identifier of a CTL element id/info
2990 * \param obj CTL element id/info
3000 * \brief Get device part of CTL element identifier of a CTL element id/info
3001 * \param obj CTL element id/info
3011 * \brief Get subdevice part of CTL element identifier of a CTL element id/info
3012 * \param obj CTL element id/info
3022 * \brief Get name part of CTL element identifier of a CTL element id/info
3023 * \param obj CTL element id/info
3033 * \brief Get index part of CTL element identifier of a CTL element id/info
3034 * \param obj CTL element id/info
3044 * \brief Set CTL element identifier of a CTL element id/info
3045 * \param obj CTL element id/info
3055 * \brief Set element numeric identifier of a CTL element id/info
3056 * \param obj CTL element id/info
3066 * \brief Set interface part of CTL element identifier of a CTL element id/info
3067 * \param obj CTL element id/info
3077 * \brief Set device part of CTL element identifier of a CTL element id/info
3078 * \param obj CTL element id/info
3088 * \brief Set subdevice part of CTL element identifier of a CTL element id/info
3089 * \param obj CTL element id/info
3099 * \brief Set name part of CTL element identifier of a CTL element id/info
3100 * \param obj CTL element id/info
3110 * \brief Set index part of CTL element identifier of a CTL element id/info
3111 * \param obj CTL element id/info
3121 * \brief Set readability/writeability parameter of a CTL element id/info
3122 * \param obj CTL element id/info
3135 * \brief Set TLV readability/writeability parameter of a CTL element id/info
3136 * \param obj CTL element id/info
3149 * \brief Set inactive parameter of a CTL element id/info
3150 * \param obj CTL element id/info