struct snd_ctl_ext_callback

Overview

Callback table of ext. Moreā€¦

#include <control_external.h>

struct snd_ctl_ext_callback {
    // fields

    void(* close)(snd_ctl_ext_t *ext);
    int(* elem_count)(snd_ctl_ext_t *ext);
    int(* elem_list)(snd_ctl_ext_t *ext, unsigned int offset, snd_ctl_elem_id_t *id);
    snd_ctl_ext_key_t(* find_elem)(snd_ctl_ext_t *ext, const snd_ctl_elem_id_t *id);
    void(* free_key)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key);
    int(* get_attribute)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int *type, unsigned int *acc, unsigned int *count);
    int(* get_integer_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *imin, long *imax, long *istep);
    int(* get_integer64_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *imin, int64_t *imax, int64_t *istep);
    int(* get_enumerated_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items);
    int(* get_enumerated_name)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int item, char *name, size_t name_max_len);
    int(* read_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value);
    int(* read_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value);
    int(* read_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items);
    int(* read_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes);
    int(* read_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958);
    int(* write_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value);
    int(* write_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value);
    int(* write_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items);
    int(* write_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes);
    int(* write_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958);
    void(* subscribe_events)(snd_ctl_ext_t *ext, int subscribe);
    int(* read_event)(snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id, unsigned int *event_mask);
    int(* poll_descriptors_count)(snd_ctl_ext_t *ext);
    int(* poll_descriptors)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int space);
    int(* poll_revents)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
};

Detailed Documentation

Callback table of ext.

Callback table of control ext

Fields

void(* close)(snd_ctl_ext_t *ext)

close the control handle; optional

int(* elem_count)(snd_ctl_ext_t *ext)

return the total number of elements; required

int(* elem_list)(snd_ctl_ext_t *ext, unsigned int offset, snd_ctl_elem_id_t *id)

return the element id of the given offset (array index); required

snd_ctl_ext_key_t(* find_elem)(snd_ctl_ext_t *ext, const snd_ctl_elem_id_t *id)

convert the element id to a search key; required

void(* free_key)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key)

the destructor of the key; optional

int(* get_attribute)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int *type, unsigned int *acc, unsigned int *count)

get the attribute of the element; required

int(* get_integer_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *imin, long *imax, long *istep)

get the element information of integer type

int(* get_integer64_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *imin, int64_t *imax, int64_t *istep)

get the element information of integer64 type

int(* get_enumerated_info)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)

get the element information of enumerated type

int(* get_enumerated_name)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int item, char *name, size_t name_max_len)

get the name of the enumerated item

int(* read_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value)

read the current values of integer type

int(* read_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value)

read the current values of integer64 type

int(* read_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)

read the current values of enumerated type

int(* read_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes)

read the current values of bytes type

int(* read_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958)

read the current values of iec958 type

int(* write_integer)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, long *value)

update the current values of integer type with the given values

int(* write_integer64)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, int64_t *value)

update the current values of integer64 type with the given values

int(* write_enumerated)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned int *items)

update the current values of enumerated type with the given values

int(* write_bytes)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, unsigned char *data, size_t max_bytes)

update the current values of bytes type with the given values

int(* write_iec958)(snd_ctl_ext_t *ext, snd_ctl_ext_key_t key, snd_aes_iec958_t *iec958)

update the current values of iec958 type with the given values

void(* subscribe_events)(snd_ctl_ext_t *ext, int subscribe)

subscribe/unsubscribe the event notification; optional

int(* read_event)(snd_ctl_ext_t *ext, snd_ctl_elem_id_t *id, unsigned int *event_mask)

read a pending notification event; optional

int(* poll_descriptors_count)(snd_ctl_ext_t *ext)

return the number of poll descriptors; optional

int(* poll_descriptors)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int space)

fill the poll descriptors; optional

int(* poll_revents)(snd_ctl_ext_t *ext, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)

mangle the revents of poll descriptors