diff --git a/Cargo.toml b/Cargo.toml index 830fe688..d4b0424c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,6 +51,7 @@ net = [] netlink = [] prctl = [] ptrace = [] +sound = [] system = [] vm_sockets = [] xdp = [] diff --git a/gen/include/stdlib.h b/gen/include/stdlib.h new file mode 100644 index 00000000..e69de29b diff --git a/gen/include/time.h b/gen/include/time.h new file mode 100644 index 00000000..f1d3fc04 --- /dev/null +++ b/gen/include/time.h @@ -0,0 +1,9 @@ +#ifndef _TIME_H +#define _TIME_H + +struct timespec { + long tv_sec; + long tv_nsec; +}; + +#endif diff --git a/gen/ioctl/csky-ioctls.txt b/gen/ioctl/csky-ioctls.txt index 949dbf80..f5b40e33 100644 --- a/gen/ioctl/csky-ioctls.txt +++ b/gen/ioctl/csky-ioctls.txt @@ -1499,4 +1499,93 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif diff --git a/gen/ioctl/generated.txt b/gen/ioctl/generated.txt index bf6daf5b..c3746d90 100644 --- a/gen/ioctl/generated.txt +++ b/gen/ioctl/generated.txt @@ -1497,3 +1497,92 @@ ACRN_IOCTL_DEASSIGN_PCIDEV ACRN_IOCTL_RESET_VM ACRN_IOCTL_DESTROY_IOREQ_CLIENT ACRN_IOCTL_VM_INTR_MONITOR +SNDRV_HWDEP_IOCTL_PVERSION +SNDRV_HWDEP_IOCTL_INFO +SNDRV_HWDEP_IOCTL_DSP_STATUS +SNDRV_HWDEP_IOCTL_DSP_LOAD +SNDRV_PCM_IOCTL_PVERSION +SNDRV_PCM_IOCTL_INFO +SNDRV_PCM_IOCTL_TSTAMP +SNDRV_PCM_IOCTL_TTSTAMP +SNDRV_PCM_IOCTL_USER_PVERSION +SNDRV_PCM_IOCTL_HW_REFINE +SNDRV_PCM_IOCTL_HW_PARAMS +SNDRV_PCM_IOCTL_HW_FREE +SNDRV_PCM_IOCTL_SW_PARAMS +SNDRV_PCM_IOCTL_STATUS +SNDRV_PCM_IOCTL_DELAY +SNDRV_PCM_IOCTL_HWSYNC +SNDRV_PCM_IOCTL_SYNC_PTR +SNDRV_PCM_IOCTL_STATUS_EXT +SNDRV_PCM_IOCTL_CHANNEL_INFO +SNDRV_PCM_IOCTL_PREPARE +SNDRV_PCM_IOCTL_RESET +SNDRV_PCM_IOCTL_START +SNDRV_PCM_IOCTL_DROP +SNDRV_PCM_IOCTL_DRAIN +SNDRV_PCM_IOCTL_PAUSE +SNDRV_PCM_IOCTL_REWIND +SNDRV_PCM_IOCTL_RESUME +SNDRV_PCM_IOCTL_XRUN +SNDRV_PCM_IOCTL_FORWARD +SNDRV_PCM_IOCTL_WRITEI_FRAMES +SNDRV_PCM_IOCTL_READI_FRAMES +SNDRV_PCM_IOCTL_WRITEN_FRAMES +SNDRV_PCM_IOCTL_READN_FRAMES +SNDRV_PCM_IOCTL_LINK +SNDRV_PCM_IOCTL_UNLINK +SNDRV_RAWMIDI_IOCTL_PVERSION +SNDRV_RAWMIDI_IOCTL_INFO +SNDRV_RAWMIDI_IOCTL_USER_PVERSION +SNDRV_RAWMIDI_IOCTL_PARAMS +SNDRV_RAWMIDI_IOCTL_STATUS +SNDRV_RAWMIDI_IOCTL_DROP +SNDRV_RAWMIDI_IOCTL_DRAIN +SNDRV_UMP_IOCTL_ENDPOINT_INFO +SNDRV_UMP_IOCTL_BLOCK_INFO +SNDRV_TIMER_IOCTL_PVERSION +SNDRV_TIMER_IOCTL_NEXT_DEVICE +SNDRV_TIMER_IOCTL_TREAD_OLD +SNDRV_TIMER_IOCTL_GINFO +SNDRV_TIMER_IOCTL_GPARAMS +SNDRV_TIMER_IOCTL_GSTATUS +SNDRV_TIMER_IOCTL_SELECT +SNDRV_TIMER_IOCTL_INFO +SNDRV_TIMER_IOCTL_PARAMS +SNDRV_TIMER_IOCTL_STATUS +SNDRV_TIMER_IOCTL_START +SNDRV_TIMER_IOCTL_STOP +SNDRV_TIMER_IOCTL_CONTINUE +SNDRV_TIMER_IOCTL_PAUSE +SNDRV_TIMER_IOCTL_TREAD64 +SNDRV_TIMER_IOCTL_CREATE +SNDRV_TIMER_IOCTL_TRIGGER +SNDRV_CTL_IOCTL_PVERSION +SNDRV_CTL_IOCTL_CARD_INFO +SNDRV_CTL_IOCTL_ELEM_LIST +SNDRV_CTL_IOCTL_ELEM_INFO +SNDRV_CTL_IOCTL_ELEM_READ +SNDRV_CTL_IOCTL_ELEM_WRITE +SNDRV_CTL_IOCTL_ELEM_LOCK +SNDRV_CTL_IOCTL_ELEM_UNLOCK +SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS +SNDRV_CTL_IOCTL_ELEM_ADD +SNDRV_CTL_IOCTL_ELEM_REPLACE +SNDRV_CTL_IOCTL_ELEM_REMOVE +SNDRV_CTL_IOCTL_TLV_READ +SNDRV_CTL_IOCTL_TLV_WRITE +SNDRV_CTL_IOCTL_TLV_COMMAND +SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE +SNDRV_CTL_IOCTL_HWDEP_INFO +SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE +SNDRV_CTL_IOCTL_PCM_INFO +SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE +SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE +SNDRV_CTL_IOCTL_RAWMIDI_INFO +SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE +SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE +SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO +SNDRV_CTL_IOCTL_UMP_BLOCK_INFO +SNDRV_CTL_IOCTL_POWER +SNDRV_CTL_IOCTL_POWER_STATE diff --git a/gen/ioctl/include/time.h b/gen/ioctl/include/time.h new file mode 100644 index 00000000..3386fff3 --- /dev/null +++ b/gen/ioctl/include/time.h @@ -0,0 +1,2 @@ +#include +typedef __kernel_time_t time_t; diff --git a/gen/ioctl/list.c b/gen/ioctl/list.c index be8b17be..a083ffc7 100644 --- a/gen/ioctl/list.c +++ b/gen/ioctl/list.c @@ -173,6 +173,7 @@ struct sockaddr { #include #include #include +#include #if defined(__powerpc64__) || defined(__powerpc__) typedef __kernel_loff_t loff_t; @@ -1833,4 +1834,95 @@ void list(void) { IOCTL_REQUEST(ACRN_IOCTL_RESET_VM); IOCTL_REQUEST(ACRN_IOCTL_DESTROY_IOREQ_CLIENT); IOCTL_REQUEST(ACRN_IOCTL_VM_INTR_MONITOR); + + // sound/asound.h - ALSA ioctls + IOCTL_REQUEST(SNDRV_HWDEP_IOCTL_PVERSION); + IOCTL_REQUEST(SNDRV_HWDEP_IOCTL_INFO); + IOCTL_REQUEST(SNDRV_HWDEP_IOCTL_DSP_STATUS); + IOCTL_REQUEST(SNDRV_HWDEP_IOCTL_DSP_LOAD); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_PVERSION); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_INFO); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_TSTAMP); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_TTSTAMP); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_USER_PVERSION); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_HW_REFINE); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_HW_PARAMS); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_HW_FREE); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_SW_PARAMS); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_STATUS); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_DELAY); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_HWSYNC); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_SYNC_PTR); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_STATUS_EXT); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_CHANNEL_INFO); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_PREPARE); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_RESET); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_START); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_DROP); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_DRAIN); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_PAUSE); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_REWIND); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_RESUME); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_XRUN); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_FORWARD); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_WRITEI_FRAMES); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_READI_FRAMES); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_WRITEN_FRAMES); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_READN_FRAMES); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_LINK); + IOCTL_REQUEST(SNDRV_PCM_IOCTL_UNLINK); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_PVERSION); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_INFO); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_USER_PVERSION); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_PARAMS); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_STATUS); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_DROP); + IOCTL_REQUEST(SNDRV_RAWMIDI_IOCTL_DRAIN); + IOCTL_REQUEST(SNDRV_UMP_IOCTL_ENDPOINT_INFO); + IOCTL_REQUEST(SNDRV_UMP_IOCTL_BLOCK_INFO); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_PVERSION); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_NEXT_DEVICE); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_TREAD_OLD); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_GINFO); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_GPARAMS); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_GSTATUS); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_SELECT); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_INFO); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_PARAMS); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_STATUS); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_START); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_STOP); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_CONTINUE); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_PAUSE); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_TREAD64); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_CREATE); + IOCTL_REQUEST(SNDRV_TIMER_IOCTL_TRIGGER); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_PVERSION); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_CARD_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_LIST); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_READ); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_WRITE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_LOCK); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_UNLOCK); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_ADD); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_REPLACE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_ELEM_REMOVE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_TLV_READ); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_TLV_WRITE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_TLV_COMMAND); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_HWDEP_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_PCM_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_RAWMIDI_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_UMP_BLOCK_INFO); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_POWER); + IOCTL_REQUEST(SNDRV_CTL_IOCTL_POWER_STATE); } diff --git a/gen/ioctl/loongarch-ioctls.txt b/gen/ioctl/loongarch-ioctls.txt index 75f715ff..b979adbe 100644 --- a/gen/ioctl/loongarch-ioctls.txt +++ b/gen/ioctl/loongarch-ioctls.txt @@ -1486,4 +1486,93 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x80984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x40184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x80184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x40184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x80184153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x40485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80605414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif diff --git a/gen/ioctl/riscv32-ioctls.txt b/gen/ioctl/riscv32-ioctls.txt index 786bd9fb..d9d10de3 100644 --- a/gen/ioctl/riscv32-ioctls.txt +++ b/gen/ioctl/riscv32-ioctls.txt @@ -1499,4 +1499,93 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif diff --git a/gen/modules/ioctl.h b/gen/modules/ioctl.h index 320b7cee..4bebb7f2 100644 --- a/gen/modules/ioctl.h +++ b/gen/modules/ioctl.h @@ -1499,6 +1499,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c45512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c45513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __x86_64__ #define FIONREAD 0x541bul @@ -3000,6 +3089,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x80984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x40184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x80184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x40184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x80184153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x40485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80605414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __aarch64__ #define FIONREAD 0x541bul @@ -4501,6 +4679,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x80984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x40184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x80184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x40184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x80184153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x40485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80605414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __arm__ #define FIONREAD 0x541bul @@ -6002,6 +6269,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __powerpc64__ #define FIONREAD 0x4004667ful @@ -7498,6 +7854,95 @@ #define ACRN_IOCTL_RESET_VM 0x2000a215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0x2000a234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x8008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x40044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x40dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x40404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x80604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x40044100ul +#define SNDRV_PCM_IOCTL_INFO 0x41204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x80044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x80044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x80044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x20004112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x40984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x40084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x20004122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x40184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x20004140ul +#define SNDRV_PCM_IOCTL_RESET 0x20004141ul +#define SNDRV_PCM_IOCTL_START 0x20004142ul +#define SNDRV_PCM_IOCTL_DROP 0x20004143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x20004144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x80044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x80084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x20004147ul +#define SNDRV_PCM_IOCTL_XRUN 0x20004148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x80084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x80184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x40184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x80184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x40184153ul +#define SNDRV_PCM_IOCTL_LINK 0x80044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x20004161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x40045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x410c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x80045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x80045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x80045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x41485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x40b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x40045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x80045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x80485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x80345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x40e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x80505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x40605414ul +#define SNDRV_TIMER_IOCTL_START 0x200054a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x200054a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x200054a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x200054a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x800454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x200054a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x40045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x41785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x80405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x80405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x40dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x40045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x80045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x80045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x400455d1ul #endif #if defined(__powerpc__) && !defined(__powerpc64__) #define FIONREAD 0x4004667ful @@ -8994,6 +9439,95 @@ #define ACRN_IOCTL_RESET_VM 0x2000a215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0x2000a234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x8004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x40044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x40dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x40404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x80504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x40044100ul +#define SNDRV_PCM_IOCTL_INFO 0x41204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x80044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x80044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x80044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x20004112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x406c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x40044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x20004122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x40104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x20004140ul +#define SNDRV_PCM_IOCTL_RESET 0x20004141ul +#define SNDRV_PCM_IOCTL_START 0x20004142ul +#define SNDRV_PCM_IOCTL_DROP 0x20004143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x20004144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x80044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x80044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x20004147ul +#define SNDRV_PCM_IOCTL_XRUN 0x20004148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x80044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x800c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x400c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x800c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x400c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x80044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x20004161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x40045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x410c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x80045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x80045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x80045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x41485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x40b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x40045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x80045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x803c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x80345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x40e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x80505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x40585414ul +#define SNDRV_TIMER_IOCTL_START 0x200054a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x200054a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x200054a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x200054a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x800454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x200054a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x40045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x41785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x80405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x80405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x40dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x40045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x80045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x80045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x400455d1ul #endif #if __mips == 64 #define FIONREAD 0x467ful @@ -10489,6 +11023,95 @@ #define ACRN_IOCTL_RESET_VM 0x2000a215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0x2000a234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x8008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x40044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x40dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x40404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x80604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x40044100ul +#define SNDRV_PCM_IOCTL_INFO 0x41204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x80044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x80044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x80044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x20004112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x40984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x40084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x20004122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x40184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x20004140ul +#define SNDRV_PCM_IOCTL_RESET 0x20004141ul +#define SNDRV_PCM_IOCTL_START 0x20004142ul +#define SNDRV_PCM_IOCTL_DROP 0x20004143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x20004144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x80044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x80084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x20004147ul +#define SNDRV_PCM_IOCTL_XRUN 0x20004148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x80084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x80184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x40184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x80184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x40184153ul +#define SNDRV_PCM_IOCTL_LINK 0x80044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x20004161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x40045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x410c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x80045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x80045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x80045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x41485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x40b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x40045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x80045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x80485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x80345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x40e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x80505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x40605414ul +#define SNDRV_TIMER_IOCTL_START 0x200054a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x200054a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x200054a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x200054a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x800454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x200054a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x40045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x41785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x80405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x80405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x40dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x40045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x80045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x80045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x400455d1ul #endif #if __mips == 32 #define FIONREAD 0x467ful @@ -11984,6 +12607,95 @@ #define ACRN_IOCTL_RESET_VM 0x2000a215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0x2000a234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x8004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x40044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x40dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x40404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x80504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x40044100ul +#define SNDRV_PCM_IOCTL_INFO 0x41204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x80044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x80044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x80044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x20004112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x406c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x40044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x20004122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x40104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x20004140ul +#define SNDRV_PCM_IOCTL_RESET 0x20004141ul +#define SNDRV_PCM_IOCTL_START 0x20004142ul +#define SNDRV_PCM_IOCTL_DROP 0x20004143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x20004144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x80044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x80044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x20004147ul +#define SNDRV_PCM_IOCTL_XRUN 0x20004148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x80044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x800c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x400c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x800c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x400c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x80044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x20004161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x40045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x410c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x80045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x80045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x80045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x41485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x40b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x40045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x80045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x803c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x80345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x40e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x80505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x40585414ul +#define SNDRV_TIMER_IOCTL_START 0x200054a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x200054a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x200054a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x200054a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x800454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x200054a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x40045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x41785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x80405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x80405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x40dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x40045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x80045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x80045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x400455d1ul #endif #if defined(__riscv) && __riscv_xlen == 32 #define FIONREAD 0x541bul @@ -13486,6 +14198,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #if defined(__riscv) && __riscv_xlen == 64 #define FIONREAD 0x541bul @@ -14987,6 +15788,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x80984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x40184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x80184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x40184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x80184153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x40485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80605414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #if defined(__s390x__) #define FIONREAD 0x541bul @@ -16488,6 +17378,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x80984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x40184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x80184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x40184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x80184153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x40485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80605414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __loongarch__ #define FIONREAD 0x541bul @@ -17977,6 +18956,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4008a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40604803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2604110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2604111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0884113ul +#define SNDRV_PCM_IOCTL_STATUS 0x80984120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80084121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0884123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc0984124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80184132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40084146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40084149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x40184150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x80184151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x40184152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x80184153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0305710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0385720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0f85403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x40485404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0505405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e85411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80605414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0505510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc4c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc4c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __csky__ #define FIONREAD 0x541bul @@ -19479,6 +20547,95 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #ifdef __m68k__ #define FIONREAD 0x541bul @@ -20980,5 +22137,94 @@ #define ACRN_IOCTL_RESET_VM 0xa215ul #define ACRN_IOCTL_DESTROY_IOREQ_CLIENT 0xa234ul #define ACRN_IOCTL_VM_INTR_MONITOR 0x4004a224ul +#define SNDRV_HWDEP_IOCTL_PVERSION 0x80044800ul +#define SNDRV_HWDEP_IOCTL_INFO 0x80dc4801ul +#define SNDRV_HWDEP_IOCTL_DSP_STATUS 0x80404802ul +#define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803ul +#define SNDRV_PCM_IOCTL_PVERSION 0x80044100ul +#define SNDRV_PCM_IOCTL_INFO 0x81204101ul +#define SNDRV_PCM_IOCTL_TSTAMP 0x40044102ul +#define SNDRV_PCM_IOCTL_TTSTAMP 0x40044103ul +#define SNDRV_PCM_IOCTL_USER_PVERSION 0x40044104ul +#define SNDRV_PCM_IOCTL_HW_REFINE 0xc2324110ul +#define SNDRV_PCM_IOCTL_HW_PARAMS 0xc2324111ul +#define SNDRV_PCM_IOCTL_HW_FREE 0x4112ul +#define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113ul +#define SNDRV_PCM_IOCTL_STATUS 0x806c4120ul +#define SNDRV_PCM_IOCTL_DELAY 0x80044121ul +#define SNDRV_PCM_IOCTL_HWSYNC 0x4122ul +#define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123ul +#define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124ul +#define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132ul +#define SNDRV_PCM_IOCTL_PREPARE 0x4140ul +#define SNDRV_PCM_IOCTL_RESET 0x4141ul +#define SNDRV_PCM_IOCTL_START 0x4142ul +#define SNDRV_PCM_IOCTL_DROP 0x4143ul +#define SNDRV_PCM_IOCTL_DRAIN 0x4144ul +#define SNDRV_PCM_IOCTL_PAUSE 0x40044145ul +#define SNDRV_PCM_IOCTL_REWIND 0x40044146ul +#define SNDRV_PCM_IOCTL_RESUME 0x4147ul +#define SNDRV_PCM_IOCTL_XRUN 0x4148ul +#define SNDRV_PCM_IOCTL_FORWARD 0x40044149ul +#define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150ul +#define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151ul +#define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152ul +#define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153ul +#define SNDRV_PCM_IOCTL_LINK 0x40044160ul +#define SNDRV_PCM_IOCTL_UNLINK 0x4161ul +#define SNDRV_RAWMIDI_IOCTL_PVERSION 0x80045700ul +#define SNDRV_RAWMIDI_IOCTL_INFO 0x810c5701ul +#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION 0x40045702ul +#define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc01e5710ul +#define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720ul +#define SNDRV_RAWMIDI_IOCTL_DROP 0x40045730ul +#define SNDRV_RAWMIDI_IOCTL_DRAIN 0x40045731ul +#define SNDRV_UMP_IOCTL_ENDPOINT_INFO 0x81485740ul +#define SNDRV_UMP_IOCTL_BLOCK_INFO 0x80b45741ul +#define SNDRV_TIMER_IOCTL_PVERSION 0x80045400ul +#define SNDRV_TIMER_IOCTL_NEXT_DEVICE 0xc0145401ul +#define SNDRV_TIMER_IOCTL_TREAD_OLD 0x40045402ul +#define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403ul +#define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404ul +#define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405ul +#define SNDRV_TIMER_IOCTL_SELECT 0x40345410ul +#define SNDRV_TIMER_IOCTL_INFO 0x80e05411ul +#define SNDRV_TIMER_IOCTL_PARAMS 0x40505412ul +#define SNDRV_TIMER_IOCTL_STATUS 0x80585414ul +#define SNDRV_TIMER_IOCTL_START 0x54a0ul +#define SNDRV_TIMER_IOCTL_STOP 0x54a1ul +#define SNDRV_TIMER_IOCTL_CONTINUE 0x54a2ul +#define SNDRV_TIMER_IOCTL_PAUSE 0x54a3ul +#define SNDRV_TIMER_IOCTL_TREAD64 0x400454a4ul +#define SNDRV_TIMER_IOCTL_CREATE 0xc02054a5ul +#define SNDRV_TIMER_IOCTL_TRIGGER 0x54a6ul +#define SNDRV_CTL_IOCTL_PVERSION 0x80045500ul +#define SNDRV_CTL_IOCTL_CARD_INFO 0x81785501ul +#define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0465510ul +#define SNDRV_CTL_IOCTL_ELEM_INFO 0xc1105511ul +#define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c25512ul +#define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c25513ul +#define SNDRV_CTL_IOCTL_ELEM_LOCK 0x40405514ul +#define SNDRV_CTL_IOCTL_ELEM_UNLOCK 0x40405515ul +#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 0xc0045516ul +#define SNDRV_CTL_IOCTL_ELEM_ADD 0xc1105517ul +#define SNDRV_CTL_IOCTL_ELEM_REPLACE 0xc1105518ul +#define SNDRV_CTL_IOCTL_ELEM_REMOVE 0xc0405519ul +#define SNDRV_CTL_IOCTL_TLV_READ 0xc008551aul +#define SNDRV_CTL_IOCTL_TLV_WRITE 0xc008551bul +#define SNDRV_CTL_IOCTL_TLV_COMMAND 0xc008551cul +#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 0xc0045520ul +#define SNDRV_CTL_IOCTL_HWDEP_INFO 0x80dc5521ul +#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 0x80045530ul +#define SNDRV_CTL_IOCTL_PCM_INFO 0xc1205531ul +#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 0x40045532ul +#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 0xc0045540ul +#define SNDRV_CTL_IOCTL_RAWMIDI_INFO 0xc10c5541ul +#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 0x40045542ul +#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE 0xc0045543ul +#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO 0xc1485544ul +#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO 0xc0b45545ul +#define SNDRV_CTL_IOCTL_POWER 0xc00455d0ul +#define SNDRV_CTL_IOCTL_POWER_STATE 0x800455d1ul #endif #include "ioctl-addendum.h" diff --git a/gen/modules/sound.h b/gen/modules/sound.h new file mode 100644 index 00000000..0a43e390 --- /dev/null +++ b/gen/modules/sound.h @@ -0,0 +1,12 @@ +// ALSA/sound userspace API headers. + +#include "support.h" + +// Ensure the kernel-style include path (linux/types.h, asm/byteorder.h) +// is used instead of the userspace path (endian.h, sys/ioctl.h), which +// may not resolve under -nostdinc on all architectures. +#ifndef __linux__ +#define __linux__ +#endif + +#include diff --git a/src/aarch64/ioctl.rs b/src/aarch64/ioctl.rs index b4c68a59..8842d3a2 100644 --- a/src/aarch64/ioctl.rs +++ b/src/aarch64/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1080051715; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2157461792; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2148024609; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2149073202; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074282822; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074282825; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1075331408; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2149073233; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1075331410; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2149073235; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1078481924; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162709521; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153796628; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/aarch64/sound.rs b/src/aarch64/sound.rs new file mode 100644 index 00000000..4c1035a3 --- /dev/null +++ b/src/aarch64/sound.rs @@ -0,0 +1,1460 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/arm/ioctl.rs b/src/arm/ioctl.rs index 8cf71c06..e46cbc5d 100644 --- a/src/arm/ioctl.rs +++ b/src/arm/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074045476; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1079003139; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2154578208; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2147762465; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2148548914; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074020678; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074020681; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1074544976; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2148286801; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1074544978; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2148286803; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1077695492; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162185233; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153272340; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267908882; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267908883; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/arm/sound.rs b/src/arm/sound.rs new file mode 100644 index 00000000..0b0b15f3 --- /dev/null +++ b/src/arm/sound.rs @@ -0,0 +1,1458 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 4usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/csky/ioctl.rs b/src/csky/ioctl.rs index 35c4c22c..29fcf9de 100644 --- a/src/csky/ioctl.rs +++ b/src/csky/ioctl.rs @@ -1500,3 +1500,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074045476; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1079003139; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2154578208; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2147762465; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2148548914; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074020678; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074020681; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1074544976; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2148286801; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1074544978; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2148286803; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1077695492; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162185233; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153272340; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267908882; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267908883; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/csky/sound.rs b/src/csky/sound.rs new file mode 100644 index 00000000..09315412 --- /dev/null +++ b/src/csky/sound.rs @@ -0,0 +1,1458 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 4usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/hexagon/sound.rs b/src/hexagon/sound.rs new file mode 100644 index 00000000..c378a0fb --- /dev/null +++ b/src/hexagon/sound.rs @@ -0,0 +1,1458 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 4usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u8)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/lib.rs b/src/lib.rs index e08e09b3..a233e105 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -298,6 +298,10 @@ pub mod prctl; #[cfg(target_arch = "arm")] #[path = "arm/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "arm")] +#[path = "arm/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "arm")] #[path = "arm/system.rs"] @@ -390,6 +394,10 @@ pub mod prctl; #[cfg(target_arch = "aarch64")] #[path = "aarch64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "aarch64")] +#[path = "aarch64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "aarch64")] #[path = "aarch64/system.rs"] @@ -482,6 +490,10 @@ pub mod prctl; #[cfg(target_arch = "csky")] #[path = "csky/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "csky")] +#[path = "csky/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "csky")] #[path = "csky/system.rs"] @@ -574,6 +586,10 @@ pub mod prctl; #[cfg(target_arch = "hexagon")] #[path = "hexagon/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "hexagon")] +#[path = "hexagon/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "hexagon")] #[path = "hexagon/system.rs"] @@ -666,6 +682,10 @@ pub mod prctl; #[cfg(target_arch = "loongarch64")] #[path = "loongarch64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "loongarch64")] +#[path = "loongarch64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "loongarch64")] #[path = "loongarch64/system.rs"] @@ -758,6 +778,10 @@ pub mod prctl; #[cfg(target_arch = "m68k")] #[path = "m68k/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "m68k")] +#[path = "m68k/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "m68k")] #[path = "m68k/system.rs"] @@ -850,6 +874,10 @@ pub mod prctl; #[cfg(target_arch = "mips")] #[path = "mips/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "mips")] +#[path = "mips/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "mips")] #[path = "mips/system.rs"] @@ -942,6 +970,10 @@ pub mod prctl; #[cfg(target_arch = "mips64")] #[path = "mips64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "mips64")] +#[path = "mips64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "mips64")] #[path = "mips64/system.rs"] @@ -1034,6 +1066,10 @@ pub mod prctl; #[cfg(target_arch = "mips32r6")] #[path = "mips32r6/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "mips32r6")] +#[path = "mips32r6/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "mips32r6")] #[path = "mips32r6/system.rs"] @@ -1126,6 +1162,10 @@ pub mod prctl; #[cfg(target_arch = "mips64r6")] #[path = "mips64r6/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "mips64r6")] +#[path = "mips64r6/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "mips64r6")] #[path = "mips64r6/system.rs"] @@ -1218,6 +1258,10 @@ pub mod prctl; #[cfg(target_arch = "powerpc")] #[path = "powerpc/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "powerpc")] +#[path = "powerpc/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "powerpc")] #[path = "powerpc/system.rs"] @@ -1310,6 +1354,10 @@ pub mod prctl; #[cfg(target_arch = "powerpc64")] #[path = "powerpc64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "powerpc64")] +#[path = "powerpc64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "powerpc64")] #[path = "powerpc64/system.rs"] @@ -1402,6 +1450,10 @@ pub mod prctl; #[cfg(target_arch = "riscv32")] #[path = "riscv32/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "riscv32")] +#[path = "riscv32/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "riscv32")] #[path = "riscv32/system.rs"] @@ -1494,6 +1546,10 @@ pub mod prctl; #[cfg(target_arch = "riscv64")] #[path = "riscv64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "riscv64")] +#[path = "riscv64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "riscv64")] #[path = "riscv64/system.rs"] @@ -1586,6 +1642,10 @@ pub mod prctl; #[cfg(target_arch = "s390x")] #[path = "s390x/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "s390x")] +#[path = "s390x/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "s390x")] #[path = "s390x/system.rs"] @@ -1678,6 +1738,10 @@ pub mod prctl; #[cfg(target_arch = "sparc")] #[path = "sparc/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "sparc")] +#[path = "sparc/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "sparc")] #[path = "sparc/system.rs"] @@ -1770,6 +1834,10 @@ pub mod prctl; #[cfg(target_arch = "sparc64")] #[path = "sparc64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "sparc64")] +#[path = "sparc64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "sparc64")] #[path = "sparc64/system.rs"] @@ -1862,6 +1930,10 @@ pub mod prctl; #[cfg(target_arch = "x86")] #[path = "x86/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(target_arch = "x86")] +#[path = "x86/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(target_arch = "x86")] #[path = "x86/system.rs"] @@ -1954,6 +2026,10 @@ pub mod prctl; #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[path = "x86_64/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] +#[path = "x86_64/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[path = "x86_64/system.rs"] @@ -2046,6 +2122,10 @@ pub mod prctl; #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] #[path = "x32/ptrace.rs"] pub mod ptrace; +#[cfg(feature = "sound")] +#[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] +#[path = "x32/sound.rs"] +pub mod sound; #[cfg(feature = "system")] #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] #[path = "x32/system.rs"] diff --git a/src/loongarch64/ioctl.rs b/src/loongarch64/ioctl.rs index c311d174..a341f008 100644 --- a/src/loongarch64/ioctl.rs +++ b/src/loongarch64/ioctl.rs @@ -1487,3 +1487,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1080051715; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2157461792; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2148024609; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2149073202; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074282822; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074282825; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1075331408; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2149073233; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1075331410; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2149073235; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1078481924; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162709521; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153796628; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/loongarch64/sound.rs b/src/loongarch64/sound.rs new file mode 100644 index 00000000..5d31dfe0 --- /dev/null +++ b/src/loongarch64/sound.rs @@ -0,0 +1,1460 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/m68k/ioctl.rs b/src/m68k/ioctl.rs index c01543b4..5452f19b 100644 --- a/src/m68k/ioctl.rs +++ b/src/m68k/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076011606; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074045476; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1079003139; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3258073360; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3258073361; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2154578208; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2147762465; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2148548914; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074020678; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074020681; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1074544976; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2148286801; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1074544978; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2148286803; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223213840; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1077695492; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162185233; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153272340; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225834768; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267515666; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267515667; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/m68k/sound.rs b/src/m68k/sound.rs new file mode 100644 index 00000000..87f90547 --- /dev/null +++ b/src/m68k/sound.rs @@ -0,0 +1,1458 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 4usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u16; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/mips/ioctl.rs b/src/mips/ioctl.rs index 38661d7b..97896f3c 100644 --- a/src/mips/ioctl.rs +++ b/src/mips/ioctl.rs @@ -1493,3 +1493,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 2149884502; pub const ACRN_IOCTL_RESET_VM: u32 = 536912405; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 536912436; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 2147787300; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 1074022400; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 1088178177; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 1077954562; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 2152744963; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 1074020608; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 1092632833; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 2147762434; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 2147762435; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 2147762436; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 536887570; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 1080836384; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 1074020641; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 536887586; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 1074807090; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 536887616; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 536887617; +pub const SNDRV_PCM_IOCTL_START: u32 = 536887618; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 536887619; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 536887620; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 2147762501; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 2147762502; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 536887623; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 536887624; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 2147762505; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 2148286800; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 1074544977; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 2148286802; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 1074544979; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 2147762528; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 536887649; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 1074026240; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 1091327745; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 2147768066; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 2147768112; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 2147768113; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 1095259968; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 1085560641; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 1074025472; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 2147767298; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 2151437316; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 2150913040; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 1088443409; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 2152748050; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 1079530516; +pub const SNDRV_TIMER_IOCTL_START: u32 = 536892576; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 536892577; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 536892578; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 536892579; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 2147767460; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 536892582; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 1074025728; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 1098405121; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267908882; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267908883; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 2151699732; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 2151699733; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 1088181537; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 1074025776; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 2147767602; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 2147767618; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 1074025937; diff --git a/src/mips/sound.rs b/src/mips/sound.rs new file mode 100644 index 00000000..466c860b --- /dev/null +++ b/src/mips/sound.rs @@ -0,0 +1,1468 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 4usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/mips32r6/ioctl.rs b/src/mips32r6/ioctl.rs index 38661d7b..97896f3c 100644 --- a/src/mips32r6/ioctl.rs +++ b/src/mips32r6/ioctl.rs @@ -1493,3 +1493,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 2149884502; pub const ACRN_IOCTL_RESET_VM: u32 = 536912405; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 536912436; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 2147787300; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 1074022400; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 1088178177; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 1077954562; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 2152744963; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 1074020608; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 1092632833; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 2147762434; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 2147762435; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 2147762436; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 536887570; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 1080836384; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 1074020641; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 536887586; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 1074807090; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 536887616; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 536887617; +pub const SNDRV_PCM_IOCTL_START: u32 = 536887618; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 536887619; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 536887620; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 2147762501; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 2147762502; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 536887623; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 536887624; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 2147762505; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 2148286800; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 1074544977; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 2148286802; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 1074544979; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 2147762528; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 536887649; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 1074026240; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 1091327745; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 2147768066; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 2147768112; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 2147768113; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 1095259968; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 1085560641; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 1074025472; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 2147767298; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 2151437316; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 2150913040; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 1088443409; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 2152748050; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 1079530516; +pub const SNDRV_TIMER_IOCTL_START: u32 = 536892576; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 536892577; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 536892578; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 536892579; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 2147767460; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 536892582; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 1074025728; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 1098405121; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267908882; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267908883; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 2151699732; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 2151699733; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 1088181537; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 1074025776; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 2147767602; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 2147767618; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 1074025937; diff --git a/src/mips32r6/sound.rs b/src/mips32r6/sound.rs new file mode 100644 index 00000000..466c860b --- /dev/null +++ b/src/mips32r6/sound.rs @@ -0,0 +1,1468 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 4usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/mips64/ioctl.rs b/src/mips64/ioctl.rs index 7f9844ce..2a2ab934 100644 --- a/src/mips64/ioctl.rs +++ b/src/mips64/ioctl.rs @@ -1493,3 +1493,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 2149884502; pub const ACRN_IOCTL_RESET_VM: u32 = 536912405; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 536912436; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 2148049444; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 1074022400; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 1088178177; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 1077954562; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 2153793539; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 1074020608; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 1092632833; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 2147762434; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 2147762435; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 2147762436; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 536887570; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 1083719968; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 1074282785; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 536887586; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 1075331378; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 536887616; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 536887617; +pub const SNDRV_PCM_IOCTL_START: u32 = 536887618; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 536887619; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 536887620; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 2147762501; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 2148024646; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 536887623; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 536887624; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 2148024649; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 2149073232; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 1075331409; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 2149073234; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 1075331411; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 2147762528; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 536887649; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 1074026240; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 1091327745; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 2147768066; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 2147768112; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 2147768113; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 1095259968; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 1085560641; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 1074025472; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 2147767298; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 2152223748; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 2150913040; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 1088967697; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 2152748050; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 1080054804; +pub const SNDRV_TIMER_IOCTL_START: u32 = 536892576; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 536892577; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 536892578; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 536892579; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 2147767460; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 536892582; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 1074025728; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 1098405121; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 2151699732; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 2151699733; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 1088181537; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 1074025776; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 2147767602; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 2147767618; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 1074025937; diff --git a/src/mips64/sound.rs b/src/mips64/sound.rs new file mode 100644 index 00000000..036394cf --- /dev/null +++ b/src/mips64/sound.rs @@ -0,0 +1,1470 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_long; +pub type __u64 = crate::ctypes::c_ulong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/mips64r6/ioctl.rs b/src/mips64r6/ioctl.rs index 7f9844ce..2a2ab934 100644 --- a/src/mips64r6/ioctl.rs +++ b/src/mips64r6/ioctl.rs @@ -1493,3 +1493,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 2149884502; pub const ACRN_IOCTL_RESET_VM: u32 = 536912405; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 536912436; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 2148049444; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 1074022400; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 1088178177; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 1077954562; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 2153793539; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 1074020608; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 1092632833; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 2147762434; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 2147762435; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 2147762436; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 536887570; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 1083719968; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 1074282785; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 536887586; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 1075331378; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 536887616; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 536887617; +pub const SNDRV_PCM_IOCTL_START: u32 = 536887618; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 536887619; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 536887620; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 2147762501; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 2148024646; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 536887623; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 536887624; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 2148024649; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 2149073232; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 1075331409; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 2149073234; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 1075331411; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 2147762528; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 536887649; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 1074026240; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 1091327745; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 2147768066; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 2147768112; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 2147768113; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 1095259968; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 1085560641; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 1074025472; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 2147767298; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 2152223748; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 2150913040; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 1088967697; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 2152748050; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 1080054804; +pub const SNDRV_TIMER_IOCTL_START: u32 = 536892576; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 536892577; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 536892578; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 536892579; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 2147767460; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 536892582; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 1074025728; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 1098405121; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 2151699732; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 2151699733; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 1088181537; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 1074025776; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 2147767602; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 2147767618; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 1074025937; diff --git a/src/mips64r6/sound.rs b/src/mips64r6/sound.rs new file mode 100644 index 00000000..036394cf --- /dev/null +++ b/src/mips64r6/sound.rs @@ -0,0 +1,1470 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_long; +pub type __u64 = crate::ctypes::c_ulong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const _MIPS_ISA_MIPS1: u32 = 1; +pub const _MIPS_ISA_MIPS2: u32 = 2; +pub const _MIPS_ISA_MIPS3: u32 = 3; +pub const _MIPS_ISA_MIPS4: u32 = 4; +pub const _MIPS_ISA_MIPS5: u32 = 5; +pub const _MIPS_ISA_MIPS32: u32 = 6; +pub const _MIPS_ISA_MIPS64: u32 = 7; +pub const _MIPS_SIM_ABI32: u32 = 1; +pub const _MIPS_SIM_NABI32: u32 = 2; +pub const _MIPS_SIM_ABI64: u32 = 3; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/powerpc/ioctl.rs b/src/powerpc/ioctl.rs index 505b5977..81abf73d 100644 --- a/src/powerpc/ioctl.rs +++ b/src/powerpc/ioctl.rs @@ -1494,6 +1494,95 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 2149884502; pub const ACRN_IOCTL_RESET_VM: u32 = 536912405; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 536912436; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 2147787300; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 1074022400; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 1088178177; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 1077954562; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 2152744963; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 1074020608; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 1092632833; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 2147762434; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 2147762435; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 2147762436; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 536887570; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 1080836384; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 1074020641; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 536887586; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 1074807090; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 536887616; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 536887617; +pub const SNDRV_PCM_IOCTL_START: u32 = 536887618; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 536887619; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 536887620; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 2147762501; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 2147762502; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 536887623; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 536887624; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 2147762505; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 2148286800; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 1074544977; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 2148286802; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 1074544979; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 2147762528; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 536887649; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 1074026240; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 1091327745; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 2147768066; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 2147768112; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 2147768113; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 1095259968; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 1085560641; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 1074025472; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 2147767298; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 2151437316; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 2150913040; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 1088443409; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 2152748050; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 1079530516; +pub const SNDRV_TIMER_IOCTL_START: u32 = 536892576; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 536892577; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 536892578; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 536892579; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 2147767460; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 536892582; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 1074025728; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 1098405121; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267908882; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267908883; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 2151699732; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 2151699733; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 1088181537; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 1074025776; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 2147767602; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 2147767618; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 1074025937; pub const TCGETS2: u32 = 1076655123; pub const TCSETS2: u32 = 2150396948; pub const TCSETSF2: u32 = 2150396950; diff --git a/src/powerpc/sound.rs b/src/powerpc/sound.rs new file mode 100644 index 00000000..d2d55f01 --- /dev/null +++ b/src/powerpc/sound.rs @@ -0,0 +1,1464 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_short; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 4usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __vector128 { +pub u: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/powerpc64/ioctl.rs b/src/powerpc64/ioctl.rs index 96760421..57f523a5 100644 --- a/src/powerpc64/ioctl.rs +++ b/src/powerpc64/ioctl.rs @@ -1494,6 +1494,95 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 2149884502; pub const ACRN_IOCTL_RESET_VM: u32 = 536912405; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 536912436; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 2148049444; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 1074022400; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 1088178177; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 1077954562; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 2153793539; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 1074020608; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 1092632833; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 2147762434; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 2147762435; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 2147762436; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 536887570; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 1083719968; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 1074282785; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 536887586; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 1075331378; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 536887616; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 536887617; +pub const SNDRV_PCM_IOCTL_START: u32 = 536887618; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 536887619; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 536887620; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 2147762501; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 2148024646; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 536887623; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 536887624; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 2148024649; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 2149073232; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 1075331409; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 2149073234; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 1075331411; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 2147762528; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 536887649; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 1074026240; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 1091327745; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 2147768066; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 2147768112; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 2147768113; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 1095259968; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 1085560641; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 1074025472; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 2147767298; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 2152223748; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 2150913040; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 1088967697; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 2152748050; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 1080054804; +pub const SNDRV_TIMER_IOCTL_START: u32 = 536892576; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 536892577; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 536892578; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 536892579; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 2147767460; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 536892582; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 1074025728; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 1098405121; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 2151699732; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 2151699733; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 1088181537; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 1074025776; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 2147767602; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 2147767618; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 1074025937; pub const TCGETS2: u32 = 1076655123; pub const TCSETS2: u32 = 2150396948; pub const TCSETSF2: u32 = 2150396950; diff --git a/src/powerpc64/sound.rs b/src/powerpc64/sound.rs new file mode 100644 index 00000000..f8a90730 --- /dev/null +++ b/src/powerpc64/sound.rs @@ -0,0 +1,1466 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_long; +pub type __u64 = crate::ctypes::c_ulong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_dev_t = crate::ctypes::c_ulong; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct __vector128 { +pub u: [__u32; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/riscv32/ioctl.rs b/src/riscv32/ioctl.rs index 7d37c95d..bf0876cb 100644 --- a/src/riscv32/ioctl.rs +++ b/src/riscv32/ioctl.rs @@ -1500,3 +1500,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074045476; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1079003139; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2154578208; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2147762465; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2148548914; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074020678; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074020681; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1074544976; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2148286801; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1074544978; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2148286803; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1077695492; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162185233; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153272340; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267908882; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267908883; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/riscv32/sound.rs b/src/riscv32/sound.rs new file mode 100644 index 00000000..04a071ee --- /dev/null +++ b/src/riscv32/sound.rs @@ -0,0 +1,1458 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 4usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/riscv64/ioctl.rs b/src/riscv64/ioctl.rs index b4c68a59..8842d3a2 100644 --- a/src/riscv64/ioctl.rs +++ b/src/riscv64/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1080051715; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2157461792; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2148024609; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2149073202; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074282822; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074282825; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1075331408; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2149073233; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1075331410; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2149073235; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1078481924; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162709521; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153796628; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/riscv64/sound.rs b/src/riscv64/sound.rs new file mode 100644 index 00000000..5d31dfe0 --- /dev/null +++ b/src/riscv64/sound.rs @@ -0,0 +1,1460 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/s390x/ioctl.rs b/src/s390x/ioctl.rs index 6b91e358..46acee69 100644 --- a/src/s390x/ioctl.rs +++ b/src/s390x/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1080051715; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2157461792; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2148024609; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2149073202; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074282822; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074282825; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1075331408; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2149073233; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1075331410; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2149073235; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1078481924; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162709521; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153796628; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/s390x/sound.rs b/src/s390x/sound.rs new file mode 100644 index 00000000..f61e1f66 --- /dev/null +++ b/src/s390x/sound.rs @@ -0,0 +1,1480 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type addr_t = crate::ctypes::c_ulong; +pub type saddr_t = crate::ctypes::c_long; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_size_t = crate::ctypes::c_ulong; +pub type __kernel_ssize_t = crate::ctypes::c_long; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_ino_t = crate::ctypes::c_uint; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_ptrdiff_t = crate::ctypes::c_long; +pub type __kernel_sigset_t = crate::ctypes::c_ulong; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub struct __vector128 { +pub __bindgen_anon_1: __vector128__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __vector128__bindgen_ty_1__bindgen_ty_1 { +pub high: __u64, +pub low: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __BIG_ENDIAN: u32 = 4321; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __vector128__bindgen_ty_1 { +pub __bindgen_anon_1: __vector128__bindgen_ty_1__bindgen_ty_1, +pub u: [__u32; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/sparc/sound.rs b/src/sparc/sound.rs new file mode 100644 index 00000000..ed10223f --- /dev/null +++ b/src/sparc/sound.rs @@ -0,0 +1,1674 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_long; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_daddr_t = crate::ctypes::c_long; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 4usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __BIG_ENDIAN: u32 = 4321; +pub const ASI_NULL1: u32 = 0; +pub const ASI_NULL2: u32 = 1; +pub const ASI_CONTROL: u32 = 2; +pub const ASI_SEGMAP: u32 = 3; +pub const ASI_PTE: u32 = 4; +pub const ASI_HWFLUSHSEG: u32 = 5; +pub const ASI_HWFLUSHPAGE: u32 = 6; +pub const ASI_REGMAP: u32 = 6; +pub const ASI_HWFLUSHCONTEXT: u32 = 7; +pub const ASI_USERTXT: u32 = 8; +pub const ASI_KERNELTXT: u32 = 9; +pub const ASI_USERDATA: u32 = 10; +pub const ASI_KERNELDATA: u32 = 11; +pub const ASI_FLUSHSEG: u32 = 12; +pub const ASI_FLUSHPG: u32 = 13; +pub const ASI_FLUSHCTX: u32 = 14; +pub const ASI_M_RES00: u32 = 0; +pub const ASI_M_UNA01: u32 = 1; +pub const ASI_M_MXCC: u32 = 2; +pub const ASI_M_FLUSH_PROBE: u32 = 3; +pub const ASI_M_MMUREGS: u32 = 4; +pub const ASI_M_TLBDIAG: u32 = 5; +pub const ASI_M_DIAGS: u32 = 6; +pub const ASI_M_IODIAG: u32 = 7; +pub const ASI_M_USERTXT: u32 = 8; +pub const ASI_M_KERNELTXT: u32 = 9; +pub const ASI_M_USERDATA: u32 = 10; +pub const ASI_M_KERNELDATA: u32 = 11; +pub const ASI_M_TXTC_TAG: u32 = 12; +pub const ASI_M_TXTC_DATA: u32 = 13; +pub const ASI_M_DATAC_TAG: u32 = 14; +pub const ASI_M_DATAC_DATA: u32 = 15; +pub const ASI_M_FLUSH_PAGE: u32 = 16; +pub const ASI_M_FLUSH_SEG: u32 = 17; +pub const ASI_M_FLUSH_REGION: u32 = 18; +pub const ASI_M_FLUSH_CTX: u32 = 19; +pub const ASI_M_FLUSH_USER: u32 = 20; +pub const ASI_M_BCOPY: u32 = 23; +pub const ASI_M_IFLUSH_PAGE: u32 = 24; +pub const ASI_M_IFLUSH_SEG: u32 = 25; +pub const ASI_M_IFLUSH_REGION: u32 = 26; +pub const ASI_M_IFLUSH_CTX: u32 = 27; +pub const ASI_M_IFLUSH_USER: u32 = 28; +pub const ASI_M_BFILL: u32 = 31; +pub const ASI_M_BYPASS: u32 = 32; +pub const ASI_M_FBMEM: u32 = 41; +pub const ASI_M_VMEUS: u32 = 42; +pub const ASI_M_VMEPS: u32 = 43; +pub const ASI_M_VMEUT: u32 = 44; +pub const ASI_M_VMEPT: u32 = 45; +pub const ASI_M_SBUS: u32 = 46; +pub const ASI_M_CTL: u32 = 47; +pub const ASI_M_FLUSH_IWHOLE: u32 = 49; +pub const ASI_M_IC_FLCLEAR: u32 = 54; +pub const ASI_M_DC_FLCLEAR: u32 = 55; +pub const ASI_M_DCDR: u32 = 57; +pub const ASI_M_VIKING_TMP1: u32 = 64; +pub const ASI_M_ACTION: u32 = 76; +pub const ASI_LEON_NOCACHE: u32 = 1; +pub const ASI_LEON_DCACHE_MISS: u32 = 1; +pub const ASI_LEON_CACHEREGS: u32 = 2; +pub const ASI_LEON_IFLUSH: u32 = 16; +pub const ASI_LEON_DFLUSH: u32 = 17; +pub const ASI_LEON_MMUFLUSH: u32 = 24; +pub const ASI_LEON_MMUREGS: u32 = 25; +pub const ASI_LEON_BYPASS: u32 = 28; +pub const ASI_LEON_FLUSH_PAGE: u32 = 16; +pub const ASI_N: u32 = 4; +pub const ASI_NL: u32 = 12; +pub const ASI_AIUP: u32 = 16; +pub const ASI_AIUS: u32 = 17; +pub const ASI_AIUPL: u32 = 24; +pub const ASI_AIUSL: u32 = 25; +pub const ASI_P: u32 = 128; +pub const ASI_S: u32 = 129; +pub const ASI_PNF: u32 = 130; +pub const ASI_SNF: u32 = 131; +pub const ASI_PL: u32 = 136; +pub const ASI_SL: u32 = 137; +pub const ASI_PNFL: u32 = 138; +pub const ASI_SNFL: u32 = 139; +pub const ASI_MCD_PRIV_PRIMARY: u32 = 2; +pub const ASI_MCD_REAL: u32 = 5; +pub const ASI_PHYS_USE_EC: u32 = 20; +pub const ASI_PHYS_BYPASS_EC_E: u32 = 21; +pub const ASI_BLK_AIUP_4V: u32 = 22; +pub const ASI_BLK_AIUS_4V: u32 = 23; +pub const ASI_PHYS_USE_EC_L: u32 = 28; +pub const ASI_PHYS_BYPASS_EC_E_L: u32 = 29; +pub const ASI_BLK_AIUP_L_4V: u32 = 30; +pub const ASI_BLK_AIUS_L_4V: u32 = 31; +pub const ASI_SCRATCHPAD: u32 = 32; +pub const ASI_MMU: u32 = 33; +pub const ASI_BLK_INIT_QUAD_LDD_AIUS: u32 = 35; +pub const ASI_NUCLEUS_QUAD_LDD: u32 = 36; +pub const ASI_QUEUE: u32 = 37; +pub const ASI_QUAD_LDD_PHYS_4V: u32 = 38; +pub const ASI_NUCLEUS_QUAD_LDD_L: u32 = 44; +pub const ASI_QUAD_LDD_PHYS_L_4V: u32 = 46; +pub const ASI_PCACHE_DATA_STATUS: u32 = 48; +pub const ASI_PCACHE_DATA: u32 = 49; +pub const ASI_PCACHE_TAG: u32 = 50; +pub const ASI_PCACHE_SNOOP_TAG: u32 = 51; +pub const ASI_QUAD_LDD_PHYS: u32 = 52; +pub const ASI_WCACHE_VALID_BITS: u32 = 56; +pub const ASI_WCACHE_DATA: u32 = 57; +pub const ASI_WCACHE_TAG: u32 = 58; +pub const ASI_WCACHE_SNOOP_TAG: u32 = 59; +pub const ASI_QUAD_LDD_PHYS_L: u32 = 60; +pub const ASI_SRAM_FAST_INIT: u32 = 64; +pub const ASI_CORE_AVAILABLE: u32 = 65; +pub const ASI_CORE_ENABLE_STAT: u32 = 65; +pub const ASI_CORE_ENABLE: u32 = 65; +pub const ASI_XIR_STEERING: u32 = 65; +pub const ASI_CORE_RUNNING_RW: u32 = 65; +pub const ASI_CORE_RUNNING_W1S: u32 = 65; +pub const ASI_CORE_RUNNING_W1C: u32 = 65; +pub const ASI_CORE_RUNNING_STAT: u32 = 65; +pub const ASI_CMT_ERROR_STEERING: u32 = 65; +pub const ASI_DCACHE_INVALIDATE: u32 = 66; +pub const ASI_DCACHE_UTAG: u32 = 67; +pub const ASI_DCACHE_SNOOP_TAG: u32 = 68; +pub const ASI_LSU_CONTROL: u32 = 69; +pub const ASI_DCU_CONTROL_REG: u32 = 69; +pub const ASI_DCACHE_DATA: u32 = 70; +pub const ASI_DCACHE_TAG: u32 = 71; +pub const ASI_INTR_DISPATCH_STAT: u32 = 72; +pub const ASI_INTR_RECEIVE: u32 = 73; +pub const ASI_UPA_CONFIG: u32 = 74; +pub const ASI_JBUS_CONFIG: u32 = 74; +pub const ASI_SAFARI_CONFIG: u32 = 74; +pub const ASI_SAFARI_ADDRESS: u32 = 74; +pub const ASI_ESTATE_ERROR_EN: u32 = 75; +pub const ASI_AFSR: u32 = 76; +pub const ASI_AFAR: u32 = 77; +pub const ASI_EC_TAG_DATA: u32 = 78; +pub const ASI_IMMU: u32 = 80; +pub const ASI_IMMU_TSB_8KB_PTR: u32 = 81; +pub const ASI_IMMU_TSB_64KB_PTR: u32 = 82; +pub const ASI_ITLB_DATA_IN: u32 = 84; +pub const ASI_ITLB_DATA_ACCESS: u32 = 85; +pub const ASI_ITLB_TAG_READ: u32 = 86; +pub const ASI_IMMU_DEMAP: u32 = 87; +pub const ASI_DMMU: u32 = 88; +pub const ASI_DMMU_TSB_8KB_PTR: u32 = 89; +pub const ASI_DMMU_TSB_64KB_PTR: u32 = 90; +pub const ASI_DMMU_TSB_DIRECT_PTR: u32 = 91; +pub const ASI_DTLB_DATA_IN: u32 = 92; +pub const ASI_DTLB_DATA_ACCESS: u32 = 93; +pub const ASI_DTLB_TAG_READ: u32 = 94; +pub const ASI_DMMU_DEMAP: u32 = 95; +pub const ASI_IIU_INST_TRAP: u32 = 96; +pub const ASI_INTR_ID: u32 = 99; +pub const ASI_CORE_ID: u32 = 99; +pub const ASI_CESR_ID: u32 = 99; +pub const ASI_IC_INSTR: u32 = 102; +pub const ASI_IC_TAG: u32 = 103; +pub const ASI_IC_STAG: u32 = 104; +pub const ASI_IC_PRE_DECODE: u32 = 110; +pub const ASI_IC_NEXT_FIELD: u32 = 111; +pub const ASI_BRPRED_ARRAY: u32 = 111; +pub const ASI_BLK_AIUP: u32 = 112; +pub const ASI_BLK_AIUS: u32 = 113; +pub const ASI_MCU_CTRL_REG: u32 = 114; +pub const ASI_EC_DATA: u32 = 116; +pub const ASI_EC_CTRL: u32 = 117; +pub const ASI_EC_W: u32 = 118; +pub const ASI_UDB_ERROR_W: u32 = 119; +pub const ASI_UDB_CONTROL_W: u32 = 119; +pub const ASI_INTR_W: u32 = 119; +pub const ASI_INTR_DATAN_W: u32 = 119; +pub const ASI_INTR_DISPATCH_W: u32 = 119; +pub const ASI_BLK_AIUPL: u32 = 120; +pub const ASI_BLK_AIUSL: u32 = 121; +pub const ASI_EC_R: u32 = 126; +pub const ASI_UDBH_ERROR_R: u32 = 127; +pub const ASI_UDBL_ERROR_R: u32 = 127; +pub const ASI_UDBH_CONTROL_R: u32 = 127; +pub const ASI_UDBL_CONTROL_R: u32 = 127; +pub const ASI_INTR_R: u32 = 127; +pub const ASI_INTR_DATAN_R: u32 = 127; +pub const ASI_MCD_PRIMARY: u32 = 144; +pub const ASI_MCD_ST_BLKINIT_PRIMARY: u32 = 146; +pub const ASI_PIC: u32 = 176; +pub const ASI_PST8_P: u32 = 192; +pub const ASI_PST8_S: u32 = 193; +pub const ASI_PST16_P: u32 = 194; +pub const ASI_PST16_S: u32 = 195; +pub const ASI_PST32_P: u32 = 196; +pub const ASI_PST32_S: u32 = 197; +pub const ASI_PST8_PL: u32 = 200; +pub const ASI_PST8_SL: u32 = 201; +pub const ASI_PST16_PL: u32 = 202; +pub const ASI_PST16_SL: u32 = 203; +pub const ASI_PST32_PL: u32 = 204; +pub const ASI_PST32_SL: u32 = 205; +pub const ASI_FL8_P: u32 = 208; +pub const ASI_FL8_S: u32 = 209; +pub const ASI_FL16_P: u32 = 210; +pub const ASI_FL16_S: u32 = 211; +pub const ASI_FL8_PL: u32 = 216; +pub const ASI_FL8_SL: u32 = 217; +pub const ASI_FL16_PL: u32 = 218; +pub const ASI_FL16_SL: u32 = 219; +pub const ASI_BLK_COMMIT_P: u32 = 224; +pub const ASI_BLK_COMMIT_S: u32 = 225; +pub const ASI_BLK_INIT_QUAD_LDD_P: u32 = 226; +pub const ASI_BLK_INIT_QUAD_LDD_S: u32 = 227; +pub const ASI_BLK_P: u32 = 240; +pub const ASI_BLK_S: u32 = 241; +pub const ASI_ST_BLKINIT_MRU_P: u32 = 242; +pub const ASI_ST_BLKINIT_MRU_S: u32 = 243; +pub const ASI_BLK_PL: u32 = 248; +pub const ASI_BLK_SL: u32 = 249; +pub const ASI_ST_BLKINIT_MRU_PL: u32 = 250; +pub const ASI_ST_BLKINIT_MRU_SL: u32 = 251; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/sparc64/sound.rs b/src/sparc64/sound.rs new file mode 100644 index 00000000..5f1cdbec --- /dev/null +++ b/src/sparc64/sound.rs @@ -0,0 +1,1682 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_suseconds_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_dev_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __kernel_old_timeval { +pub tv_sec: __kernel_long_t, +pub tv_usec: __kernel_suseconds_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __BIG_ENDIAN: u32 = 4321; +pub const ASI_NULL1: u32 = 0; +pub const ASI_NULL2: u32 = 1; +pub const ASI_CONTROL: u32 = 2; +pub const ASI_SEGMAP: u32 = 3; +pub const ASI_PTE: u32 = 4; +pub const ASI_HWFLUSHSEG: u32 = 5; +pub const ASI_HWFLUSHPAGE: u32 = 6; +pub const ASI_REGMAP: u32 = 6; +pub const ASI_HWFLUSHCONTEXT: u32 = 7; +pub const ASI_USERTXT: u32 = 8; +pub const ASI_KERNELTXT: u32 = 9; +pub const ASI_USERDATA: u32 = 10; +pub const ASI_KERNELDATA: u32 = 11; +pub const ASI_FLUSHSEG: u32 = 12; +pub const ASI_FLUSHPG: u32 = 13; +pub const ASI_FLUSHCTX: u32 = 14; +pub const ASI_M_RES00: u32 = 0; +pub const ASI_M_UNA01: u32 = 1; +pub const ASI_M_MXCC: u32 = 2; +pub const ASI_M_FLUSH_PROBE: u32 = 3; +pub const ASI_M_MMUREGS: u32 = 4; +pub const ASI_M_TLBDIAG: u32 = 5; +pub const ASI_M_DIAGS: u32 = 6; +pub const ASI_M_IODIAG: u32 = 7; +pub const ASI_M_USERTXT: u32 = 8; +pub const ASI_M_KERNELTXT: u32 = 9; +pub const ASI_M_USERDATA: u32 = 10; +pub const ASI_M_KERNELDATA: u32 = 11; +pub const ASI_M_TXTC_TAG: u32 = 12; +pub const ASI_M_TXTC_DATA: u32 = 13; +pub const ASI_M_DATAC_TAG: u32 = 14; +pub const ASI_M_DATAC_DATA: u32 = 15; +pub const ASI_M_FLUSH_PAGE: u32 = 16; +pub const ASI_M_FLUSH_SEG: u32 = 17; +pub const ASI_M_FLUSH_REGION: u32 = 18; +pub const ASI_M_FLUSH_CTX: u32 = 19; +pub const ASI_M_FLUSH_USER: u32 = 20; +pub const ASI_M_BCOPY: u32 = 23; +pub const ASI_M_IFLUSH_PAGE: u32 = 24; +pub const ASI_M_IFLUSH_SEG: u32 = 25; +pub const ASI_M_IFLUSH_REGION: u32 = 26; +pub const ASI_M_IFLUSH_CTX: u32 = 27; +pub const ASI_M_IFLUSH_USER: u32 = 28; +pub const ASI_M_BFILL: u32 = 31; +pub const ASI_M_BYPASS: u32 = 32; +pub const ASI_M_FBMEM: u32 = 41; +pub const ASI_M_VMEUS: u32 = 42; +pub const ASI_M_VMEPS: u32 = 43; +pub const ASI_M_VMEUT: u32 = 44; +pub const ASI_M_VMEPT: u32 = 45; +pub const ASI_M_SBUS: u32 = 46; +pub const ASI_M_CTL: u32 = 47; +pub const ASI_M_FLUSH_IWHOLE: u32 = 49; +pub const ASI_M_IC_FLCLEAR: u32 = 54; +pub const ASI_M_DC_FLCLEAR: u32 = 55; +pub const ASI_M_DCDR: u32 = 57; +pub const ASI_M_VIKING_TMP1: u32 = 64; +pub const ASI_M_ACTION: u32 = 76; +pub const ASI_LEON_NOCACHE: u32 = 1; +pub const ASI_LEON_DCACHE_MISS: u32 = 1; +pub const ASI_LEON_CACHEREGS: u32 = 2; +pub const ASI_LEON_IFLUSH: u32 = 16; +pub const ASI_LEON_DFLUSH: u32 = 17; +pub const ASI_LEON_MMUFLUSH: u32 = 24; +pub const ASI_LEON_MMUREGS: u32 = 25; +pub const ASI_LEON_BYPASS: u32 = 28; +pub const ASI_LEON_FLUSH_PAGE: u32 = 16; +pub const ASI_N: u32 = 4; +pub const ASI_NL: u32 = 12; +pub const ASI_AIUP: u32 = 16; +pub const ASI_AIUS: u32 = 17; +pub const ASI_AIUPL: u32 = 24; +pub const ASI_AIUSL: u32 = 25; +pub const ASI_P: u32 = 128; +pub const ASI_S: u32 = 129; +pub const ASI_PNF: u32 = 130; +pub const ASI_SNF: u32 = 131; +pub const ASI_PL: u32 = 136; +pub const ASI_SL: u32 = 137; +pub const ASI_PNFL: u32 = 138; +pub const ASI_SNFL: u32 = 139; +pub const ASI_MCD_PRIV_PRIMARY: u32 = 2; +pub const ASI_MCD_REAL: u32 = 5; +pub const ASI_PHYS_USE_EC: u32 = 20; +pub const ASI_PHYS_BYPASS_EC_E: u32 = 21; +pub const ASI_BLK_AIUP_4V: u32 = 22; +pub const ASI_BLK_AIUS_4V: u32 = 23; +pub const ASI_PHYS_USE_EC_L: u32 = 28; +pub const ASI_PHYS_BYPASS_EC_E_L: u32 = 29; +pub const ASI_BLK_AIUP_L_4V: u32 = 30; +pub const ASI_BLK_AIUS_L_4V: u32 = 31; +pub const ASI_SCRATCHPAD: u32 = 32; +pub const ASI_MMU: u32 = 33; +pub const ASI_BLK_INIT_QUAD_LDD_AIUS: u32 = 35; +pub const ASI_NUCLEUS_QUAD_LDD: u32 = 36; +pub const ASI_QUEUE: u32 = 37; +pub const ASI_QUAD_LDD_PHYS_4V: u32 = 38; +pub const ASI_NUCLEUS_QUAD_LDD_L: u32 = 44; +pub const ASI_QUAD_LDD_PHYS_L_4V: u32 = 46; +pub const ASI_PCACHE_DATA_STATUS: u32 = 48; +pub const ASI_PCACHE_DATA: u32 = 49; +pub const ASI_PCACHE_TAG: u32 = 50; +pub const ASI_PCACHE_SNOOP_TAG: u32 = 51; +pub const ASI_QUAD_LDD_PHYS: u32 = 52; +pub const ASI_WCACHE_VALID_BITS: u32 = 56; +pub const ASI_WCACHE_DATA: u32 = 57; +pub const ASI_WCACHE_TAG: u32 = 58; +pub const ASI_WCACHE_SNOOP_TAG: u32 = 59; +pub const ASI_QUAD_LDD_PHYS_L: u32 = 60; +pub const ASI_SRAM_FAST_INIT: u32 = 64; +pub const ASI_CORE_AVAILABLE: u32 = 65; +pub const ASI_CORE_ENABLE_STAT: u32 = 65; +pub const ASI_CORE_ENABLE: u32 = 65; +pub const ASI_XIR_STEERING: u32 = 65; +pub const ASI_CORE_RUNNING_RW: u32 = 65; +pub const ASI_CORE_RUNNING_W1S: u32 = 65; +pub const ASI_CORE_RUNNING_W1C: u32 = 65; +pub const ASI_CORE_RUNNING_STAT: u32 = 65; +pub const ASI_CMT_ERROR_STEERING: u32 = 65; +pub const ASI_DCACHE_INVALIDATE: u32 = 66; +pub const ASI_DCACHE_UTAG: u32 = 67; +pub const ASI_DCACHE_SNOOP_TAG: u32 = 68; +pub const ASI_LSU_CONTROL: u32 = 69; +pub const ASI_DCU_CONTROL_REG: u32 = 69; +pub const ASI_DCACHE_DATA: u32 = 70; +pub const ASI_DCACHE_TAG: u32 = 71; +pub const ASI_INTR_DISPATCH_STAT: u32 = 72; +pub const ASI_INTR_RECEIVE: u32 = 73; +pub const ASI_UPA_CONFIG: u32 = 74; +pub const ASI_JBUS_CONFIG: u32 = 74; +pub const ASI_SAFARI_CONFIG: u32 = 74; +pub const ASI_SAFARI_ADDRESS: u32 = 74; +pub const ASI_ESTATE_ERROR_EN: u32 = 75; +pub const ASI_AFSR: u32 = 76; +pub const ASI_AFAR: u32 = 77; +pub const ASI_EC_TAG_DATA: u32 = 78; +pub const ASI_IMMU: u32 = 80; +pub const ASI_IMMU_TSB_8KB_PTR: u32 = 81; +pub const ASI_IMMU_TSB_64KB_PTR: u32 = 82; +pub const ASI_ITLB_DATA_IN: u32 = 84; +pub const ASI_ITLB_DATA_ACCESS: u32 = 85; +pub const ASI_ITLB_TAG_READ: u32 = 86; +pub const ASI_IMMU_DEMAP: u32 = 87; +pub const ASI_DMMU: u32 = 88; +pub const ASI_DMMU_TSB_8KB_PTR: u32 = 89; +pub const ASI_DMMU_TSB_64KB_PTR: u32 = 90; +pub const ASI_DMMU_TSB_DIRECT_PTR: u32 = 91; +pub const ASI_DTLB_DATA_IN: u32 = 92; +pub const ASI_DTLB_DATA_ACCESS: u32 = 93; +pub const ASI_DTLB_TAG_READ: u32 = 94; +pub const ASI_DMMU_DEMAP: u32 = 95; +pub const ASI_IIU_INST_TRAP: u32 = 96; +pub const ASI_INTR_ID: u32 = 99; +pub const ASI_CORE_ID: u32 = 99; +pub const ASI_CESR_ID: u32 = 99; +pub const ASI_IC_INSTR: u32 = 102; +pub const ASI_IC_TAG: u32 = 103; +pub const ASI_IC_STAG: u32 = 104; +pub const ASI_IC_PRE_DECODE: u32 = 110; +pub const ASI_IC_NEXT_FIELD: u32 = 111; +pub const ASI_BRPRED_ARRAY: u32 = 111; +pub const ASI_BLK_AIUP: u32 = 112; +pub const ASI_BLK_AIUS: u32 = 113; +pub const ASI_MCU_CTRL_REG: u32 = 114; +pub const ASI_EC_DATA: u32 = 116; +pub const ASI_EC_CTRL: u32 = 117; +pub const ASI_EC_W: u32 = 118; +pub const ASI_UDB_ERROR_W: u32 = 119; +pub const ASI_UDB_CONTROL_W: u32 = 119; +pub const ASI_INTR_W: u32 = 119; +pub const ASI_INTR_DATAN_W: u32 = 119; +pub const ASI_INTR_DISPATCH_W: u32 = 119; +pub const ASI_BLK_AIUPL: u32 = 120; +pub const ASI_BLK_AIUSL: u32 = 121; +pub const ASI_EC_R: u32 = 126; +pub const ASI_UDBH_ERROR_R: u32 = 127; +pub const ASI_UDBL_ERROR_R: u32 = 127; +pub const ASI_UDBH_CONTROL_R: u32 = 127; +pub const ASI_UDBL_CONTROL_R: u32 = 127; +pub const ASI_INTR_R: u32 = 127; +pub const ASI_INTR_DATAN_R: u32 = 127; +pub const ASI_MCD_PRIMARY: u32 = 144; +pub const ASI_MCD_ST_BLKINIT_PRIMARY: u32 = 146; +pub const ASI_PIC: u32 = 176; +pub const ASI_PST8_P: u32 = 192; +pub const ASI_PST8_S: u32 = 193; +pub const ASI_PST16_P: u32 = 194; +pub const ASI_PST16_S: u32 = 195; +pub const ASI_PST32_P: u32 = 196; +pub const ASI_PST32_S: u32 = 197; +pub const ASI_PST8_PL: u32 = 200; +pub const ASI_PST8_SL: u32 = 201; +pub const ASI_PST16_PL: u32 = 202; +pub const ASI_PST16_SL: u32 = 203; +pub const ASI_PST32_PL: u32 = 204; +pub const ASI_PST32_SL: u32 = 205; +pub const ASI_FL8_P: u32 = 208; +pub const ASI_FL8_S: u32 = 209; +pub const ASI_FL16_P: u32 = 210; +pub const ASI_FL16_S: u32 = 211; +pub const ASI_FL8_PL: u32 = 216; +pub const ASI_FL8_SL: u32 = 217; +pub const ASI_FL16_PL: u32 = 218; +pub const ASI_FL16_SL: u32 = 219; +pub const ASI_BLK_COMMIT_P: u32 = 224; +pub const ASI_BLK_COMMIT_S: u32 = 225; +pub const ASI_BLK_INIT_QUAD_LDD_P: u32 = 226; +pub const ASI_BLK_INIT_QUAD_LDD_S: u32 = 227; +pub const ASI_BLK_P: u32 = 240; +pub const ASI_BLK_S: u32 = 241; +pub const ASI_ST_BLKINIT_MRU_P: u32 = 242; +pub const ASI_ST_BLKINIT_MRU_S: u32 = 243; +pub const ASI_BLK_PL: u32 = 248; +pub const ASI_BLK_SL: u32 = 249; +pub const ASI_ST_BLKINIT_MRU_PL: u32 = 250; +pub const ASI_ST_BLKINIT_MRU_SL: u32 = 251; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/x32/ioctl.rs b/src/x32/ioctl.rs index b4c68a59..8842d3a2 100644 --- a/src/x32/ioctl.rs +++ b/src/x32/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1080051715; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2157461792; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2148024609; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2149073202; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074282822; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074282825; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1075331408; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2149073233; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1075331410; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2149073235; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1078481924; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162709521; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153796628; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/x32/sound.rs b/src/x32/sound.rs new file mode 100644 index 00000000..8146df78 --- /dev/null +++ b/src/x32/sound.rs @@ -0,0 +1,1460 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_long_t = crate::ctypes::c_longlong; +pub type __kernel_ulong_t = crate::ctypes::c_ulonglong; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 4usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/x86/ioctl.rs b/src/x86/ioctl.rs index 3a104dee..f2df3fb4 100644 --- a/src/x86/ioctl.rs +++ b/src/x86/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074045476; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1079003139; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3260825872; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3260825873; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3228057875; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2154578208; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2147762465; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3229892899; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3228320036; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2148548914; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074020678; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074020681; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1074544976; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2148286801; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1074544978; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2148286803; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3223344912; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3223607072; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3235927043; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1077695492; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3225441285; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162185233; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153272340; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3225965840; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3267646738; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3267646739; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/x86/sound.rs b/src/x86/sound.rs new file mode 100644 index 00000000..35ce11f0 --- /dev/null +++ b/src/x86/sound.rs @@ -0,0 +1,1458 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_mode_t = crate::ctypes::c_ushort; +pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort; +pub type __kernel_uid_t = crate::ctypes::c_ushort; +pub type __kernel_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ushort; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_old_uid_t = __kernel_uid_t; +pub type __kernel_old_gid_t = __kernel_gid_t; +pub type __kernel_size_t = crate::ctypes::c_uint; +pub type __kernel_ssize_t = crate::ctypes::c_int; +pub type __kernel_ptrdiff_t = crate::ctypes::c_int; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 4usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct __time_pad { +pub pad: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 36usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u32; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +} diff --git a/src/x86_64/ioctl.rs b/src/x86_64/ioctl.rs index b4c68a59..8842d3a2 100644 --- a/src/x86_64/ioctl.rs +++ b/src/x86_64/ioctl.rs @@ -1499,3 +1499,92 @@ pub const ACRN_IOCTL_DEASSIGN_PCIDEV: u32 = 1076142678; pub const ACRN_IOCTL_RESET_VM: u32 = 41493; pub const ACRN_IOCTL_DESTROY_IOREQ_CLIENT: u32 = 41524; pub const ACRN_IOCTL_VM_INTR_MONITOR: u32 = 1074307620; +pub const SNDRV_HWDEP_IOCTL_PVERSION: u32 = 2147764224; +pub const SNDRV_HWDEP_IOCTL_INFO: u32 = 2161920001; +pub const SNDRV_HWDEP_IOCTL_DSP_STATUS: u32 = 2151696386; +pub const SNDRV_HWDEP_IOCTL_DSP_LOAD: u32 = 1080051715; +pub const SNDRV_PCM_IOCTL_PVERSION: u32 = 2147762432; +pub const SNDRV_PCM_IOCTL_INFO: u32 = 2166374657; +pub const SNDRV_PCM_IOCTL_TSTAMP: u32 = 1074020610; +pub const SNDRV_PCM_IOCTL_TTSTAMP: u32 = 1074020611; +pub const SNDRV_PCM_IOCTL_USER_PVERSION: u32 = 1074020612; +pub const SNDRV_PCM_IOCTL_HW_REFINE: u32 = 3261088016; +pub const SNDRV_PCM_IOCTL_HW_PARAMS: u32 = 3261088017; +pub const SNDRV_PCM_IOCTL_HW_FREE: u32 = 16658; +pub const SNDRV_PCM_IOCTL_SW_PARAMS: u32 = 3230155027; +pub const SNDRV_PCM_IOCTL_STATUS: u32 = 2157461792; +pub const SNDRV_PCM_IOCTL_DELAY: u32 = 2148024609; +pub const SNDRV_PCM_IOCTL_HWSYNC: u32 = 16674; +pub const SNDRV_PCM_IOCTL_SYNC_PTR: u32 = 3230155043; +pub const SNDRV_PCM_IOCTL_STATUS_EXT: u32 = 3231203620; +pub const SNDRV_PCM_IOCTL_CHANNEL_INFO: u32 = 2149073202; +pub const SNDRV_PCM_IOCTL_PREPARE: u32 = 16704; +pub const SNDRV_PCM_IOCTL_RESET: u32 = 16705; +pub const SNDRV_PCM_IOCTL_START: u32 = 16706; +pub const SNDRV_PCM_IOCTL_DROP: u32 = 16707; +pub const SNDRV_PCM_IOCTL_DRAIN: u32 = 16708; +pub const SNDRV_PCM_IOCTL_PAUSE: u32 = 1074020677; +pub const SNDRV_PCM_IOCTL_REWIND: u32 = 1074282822; +pub const SNDRV_PCM_IOCTL_RESUME: u32 = 16711; +pub const SNDRV_PCM_IOCTL_XRUN: u32 = 16712; +pub const SNDRV_PCM_IOCTL_FORWARD: u32 = 1074282825; +pub const SNDRV_PCM_IOCTL_WRITEI_FRAMES: u32 = 1075331408; +pub const SNDRV_PCM_IOCTL_READI_FRAMES: u32 = 2149073233; +pub const SNDRV_PCM_IOCTL_WRITEN_FRAMES: u32 = 1075331410; +pub const SNDRV_PCM_IOCTL_READN_FRAMES: u32 = 2149073235; +pub const SNDRV_PCM_IOCTL_LINK: u32 = 1074020704; +pub const SNDRV_PCM_IOCTL_UNLINK: u32 = 16737; +pub const SNDRV_RAWMIDI_IOCTL_PVERSION: u32 = 2147768064; +pub const SNDRV_RAWMIDI_IOCTL_INFO: u32 = 2165069569; +pub const SNDRV_RAWMIDI_IOCTL_USER_PVERSION: u32 = 1074026242; +pub const SNDRV_RAWMIDI_IOCTL_PARAMS: u32 = 3224393488; +pub const SNDRV_RAWMIDI_IOCTL_STATUS: u32 = 3224917792; +pub const SNDRV_RAWMIDI_IOCTL_DROP: u32 = 1074026288; +pub const SNDRV_RAWMIDI_IOCTL_DRAIN: u32 = 1074026289; +pub const SNDRV_UMP_IOCTL_ENDPOINT_INFO: u32 = 2169001792; +pub const SNDRV_UMP_IOCTL_BLOCK_INFO: u32 = 2159302465; +pub const SNDRV_TIMER_IOCTL_PVERSION: u32 = 2147767296; +pub const SNDRV_TIMER_IOCTL_NEXT_DEVICE: u32 = 3222557697; +pub const SNDRV_TIMER_IOCTL_TREAD_OLD: u32 = 1074025474; +pub const SNDRV_TIMER_IOCTL_GINFO: u32 = 3237499907; +pub const SNDRV_TIMER_IOCTL_GPARAMS: u32 = 1078481924; +pub const SNDRV_TIMER_IOCTL_GSTATUS: u32 = 3226489861; +pub const SNDRV_TIMER_IOCTL_SELECT: u32 = 1077171216; +pub const SNDRV_TIMER_IOCTL_INFO: u32 = 2162709521; +pub const SNDRV_TIMER_IOCTL_PARAMS: u32 = 1079006226; +pub const SNDRV_TIMER_IOCTL_STATUS: u32 = 2153796628; +pub const SNDRV_TIMER_IOCTL_START: u32 = 21664; +pub const SNDRV_TIMER_IOCTL_STOP: u32 = 21665; +pub const SNDRV_TIMER_IOCTL_CONTINUE: u32 = 21666; +pub const SNDRV_TIMER_IOCTL_PAUSE: u32 = 21667; +pub const SNDRV_TIMER_IOCTL_TREAD64: u32 = 1074025636; +pub const SNDRV_TIMER_IOCTL_CREATE: u32 = 3223344293; +pub const SNDRV_TIMER_IOCTL_TRIGGER: u32 = 21670; +pub const SNDRV_CTL_IOCTL_PVERSION: u32 = 2147767552; +pub const SNDRV_CTL_IOCTL_CARD_INFO: u32 = 2172146945; +pub const SNDRV_CTL_IOCTL_ELEM_LIST: u32 = 3226490128; +pub const SNDRV_CTL_IOCTL_ELEM_INFO: u32 = 3239073041; +pub const SNDRV_CTL_IOCTL_ELEM_READ: u32 = 3301463314; +pub const SNDRV_CTL_IOCTL_ELEM_WRITE: u32 = 3301463315; +pub const SNDRV_CTL_IOCTL_ELEM_LOCK: u32 = 1077957908; +pub const SNDRV_CTL_IOCTL_ELEM_UNLOCK: u32 = 1077957909; +pub const SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS: u32 = 3221509398; +pub const SNDRV_CTL_IOCTL_ELEM_ADD: u32 = 3239073047; +pub const SNDRV_CTL_IOCTL_ELEM_REPLACE: u32 = 3239073048; +pub const SNDRV_CTL_IOCTL_ELEM_REMOVE: u32 = 3225441561; +pub const SNDRV_CTL_IOCTL_TLV_READ: u32 = 3221771546; +pub const SNDRV_CTL_IOCTL_TLV_WRITE: u32 = 3221771547; +pub const SNDRV_CTL_IOCTL_TLV_COMMAND: u32 = 3221771548; +pub const SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE: u32 = 3221509408; +pub const SNDRV_CTL_IOCTL_HWDEP_INFO: u32 = 2161923361; +pub const SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: u32 = 2147767600; +pub const SNDRV_CTL_IOCTL_PCM_INFO: u32 = 3240121649; +pub const SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE: u32 = 1074025778; +pub const SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE: u32 = 3221509440; +pub const SNDRV_CTL_IOCTL_RAWMIDI_INFO: u32 = 3238810945; +pub const SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE: u32 = 1074025794; +pub const SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE: u32 = 3221509443; +pub const SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO: u32 = 3242743108; +pub const SNDRV_CTL_IOCTL_UMP_BLOCK_INFO: u32 = 3233043781; +pub const SNDRV_CTL_IOCTL_POWER: u32 = 3221509584; +pub const SNDRV_CTL_IOCTL_POWER_STATE: u32 = 2147767761; diff --git a/src/x86_64/sound.rs b/src/x86_64/sound.rs new file mode 100644 index 00000000..719140dd --- /dev/null +++ b/src/x86_64/sound.rs @@ -0,0 +1,1460 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub type __s8 = crate::ctypes::c_schar; +pub type __u8 = crate::ctypes::c_uchar; +pub type __s16 = crate::ctypes::c_short; +pub type __u16 = crate::ctypes::c_ushort; +pub type __s32 = crate::ctypes::c_int; +pub type __u32 = crate::ctypes::c_uint; +pub type __s64 = crate::ctypes::c_longlong; +pub type __u64 = crate::ctypes::c_ulonglong; +pub type __kernel_key_t = crate::ctypes::c_int; +pub type __kernel_mqd_t = crate::ctypes::c_int; +pub type __kernel_old_uid_t = crate::ctypes::c_ushort; +pub type __kernel_old_gid_t = crate::ctypes::c_ushort; +pub type __kernel_old_dev_t = crate::ctypes::c_ulong; +pub type __kernel_long_t = crate::ctypes::c_long; +pub type __kernel_ulong_t = crate::ctypes::c_ulong; +pub type __kernel_ino_t = __kernel_ulong_t; +pub type __kernel_mode_t = crate::ctypes::c_uint; +pub type __kernel_pid_t = crate::ctypes::c_int; +pub type __kernel_ipc_pid_t = crate::ctypes::c_int; +pub type __kernel_uid_t = crate::ctypes::c_uint; +pub type __kernel_gid_t = crate::ctypes::c_uint; +pub type __kernel_suseconds_t = __kernel_long_t; +pub type __kernel_daddr_t = crate::ctypes::c_int; +pub type __kernel_uid32_t = crate::ctypes::c_uint; +pub type __kernel_gid32_t = crate::ctypes::c_uint; +pub type __kernel_size_t = __kernel_ulong_t; +pub type __kernel_ssize_t = __kernel_long_t; +pub type __kernel_ptrdiff_t = __kernel_long_t; +pub type __kernel_off_t = __kernel_long_t; +pub type __kernel_loff_t = crate::ctypes::c_longlong; +pub type __kernel_old_time_t = __kernel_long_t; +pub type __kernel_time_t = __kernel_long_t; +pub type __kernel_time64_t = crate::ctypes::c_longlong; +pub type __kernel_clock_t = __kernel_long_t; +pub type __kernel_timer_t = crate::ctypes::c_int; +pub type __kernel_clockid_t = crate::ctypes::c_int; +pub type __kernel_caddr_t = *mut crate::ctypes::c_char; +pub type __kernel_uid16_t = crate::ctypes::c_ushort; +pub type __kernel_gid16_t = crate::ctypes::c_ushort; +pub type __s128 = i128; +pub type __u128 = u128; +pub type __le16 = __u16; +pub type __be16 = __u16; +pub type __le32 = __u32; +pub type __be32 = __u32; +pub type __le64 = __u64; +pub type __be64 = __u64; +pub type __sum16 = __u16; +pub type __wsum = __u32; +pub type __poll_t = crate::ctypes::c_uint; +pub type snd_pcm_uframes_t = crate::ctypes::c_ulong; +pub type snd_pcm_sframes_t = crate::ctypes::c_long; +pub type snd_pcm_access_t = crate::ctypes::c_int; +pub type snd_pcm_format_t = crate::ctypes::c_int; +pub type snd_pcm_subformat_t = crate::ctypes::c_int; +pub type snd_pcm_state_t = crate::ctypes::c_int; +pub type snd_pcm_hw_param_t = crate::ctypes::c_int; +pub type __pad_before_uframe = [crate::ctypes::c_char; 0usize]; +pub type __pad_after_uframe = [crate::ctypes::c_char; 0usize]; +pub type snd_ctl_elem_type_t = crate::ctypes::c_int; +pub type snd_ctl_elem_iface_t = crate::ctypes::c_int; +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { +storage: Storage, +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { +pub tv_sec: crate::ctypes::c_long, +pub tv_nsec: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_aes_iec958 { +pub status: [crate::ctypes::c_uchar; 24usize], +pub subcode: [crate::ctypes::c_uchar; 147usize], +pub pad: crate::ctypes::c_uchar, +pub dig_subframe: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_cea_861_aud_if { +pub db1_ct_cc: crate::ctypes::c_uchar, +pub db2_sf_ss: crate::ctypes::c_uchar, +pub db3: crate::ctypes::c_uchar, +pub db4_ca: crate::ctypes::c_uchar, +pub db5_dminh_lsv: crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_info { +pub device: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub iface: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_status { +pub version: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 32usize], +pub num_dsps: crate::ctypes::c_uint, +pub dsp_loaded: crate::ctypes::c_uint, +pub chip_ready: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_hwdep_dsp_image { +pub index: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 64usize], +pub image: *mut crate::ctypes::c_uchar, +pub length: usize, +pub driver_data: crate::ctypes::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub dev_class: crate::ctypes::c_int, +pub dev_subclass: crate::ctypes::c_int, +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub pad1: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_interval { +pub min: crate::ctypes::c_uint, +pub max: crate::ctypes::c_uint, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub __bindgen_padding_0: [u8; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_mask { +pub bits: [__u32; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_hw_params { +pub flags: crate::ctypes::c_uint, +pub masks: [snd_mask; 3usize], +pub mres: [snd_mask; 5usize], +pub intervals: [snd_interval; 12usize], +pub ires: [snd_interval; 9usize], +pub rmask: crate::ctypes::c_uint, +pub cmask: crate::ctypes::c_uint, +pub info: crate::ctypes::c_uint, +pub msbits: crate::ctypes::c_uint, +pub rate_num: crate::ctypes::c_uint, +pub rate_den: crate::ctypes::c_uint, +pub fifo_size: snd_pcm_uframes_t, +pub sync: [crate::ctypes::c_uchar; 16usize], +pub reserved: [crate::ctypes::c_uchar; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_sw_params { +pub tstamp_mode: crate::ctypes::c_int, +pub period_step: crate::ctypes::c_uint, +pub sleep_min: crate::ctypes::c_uint, +pub avail_min: snd_pcm_uframes_t, +pub xfer_align: snd_pcm_uframes_t, +pub start_threshold: snd_pcm_uframes_t, +pub stop_threshold: snd_pcm_uframes_t, +pub silence_threshold: snd_pcm_uframes_t, +pub silence_size: snd_pcm_uframes_t, +pub boundary: snd_pcm_uframes_t, +pub proto: crate::ctypes::c_uint, +pub tstamp_type: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 56usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_channel_info { +pub channel: crate::ctypes::c_uint, +pub offset: __kernel_off_t, +pub first: crate::ctypes::c_uint, +pub step: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __time_pad { +pub pad: [crate::ctypes::c_uchar; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_status { +pub state: snd_pcm_state_t, +pub pad1: __time_pad, +pub trigger_tstamp: timespec, +pub tstamp: timespec, +pub appl_ptr: snd_pcm_uframes_t, +pub hw_ptr: snd_pcm_uframes_t, +pub delay: snd_pcm_sframes_t, +pub avail: snd_pcm_uframes_t, +pub avail_max: snd_pcm_uframes_t, +pub overrange: snd_pcm_uframes_t, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp_data: __u32, +pub audio_tstamp: timespec, +pub driver_tstamp: timespec, +pub audio_tstamp_accuracy: __u32, +pub reserved: [crate::ctypes::c_uchar; 20usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __snd_timespec64 { +pub tv_sec: __s64, +pub tv_nsec: __s64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_status { +pub state: snd_pcm_state_t, +pub pad1: crate::ctypes::c_int, +pub hw_ptr: snd_pcm_uframes_t, +pub tstamp: timespec, +pub suspended_state: snd_pcm_state_t, +pub audio_tstamp: timespec, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_pcm_mmap_control { +pub appl_ptr: snd_pcm_uframes_t, +pub avail_min: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_pcm_sync_ptr { +pub flags: crate::ctypes::c_uint, +pub s: snd_pcm_sync_ptr__bindgen_ty_1, +pub c: snd_pcm_sync_ptr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_status64 { +pub state: snd_pcm_state_t, +pub pad1: __u32, +pub __pad1: __pad_before_uframe, +pub hw_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_after_uframe, +pub tstamp: __snd_timespec64, +pub suspended_state: snd_pcm_state_t, +pub pad3: __u32, +pub audio_tstamp: __snd_timespec64, +} +#[repr(C)] +#[derive(Debug)] +pub struct __snd_pcm_mmap_control64 { +pub __pad1: __pad_before_uframe, +pub appl_ptr: snd_pcm_uframes_t, +pub __pad2: __pad_before_uframe, +pub __pad3: __pad_before_uframe, +pub avail_min: snd_pcm_uframes_t, +pub __pad4: __pad_after_uframe, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64 { +pub flags: __u32, +pub pad1: __u32, +pub s: __snd_pcm_sync_ptr64__bindgen_ty_1, +pub c: __snd_pcm_sync_ptr64__bindgen_ty_2, +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_1 { +pub status: __BindgenUnionField<__snd_pcm_mmap_status64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +pub struct __snd_pcm_sync_ptr64__bindgen_ty_2 { +pub control: __BindgenUnionField<__snd_pcm_mmap_control64>, +pub reserved: __BindgenUnionField<[crate::ctypes::c_uchar; 64usize]>, +pub bindgen_union_field: [u64; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xferi { +pub result: snd_pcm_sframes_t, +pub buf: *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_xfern { +pub result: snd_pcm_sframes_t, +pub bufs: *mut *mut crate::ctypes::c_void, +pub frames: snd_pcm_uframes_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_info { +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub stream: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub subname: [crate::ctypes::c_uchar; 32usize], +pub subdevices_count: crate::ctypes::c_uint, +pub subdevices_avail: crate::ctypes::c_uint, +pub tied_device: crate::ctypes::c_int, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_framing_tstamp { +pub frame_type: __u8, +pub length: __u8, +pub reserved: [__u8; 2usize], +pub tv_nsec: __u32, +pub tv_sec: __u64, +pub data: [__u8; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_params { +pub stream: crate::ctypes::c_int, +pub buffer_size: usize, +pub avail_min: usize, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub mode: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 12usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_rawmidi_status { +pub stream: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub avail: usize, +pub xruns: usize, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_endpoint_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub flags: crate::ctypes::c_uint, +pub protocol_caps: crate::ctypes::c_uint, +pub protocol: crate::ctypes::c_uint, +pub num_blocks: crate::ctypes::c_uint, +pub version: crate::ctypes::c_ushort, +pub family_id: crate::ctypes::c_ushort, +pub model_id: crate::ctypes::c_ushort, +pub manufacturer_id: crate::ctypes::c_uint, +pub sw_revision: [crate::ctypes::c_uchar; 4usize], +pub padding: crate::ctypes::c_ushort, +pub name: [crate::ctypes::c_uchar; 128usize], +pub product_id: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ump_block_info { +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub block_id: crate::ctypes::c_uchar, +pub direction: crate::ctypes::c_uchar, +pub active: crate::ctypes::c_uchar, +pub first_group: crate::ctypes::c_uchar, +pub num_groups: crate::ctypes::c_uchar, +pub midi_ci_version: crate::ctypes::c_uchar, +pub sysex8_streams: crate::ctypes::c_uchar, +pub ui_hint: crate::ctypes::c_uchar, +pub flags: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 128usize], +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_id { +pub dev_class: crate::ctypes::c_int, +pub dev_sclass: crate::ctypes::c_int, +pub card: crate::ctypes::c_int, +pub device: crate::ctypes::c_int, +pub subdevice: crate::ctypes::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_ginfo { +pub tid: snd_timer_id, +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub resolution_min: crate::ctypes::c_ulong, +pub resolution_max: crate::ctypes::c_ulong, +pub clients: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gparams { +pub tid: snd_timer_id, +pub period_num: crate::ctypes::c_ulong, +pub period_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_gstatus { +pub tid: snd_timer_id, +pub resolution: crate::ctypes::c_ulong, +pub resolution_num: crate::ctypes::c_ulong, +pub resolution_den: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_select { +pub id: snd_timer_id, +pub reserved: [crate::ctypes::c_uchar; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_info { +pub flags: crate::ctypes::c_uint, +pub card: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 64usize], +pub name: [crate::ctypes::c_uchar; 80usize], +pub reserved0: crate::ctypes::c_ulong, +pub resolution: crate::ctypes::c_ulong, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_params { +pub flags: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +pub queue_size: crate::ctypes::c_uint, +pub reserved0: crate::ctypes::c_uint, +pub filter: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 60usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_status { +pub tstamp: timespec, +pub resolution: crate::ctypes::c_uint, +pub lost: crate::ctypes::c_uint, +pub overrun: crate::ctypes::c_uint, +pub queue: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_uinfo { +pub resolution: __u64, +pub fd: crate::ctypes::c_int, +pub id: crate::ctypes::c_uint, +pub reserved: [crate::ctypes::c_uchar; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_read { +pub resolution: crate::ctypes::c_uint, +pub ticks: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_timer_tread { +pub event: crate::ctypes::c_int, +pub pad1: __time_pad, +pub tstamp: timespec, +pub val: crate::ctypes::c_uint, +pub pad2: __time_pad, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_card_info { +pub card: crate::ctypes::c_int, +pub pad: crate::ctypes::c_int, +pub id: [crate::ctypes::c_uchar; 16usize], +pub driver: [crate::ctypes::c_uchar; 16usize], +pub name: [crate::ctypes::c_uchar; 32usize], +pub longname: [crate::ctypes::c_uchar; 80usize], +pub reserved_: [crate::ctypes::c_uchar; 16usize], +pub mixername: [crate::ctypes::c_uchar; 80usize], +pub components: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_id { +pub numid: crate::ctypes::c_uint, +pub iface: snd_ctl_elem_iface_t, +pub device: crate::ctypes::c_uint, +pub subdevice: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_uchar; 44usize], +pub index: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_list { +pub offset: crate::ctypes::c_uint, +pub space: crate::ctypes::c_uint, +pub used: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub pids: *mut snd_ctl_elem_id, +pub reserved: [crate::ctypes::c_uchar; 50usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_info { +pub id: snd_ctl_elem_id, +pub type_: snd_ctl_elem_type_t, +pub access: crate::ctypes::c_uint, +pub count: crate::ctypes::c_uint, +pub owner: __kernel_pid_t, +pub value: snd_ctl_elem_info__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1 { +pub min: crate::ctypes::c_long, +pub max: crate::ctypes::c_long, +pub step: crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2 { +pub min: crate::ctypes::c_longlong, +pub max: crate::ctypes::c_longlong, +pub step: crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3 { +pub items: crate::ctypes::c_uint, +pub item: crate::ctypes::c_uint, +pub name: [crate::ctypes::c_char; 64usize], +pub names_ptr: __u64, +pub names_length: crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_elem_value { +pub id: snd_ctl_elem_id, +pub _bitfield_align_1: [u8; 0], +pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +pub value: snd_ctl_elem_value__bindgen_ty_1, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct snd_ctl_tlv { +pub numid: crate::ctypes::c_uint, +pub length: crate::ctypes::c_uint, +pub tlv: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct snd_ctl_event { +pub type_: crate::ctypes::c_int, +pub data: snd_ctl_event__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct snd_ctl_event__bindgen_ty_1__bindgen_ty_1 { +pub mask: crate::ctypes::c_uint, +pub id: snd_ctl_elem_id, +} +pub const __BITS_PER_LONG_LONG: u32 = 64; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const AES_IEC958_STATUS_SIZE: u32 = 24; +pub const SNDRV_PCM_INFO_MMAP: u32 = 1; +pub const SNDRV_PCM_INFO_MMAP_VALID: u32 = 2; +pub const SNDRV_PCM_INFO_DOUBLE: u32 = 4; +pub const SNDRV_PCM_INFO_BATCH: u32 = 16; +pub const SNDRV_PCM_INFO_SYNC_APPLPTR: u32 = 32; +pub const SNDRV_PCM_INFO_PERFECT_DRAIN: u32 = 64; +pub const SNDRV_PCM_INFO_INTERLEAVED: u32 = 256; +pub const SNDRV_PCM_INFO_NONINTERLEAVED: u32 = 512; +pub const SNDRV_PCM_INFO_COMPLEX: u32 = 1024; +pub const SNDRV_PCM_INFO_BLOCK_TRANSFER: u32 = 65536; +pub const SNDRV_PCM_INFO_OVERRANGE: u32 = 131072; +pub const SNDRV_PCM_INFO_RESUME: u32 = 262144; +pub const SNDRV_PCM_INFO_PAUSE: u32 = 524288; +pub const SNDRV_PCM_INFO_HALF_DUPLEX: u32 = 1048576; +pub const SNDRV_PCM_INFO_JOINT_DUPLEX: u32 = 2097152; +pub const SNDRV_PCM_INFO_SYNC_START: u32 = 4194304; +pub const SNDRV_PCM_INFO_NO_PERIOD_WAKEUP: u32 = 8388608; +pub const SNDRV_PCM_INFO_HAS_WALL_CLOCK: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ATIME: u32 = 16777216; +pub const SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME: u32 = 33554432; +pub const SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME: u32 = 67108864; +pub const SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME: u32 = 134217728; +pub const SNDRV_PCM_INFO_EXPLICIT_SYNC: u32 = 268435456; +pub const SNDRV_PCM_INFO_NO_REWINDS: u32 = 536870912; +pub const SNDRV_PCM_INFO_DRAIN_TRIGGER: u32 = 1073741824; +pub const SNDRV_PCM_INFO_FIFO_IN_FRAMES: u32 = 2147483648; +pub const SNDRV_PCM_HW_PARAM_ACCESS: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_FORMAT: u32 = 1; +pub const SNDRV_PCM_HW_PARAM_SUBFORMAT: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_FIRST_MASK: u32 = 0; +pub const SNDRV_PCM_HW_PARAM_LAST_MASK: u32 = 2; +pub const SNDRV_PCM_HW_PARAM_SAMPLE_BITS: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_FRAME_BITS: u32 = 9; +pub const SNDRV_PCM_HW_PARAM_CHANNELS: u32 = 10; +pub const SNDRV_PCM_HW_PARAM_RATE: u32 = 11; +pub const SNDRV_PCM_HW_PARAM_PERIOD_TIME: u32 = 12; +pub const SNDRV_PCM_HW_PARAM_PERIOD_SIZE: u32 = 13; +pub const SNDRV_PCM_HW_PARAM_PERIOD_BYTES: u32 = 14; +pub const SNDRV_PCM_HW_PARAM_PERIODS: u32 = 15; +pub const SNDRV_PCM_HW_PARAM_BUFFER_TIME: u32 = 16; +pub const SNDRV_PCM_HW_PARAM_BUFFER_SIZE: u32 = 17; +pub const SNDRV_PCM_HW_PARAM_BUFFER_BYTES: u32 = 18; +pub const SNDRV_PCM_HW_PARAM_TICK_TIME: u32 = 19; +pub const SNDRV_PCM_HW_PARAM_FIRST_INTERVAL: u32 = 8; +pub const SNDRV_PCM_HW_PARAM_LAST_INTERVAL: u32 = 19; +pub const SNDRV_PCM_HW_PARAMS_NORESAMPLE: u32 = 1; +pub const SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER: u32 = 2; +pub const SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP: u32 = 4; +pub const SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE: u32 = 8; +pub const SNDRV_MASK_MAX: u32 = 256; +pub const SNDRV_PCM_SYNC_PTR_HWSYNC: u32 = 1; +pub const SNDRV_PCM_SYNC_PTR_APPL: u32 = 2; +pub const SNDRV_PCM_SYNC_PTR_AVAIL_MIN: u32 = 4; +pub const SNDRV_CHMAP_POSITION_MASK: u32 = 65535; +pub const SNDRV_CHMAP_PHASE_INVERSE: u32 = 65536; +pub const SNDRV_CHMAP_DRIVER_SPEC: u32 = 131072; +pub const SNDRV_RAWMIDI_INFO_OUTPUT: u32 = 1; +pub const SNDRV_RAWMIDI_INFO_INPUT: u32 = 2; +pub const SNDRV_RAWMIDI_INFO_DUPLEX: u32 = 4; +pub const SNDRV_RAWMIDI_INFO_UMP: u32 = 8; +pub const SNDRV_RAWMIDI_INFO_STREAM_INACTIVE: u32 = 16; +pub const SNDRV_RAWMIDI_DEVICE_UNKNOWN: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_MASK: u32 = 7; +pub const SNDRV_RAWMIDI_MODE_FRAMING_SHIFT: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP: u32 = 1; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MASK: u32 = 56; +pub const SNDRV_RAWMIDI_MODE_CLOCK_SHIFT: u32 = 3; +pub const SNDRV_RAWMIDI_MODE_CLOCK_NONE: u32 = 0; +pub const SNDRV_RAWMIDI_MODE_CLOCK_REALTIME: u32 = 8; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC: u32 = 16; +pub const SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW: u32 = 24; +pub const SNDRV_RAWMIDI_FRAMING_DATA_LENGTH: u32 = 16; +pub const SNDRV_UMP_EP_INFO_STATIC_BLOCKS: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK: u32 = 768; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI1: u32 = 256; +pub const SNDRV_UMP_EP_INFO_PROTO_MIDI2: u32 = 512; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK: u32 = 3; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_TX: u32 = 1; +pub const SNDRV_UMP_EP_INFO_PROTO_JRTS_RX: u32 = 2; +pub const SNDRV_UMP_DIR_INPUT: u32 = 1; +pub const SNDRV_UMP_DIR_OUTPUT: u32 = 2; +pub const SNDRV_UMP_DIR_BIDIRECTION: u32 = 3; +pub const SNDRV_UMP_BLOCK_IS_MIDI1: u32 = 1; +pub const SNDRV_UMP_BLOCK_IS_LOWSPEED: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN: u32 = 0; +pub const SNDRV_UMP_BLOCK_UI_HINT_RECEIVER: u32 = 1; +pub const SNDRV_UMP_BLOCK_UI_HINT_SENDER: u32 = 2; +pub const SNDRV_UMP_BLOCK_UI_HINT_BOTH: u32 = 3; +pub const SNDRV_UMP_MAX_GROUPS: u32 = 16; +pub const SNDRV_UMP_MAX_BLOCKS: u32 = 32; +pub const SNDRV_TIMER_GLOBAL_SYSTEM: u32 = 0; +pub const SNDRV_TIMER_GLOBAL_RTC: u32 = 1; +pub const SNDRV_TIMER_GLOBAL_HPET: u32 = 2; +pub const SNDRV_TIMER_GLOBAL_HRTIMER: u32 = 3; +pub const SNDRV_TIMER_GLOBAL_UDRIVEN: u32 = 4; +pub const SNDRV_TIMER_FLG_SLAVE: u32 = 1; +pub const SNDRV_TIMER_PSFLG_AUTO: u32 = 1; +pub const SNDRV_TIMER_PSFLG_EXCLUSIVE: u32 = 2; +pub const SNDRV_TIMER_PSFLG_EARLY_EVENT: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_READ: u32 = 1; +pub const SNDRV_CTL_ELEM_ACCESS_WRITE: u32 = 2; +pub const SNDRV_CTL_ELEM_ACCESS_READWRITE: u32 = 3; +pub const SNDRV_CTL_ELEM_ACCESS_VOLATILE: u32 = 4; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READ: u32 = 16; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_WRITE: u32 = 32; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE: u32 = 48; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND: u32 = 64; +pub const SNDRV_CTL_ELEM_ACCESS_INACTIVE: u32 = 256; +pub const SNDRV_CTL_ELEM_ACCESS_LOCK: u32 = 512; +pub const SNDRV_CTL_ELEM_ACCESS_OWNER: u32 = 1024; +pub const SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK: u32 = 268435456; +pub const SNDRV_CTL_ELEM_ACCESS_USER: u32 = 536870912; +pub const SNDRV_CTL_POWER_D0: u32 = 0; +pub const SNDRV_CTL_POWER_D1: u32 = 256; +pub const SNDRV_CTL_POWER_D2: u32 = 512; +pub const SNDRV_CTL_POWER_D3: u32 = 768; +pub const SNDRV_CTL_POWER_D3hot: u32 = 768; +pub const SNDRV_CTL_POWER_D3cold: u32 = 769; +pub const SNDRV_CTL_ELEM_ID_NAME_MAXLEN: u32 = 44; +pub const SNDRV_CTL_EVENT_MASK_VALUE: u32 = 1; +pub const SNDRV_CTL_EVENT_MASK_INFO: u32 = 2; +pub const SNDRV_CTL_EVENT_MASK_ADD: u32 = 4; +pub const SNDRV_CTL_EVENT_MASK_TLV: u32 = 8; +pub const SNDRV_CTL_EVENT_MASK_REMOVE: i32 = -1; +pub const SNDRV_CTL_NAME_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_PLAYBACK: &[u8; 10] = b"Playback \0"; +pub const SNDRV_CTL_NAME_CAPTURE: &[u8; 9] = b"Capture \0"; +pub const SNDRV_CTL_NAME_IEC958_NONE: &[u8; 1] = b"\0"; +pub const SNDRV_CTL_NAME_IEC958_SWITCH: &[u8; 7] = b"Switch\0"; +pub const SNDRV_CTL_NAME_IEC958_VOLUME: &[u8; 7] = b"Volume\0"; +pub const SNDRV_CTL_NAME_IEC958_DEFAULT: &[u8; 8] = b"Default\0"; +pub const SNDRV_CTL_NAME_IEC958_MASK: &[u8; 5] = b"Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_CON_MASK: &[u8; 9] = b"Con Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PRO_MASK: &[u8; 9] = b"Pro Mask\0"; +pub const SNDRV_CTL_NAME_IEC958_PCM_STREAM: &[u8; 11] = b"PCM Stream\0"; +pub const SNDRV_HWDEP_IFACE_OPL2: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL2; +pub const SNDRV_HWDEP_IFACE_OPL3: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL3; +pub const SNDRV_HWDEP_IFACE_OPL4: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_OPL4; +pub const SNDRV_HWDEP_IFACE_SB16CSP: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB16CSP; +pub const SNDRV_HWDEP_IFACE_EMU10K1: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMU10K1; +pub const SNDRV_HWDEP_IFACE_YSS225: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_YSS225; +pub const SNDRV_HWDEP_IFACE_ICS2115: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_ICS2115; +pub const SNDRV_HWDEP_IFACE_SSCAPE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SSCAPE; +pub const SNDRV_HWDEP_IFACE_VX: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_VX; +pub const SNDRV_HWDEP_IFACE_MIXART: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_MIXART; +pub const SNDRV_HWDEP_IFACE_USX2Y: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y; +pub const SNDRV_HWDEP_IFACE_EMUX_WAVETABLE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_EMUX_WAVETABLE; +pub const SNDRV_HWDEP_IFACE_BLUETOOTH: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_BLUETOOTH; +pub const SNDRV_HWDEP_IFACE_USX2Y_PCM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USX2Y_PCM; +pub const SNDRV_HWDEP_IFACE_PCXHR: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_PCXHR; +pub const SNDRV_HWDEP_IFACE_SB_RC: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_SB_RC; +pub const SNDRV_HWDEP_IFACE_HDA: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_HDA; +pub const SNDRV_HWDEP_IFACE_USB_STREAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_USB_STREAM; +pub const SNDRV_HWDEP_IFACE_FW_DICE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DICE; +pub const SNDRV_HWDEP_IFACE_FW_FIREWORKS: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREWORKS; +pub const SNDRV_HWDEP_IFACE_FW_BEBOB: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_BEBOB; +pub const SNDRV_HWDEP_IFACE_FW_OXFW: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_OXFW; +pub const SNDRV_HWDEP_IFACE_FW_DIGI00X: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_DIGI00X; +pub const SNDRV_HWDEP_IFACE_FW_TASCAM: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_TASCAM; +pub const SNDRV_HWDEP_IFACE_LINE6: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_LINE6; +pub const SNDRV_HWDEP_IFACE_FW_MOTU: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_MOTU; +pub const SNDRV_HWDEP_IFACE_FW_FIREFACE: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_HWDEP_IFACE_LAST: _bindgen_ty_1 = _bindgen_ty_1::SNDRV_HWDEP_IFACE_FW_FIREFACE; +pub const SNDRV_PCM_CLASS_GENERIC: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_GENERIC; +pub const SNDRV_PCM_CLASS_MULTI: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MULTI; +pub const SNDRV_PCM_CLASS_MODEM: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_MODEM; +pub const SNDRV_PCM_CLASS_DIGITIZER: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_CLASS_LAST: _bindgen_ty_2 = _bindgen_ty_2::SNDRV_PCM_CLASS_DIGITIZER; +pub const SNDRV_PCM_SUBCLASS_GENERIC_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_GENERIC_MIX; +pub const SNDRV_PCM_SUBCLASS_MULTI_MIX: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_SUBCLASS_LAST: _bindgen_ty_3 = _bindgen_ty_3::SNDRV_PCM_SUBCLASS_MULTI_MIX; +pub const SNDRV_PCM_STREAM_PLAYBACK: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_PLAYBACK; +pub const SNDRV_PCM_STREAM_CAPTURE: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_STREAM_LAST: _bindgen_ty_4 = _bindgen_ty_4::SNDRV_PCM_STREAM_CAPTURE; +pub const SNDRV_PCM_MMAP_OFFSET_DATA: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_DATA; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW; +pub const SNDRV_PCM_MMAP_OFFSET_STATUS: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_STATUS_OLD; +pub const SNDRV_PCM_MMAP_OFFSET_CONTROL: _bindgen_ty_5 = _bindgen_ty_5::SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD; +pub const SNDRV_PCM_TSTAMP_NONE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_NONE; +pub const SNDRV_PCM_TSTAMP_ENABLE: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_TSTAMP_LAST: _bindgen_ty_6 = _bindgen_ty_6::SNDRV_PCM_TSTAMP_ENABLE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST: _bindgen_ty_7 = _bindgen_ty_7::SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED; +pub const SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; +pub const SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_PCM_TSTAMP_TYPE_LAST: _bindgen_ty_8 = _bindgen_ty_8::SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW; +pub const SNDRV_CHMAP_UNKNOWN: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_UNKNOWN; +pub const SNDRV_CHMAP_NA: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_NA; +pub const SNDRV_CHMAP_MONO: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_MONO; +pub const SNDRV_CHMAP_FL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FL; +pub const SNDRV_CHMAP_FR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FR; +pub const SNDRV_CHMAP_RL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RL; +pub const SNDRV_CHMAP_RR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RR; +pub const SNDRV_CHMAP_FC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FC; +pub const SNDRV_CHMAP_LFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LFE; +pub const SNDRV_CHMAP_SL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SL; +pub const SNDRV_CHMAP_SR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_SR; +pub const SNDRV_CHMAP_RC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RC; +pub const SNDRV_CHMAP_FLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLC; +pub const SNDRV_CHMAP_FRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRC; +pub const SNDRV_CHMAP_RLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLC; +pub const SNDRV_CHMAP_RRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RRC; +pub const SNDRV_CHMAP_FLW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLW; +pub const SNDRV_CHMAP_FRW: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRW; +pub const SNDRV_CHMAP_FLH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FLH; +pub const SNDRV_CHMAP_FCH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FCH; +pub const SNDRV_CHMAP_FRH: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_FRH; +pub const SNDRV_CHMAP_TC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TC; +pub const SNDRV_CHMAP_TFL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFL; +pub const SNDRV_CHMAP_TFR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFR; +pub const SNDRV_CHMAP_TFC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFC; +pub const SNDRV_CHMAP_TRL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRL; +pub const SNDRV_CHMAP_TRR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRR; +pub const SNDRV_CHMAP_TRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TRC; +pub const SNDRV_CHMAP_TFLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFLC; +pub const SNDRV_CHMAP_TFRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TFRC; +pub const SNDRV_CHMAP_TSL: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSL; +pub const SNDRV_CHMAP_TSR: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_TSR; +pub const SNDRV_CHMAP_LLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_LLFE; +pub const SNDRV_CHMAP_RLFE: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_RLFE; +pub const SNDRV_CHMAP_BC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BC; +pub const SNDRV_CHMAP_BLC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BLC; +pub const SNDRV_CHMAP_BRC: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_CHMAP_LAST: _bindgen_ty_9 = _bindgen_ty_9::SNDRV_CHMAP_BRC; +pub const SNDRV_RAWMIDI_STREAM_OUTPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_OUTPUT; +pub const SNDRV_RAWMIDI_STREAM_INPUT: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_RAWMIDI_STREAM_LAST: _bindgen_ty_10 = _bindgen_ty_10::SNDRV_RAWMIDI_STREAM_INPUT; +pub const SNDRV_TIMER_CLASS_NONE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_NONE; +pub const SNDRV_TIMER_CLASS_SLAVE: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_SLAVE; +pub const SNDRV_TIMER_CLASS_GLOBAL: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_GLOBAL; +pub const SNDRV_TIMER_CLASS_CARD: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_CARD; +pub const SNDRV_TIMER_CLASS_PCM: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_CLASS_LAST: _bindgen_ty_11 = _bindgen_ty_11::SNDRV_TIMER_CLASS_PCM; +pub const SNDRV_TIMER_SCLASS_NONE: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_NONE; +pub const SNDRV_TIMER_SCLASS_APPLICATION: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_APPLICATION; +pub const SNDRV_TIMER_SCLASS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_OSS_SEQUENCER: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_SCLASS_LAST: _bindgen_ty_12 = _bindgen_ty_12::SNDRV_TIMER_SCLASS_OSS_SEQUENCER; +pub const SNDRV_TIMER_EVENT_RESOLUTION: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESOLUTION; +pub const SNDRV_TIMER_EVENT_TICK: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_TICK; +pub const SNDRV_TIMER_EVENT_START: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_START; +pub const SNDRV_TIMER_EVENT_STOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_STOP; +pub const SNDRV_TIMER_EVENT_CONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_CONTINUE; +pub const SNDRV_TIMER_EVENT_PAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_PAUSE; +pub const SNDRV_TIMER_EVENT_EARLY: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_EARLY; +pub const SNDRV_TIMER_EVENT_SUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_SUSPEND; +pub const SNDRV_TIMER_EVENT_RESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_RESUME; +pub const SNDRV_TIMER_EVENT_MSTART: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTART; +pub const SNDRV_TIMER_EVENT_MSTOP: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSTOP; +pub const SNDRV_TIMER_EVENT_MCONTINUE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MCONTINUE; +pub const SNDRV_TIMER_EVENT_MPAUSE: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MPAUSE; +pub const SNDRV_TIMER_EVENT_MSUSPEND: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MSUSPEND; +pub const SNDRV_TIMER_EVENT_MRESUME: _bindgen_ty_13 = _bindgen_ty_13::SNDRV_TIMER_EVENT_MRESUME; +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +SNDRV_HWDEP_IFACE_OPL2 = 0, +SNDRV_HWDEP_IFACE_OPL3 = 1, +SNDRV_HWDEP_IFACE_OPL4 = 2, +SNDRV_HWDEP_IFACE_SB16CSP = 3, +SNDRV_HWDEP_IFACE_EMU10K1 = 4, +SNDRV_HWDEP_IFACE_YSS225 = 5, +SNDRV_HWDEP_IFACE_ICS2115 = 6, +SNDRV_HWDEP_IFACE_SSCAPE = 7, +SNDRV_HWDEP_IFACE_VX = 8, +SNDRV_HWDEP_IFACE_MIXART = 9, +SNDRV_HWDEP_IFACE_USX2Y = 10, +SNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11, +SNDRV_HWDEP_IFACE_BLUETOOTH = 12, +SNDRV_HWDEP_IFACE_USX2Y_PCM = 13, +SNDRV_HWDEP_IFACE_PCXHR = 14, +SNDRV_HWDEP_IFACE_SB_RC = 15, +SNDRV_HWDEP_IFACE_HDA = 16, +SNDRV_HWDEP_IFACE_USB_STREAM = 17, +SNDRV_HWDEP_IFACE_FW_DICE = 18, +SNDRV_HWDEP_IFACE_FW_FIREWORKS = 19, +SNDRV_HWDEP_IFACE_FW_BEBOB = 20, +SNDRV_HWDEP_IFACE_FW_OXFW = 21, +SNDRV_HWDEP_IFACE_FW_DIGI00X = 22, +SNDRV_HWDEP_IFACE_FW_TASCAM = 23, +SNDRV_HWDEP_IFACE_LINE6 = 24, +SNDRV_HWDEP_IFACE_FW_MOTU = 25, +SNDRV_HWDEP_IFACE_FW_FIREFACE = 26, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_2 { +SNDRV_PCM_CLASS_GENERIC = 0, +SNDRV_PCM_CLASS_MULTI = 1, +SNDRV_PCM_CLASS_MODEM = 2, +SNDRV_PCM_CLASS_DIGITIZER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_3 { +SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, +SNDRV_PCM_SUBCLASS_MULTI_MIX = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_4 { +SNDRV_PCM_STREAM_PLAYBACK = 0, +SNDRV_PCM_STREAM_CAPTURE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_5 { +SNDRV_PCM_MMAP_OFFSET_DATA = 0, +SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648, +SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864, +SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080, +SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_6 { +SNDRV_PCM_TSTAMP_NONE = 0, +SNDRV_PCM_TSTAMP_ENABLE = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_7 { +SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, +SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_8 { +SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1, +SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_9 { +SNDRV_CHMAP_UNKNOWN = 0, +SNDRV_CHMAP_NA = 1, +SNDRV_CHMAP_MONO = 2, +SNDRV_CHMAP_FL = 3, +SNDRV_CHMAP_FR = 4, +SNDRV_CHMAP_RL = 5, +SNDRV_CHMAP_RR = 6, +SNDRV_CHMAP_FC = 7, +SNDRV_CHMAP_LFE = 8, +SNDRV_CHMAP_SL = 9, +SNDRV_CHMAP_SR = 10, +SNDRV_CHMAP_RC = 11, +SNDRV_CHMAP_FLC = 12, +SNDRV_CHMAP_FRC = 13, +SNDRV_CHMAP_RLC = 14, +SNDRV_CHMAP_RRC = 15, +SNDRV_CHMAP_FLW = 16, +SNDRV_CHMAP_FRW = 17, +SNDRV_CHMAP_FLH = 18, +SNDRV_CHMAP_FCH = 19, +SNDRV_CHMAP_FRH = 20, +SNDRV_CHMAP_TC = 21, +SNDRV_CHMAP_TFL = 22, +SNDRV_CHMAP_TFR = 23, +SNDRV_CHMAP_TFC = 24, +SNDRV_CHMAP_TRL = 25, +SNDRV_CHMAP_TRR = 26, +SNDRV_CHMAP_TRC = 27, +SNDRV_CHMAP_TFLC = 28, +SNDRV_CHMAP_TFRC = 29, +SNDRV_CHMAP_TSL = 30, +SNDRV_CHMAP_TSR = 31, +SNDRV_CHMAP_LLFE = 32, +SNDRV_CHMAP_RLFE = 33, +SNDRV_CHMAP_BC = 34, +SNDRV_CHMAP_BLC = 35, +SNDRV_CHMAP_BRC = 36, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_10 { +SNDRV_RAWMIDI_STREAM_OUTPUT = 0, +SNDRV_RAWMIDI_STREAM_INPUT = 1, +} +#[repr(i32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_11 { +SNDRV_TIMER_CLASS_NONE = -1, +SNDRV_TIMER_CLASS_SLAVE = 0, +SNDRV_TIMER_CLASS_GLOBAL = 1, +SNDRV_TIMER_CLASS_CARD = 2, +SNDRV_TIMER_CLASS_PCM = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_12 { +SNDRV_TIMER_SCLASS_NONE = 0, +SNDRV_TIMER_SCLASS_APPLICATION = 1, +SNDRV_TIMER_SCLASS_SEQUENCER = 2, +SNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_13 { +SNDRV_TIMER_EVENT_RESOLUTION = 0, +SNDRV_TIMER_EVENT_TICK = 1, +SNDRV_TIMER_EVENT_START = 2, +SNDRV_TIMER_EVENT_STOP = 3, +SNDRV_TIMER_EVENT_CONTINUE = 4, +SNDRV_TIMER_EVENT_PAUSE = 5, +SNDRV_TIMER_EVENT_EARLY = 6, +SNDRV_TIMER_EVENT_SUSPEND = 7, +SNDRV_TIMER_EVENT_RESUME = 8, +SNDRV_TIMER_EVENT_MSTART = 12, +SNDRV_TIMER_EVENT_MSTOP = 13, +SNDRV_TIMER_EVENT_MCONTINUE = 14, +SNDRV_TIMER_EVENT_MPAUSE = 15, +SNDRV_TIMER_EVENT_MSUSPEND = 17, +SNDRV_TIMER_EVENT_MRESUME = 18, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum sndrv_ctl_event_type { +SNDRV_CTL_EVENT_ELEM = 0, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_id { +pub id: [crate::ctypes::c_uchar; 16usize], +pub id16: [crate::ctypes::c_ushort; 8usize], +pub id32: [crate::ctypes::c_uint; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_1 { +pub status: snd_pcm_mmap_status, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_pcm_sync_ptr__bindgen_ty_2 { +pub control: snd_pcm_mmap_control, +pub reserved: [crate::ctypes::c_uchar; 64usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_info__bindgen_ty_1 { +pub integer: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_info__bindgen_ty_1__bindgen_ty_3, +pub reserved: [crate::ctypes::c_uchar; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1 { +pub integer: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1, +pub integer64: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2, +pub enumerated: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3, +pub bytes: snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4, +pub iec958: snd_aes_iec958, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_1 { +pub value: [crate::ctypes::c_long; 128usize], +pub value_ptr: *mut crate::ctypes::c_long, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_2 { +pub value: [crate::ctypes::c_longlong; 64usize], +pub value_ptr: *mut crate::ctypes::c_longlong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_3 { +pub item: [crate::ctypes::c_uint; 128usize], +pub item_ptr: *mut crate::ctypes::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_elem_value__bindgen_ty_1__bindgen_ty_4 { +pub data: [crate::ctypes::c_uchar; 512usize], +pub data_ptr: *mut crate::ctypes::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union snd_ctl_event__bindgen_ty_1 { +pub elem: snd_ctl_event__bindgen_ty_1__bindgen_ty_1, +pub data8: [crate::ctypes::c_uchar; 60usize], +} +impl __BindgenBitfieldUnit { +#[inline] +pub const fn new(storage: Storage) -> Self { +Self { storage } +} +} +impl __BindgenBitfieldUnit +where +Storage: AsRef<[u8]> + AsMut<[u8]>, +{ +#[inline] +fn extract_bit(byte: u8, index: usize) -> bool { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +byte & mask == mask +} +#[inline] +pub fn get_bit(&self, index: usize) -> bool { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = self.storage.as_ref()[byte_index]; +Self::extract_bit(byte, index) +} +#[inline] +pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) }; +Self::extract_bit(byte, index) +} +#[inline] +fn change_bit(byte: u8, index: usize, val: bool) -> u8 { +let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; +let mask = 1 << bit_index; +if val { +byte | mask +} else { +byte & !mask +} +} +#[inline] +pub fn set_bit(&mut self, index: usize, val: bool) { +debug_assert!(index / 8 < self.storage.as_ref().len()); +let byte_index = index / 8; +let byte = &mut self.storage.as_mut()[byte_index]; +*byte = Self::change_bit(*byte, index, val); +} +#[inline] +pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { +debug_assert!(index / 8 < core::mem::size_of::()); +let byte_index = index / 8; +let byte = unsafe { (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) }; +unsafe { *byte = Self::change_bit(*byte, index, val) }; +} +#[inline] +pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if self.get_bit(i + bit_offset) { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +let mut val = 0; +for i in 0..(bit_width as usize) { +if unsafe { Self::raw_get_bit(this, i + bit_offset) } { +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +val |= 1 << index; +} +} +val +} +#[inline] +pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +self.set_bit(index + bit_offset, val_bit_is_set); +} +} +#[inline] +pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { +debug_assert!(bit_width <= 64); +debug_assert!(bit_offset / 8 < core::mem::size_of::()); +debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); +for i in 0..(bit_width as usize) { +let mask = 1 << i; +let val_bit_is_set = val & mask == mask; +let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; +unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; +} +} +} +impl __IncompleteArrayField { +#[inline] +pub const fn new() -> Self { +__IncompleteArrayField(::core::marker::PhantomData, []) +} +#[inline] +pub fn as_ptr(&self) -> *const T { +self as *const _ as *const T +} +#[inline] +pub fn as_mut_ptr(&mut self) -> *mut T { +self as *mut _ as *mut T +} +#[inline] +pub unsafe fn as_slice(&self, len: usize) -> &[T] { +::core::slice::from_raw_parts(self.as_ptr(), len) +} +#[inline] +pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { +::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) +} +} +impl ::core::fmt::Debug for __IncompleteArrayField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__IncompleteArrayField") +} +} +impl __BindgenUnionField { +#[inline] +pub const fn new() -> Self { +__BindgenUnionField(::core::marker::PhantomData) +} +#[inline] +pub unsafe fn as_ref(&self) -> &T { +::core::mem::transmute(self) +} +#[inline] +pub unsafe fn as_mut(&mut self) -> &mut T { +::core::mem::transmute(self) +} +} +impl ::core::default::Default for __BindgenUnionField { +#[inline] +fn default() -> Self { +Self::new() +} +} +impl ::core::clone::Clone for __BindgenUnionField { +#[inline] +fn clone(&self) -> Self { +*self +} +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { +fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { +fmt.write_str("__BindgenUnionField") +} +} +impl ::core::hash::Hash for __BindgenUnionField { +fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { +fn eq(&self, _other: &__BindgenUnionField) -> bool { +true +} +} +impl ::core::cmp::Eq for __BindgenUnionField {} +impl snd_interval { +#[inline] +pub fn openmin(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmin(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmin_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmin_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn openmax(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } +} +#[inline] +pub fn set_openmax(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(1usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn openmax_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 1usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_openmax_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 1usize, 1u8, val as u64) +} +} +#[inline] +pub fn integer(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } +} +#[inline] +pub fn set_integer(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(2usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn integer_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 2usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_integer_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 2usize, 1u8, val as u64) +} +} +#[inline] +pub fn empty(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } +} +#[inline] +pub fn set_empty(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(3usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn empty_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 3usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_empty_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 3usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(openmin: crate::ctypes::c_uint, openmax: crate::ctypes::c_uint, integer: crate::ctypes::c_uint, empty: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let openmin: u32 = unsafe { ::core::mem::transmute(openmin) }; +openmin as u64 +}); +__bindgen_bitfield_unit.set(1usize, 1u8, { +let openmax: u32 = unsafe { ::core::mem::transmute(openmax) }; +openmax as u64 +}); +__bindgen_bitfield_unit.set(2usize, 1u8, { +let integer: u32 = unsafe { ::core::mem::transmute(integer) }; +integer as u64 +}); +__bindgen_bitfield_unit.set(3usize, 1u8, { +let empty: u32 = unsafe { ::core::mem::transmute(empty) }; +empty as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_rawmidi_params { +#[inline] +pub fn no_active_sensing(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_no_active_sensing(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn no_active_sensing_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_no_active_sensing_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(no_active_sensing: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let no_active_sensing: u32 = unsafe { ::core::mem::transmute(no_active_sensing) }; +no_active_sensing as u64 +}); +__bindgen_bitfield_unit +} +} +impl snd_ctl_elem_value { +#[inline] +pub fn indirect(&self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } +} +#[inline] +pub fn set_indirect(&mut self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +self._bitfield_1.set(0usize, 1u8, val as u64) +} +} +#[inline] +pub unsafe fn indirect_raw(this: *const Self) -> crate::ctypes::c_uint { +unsafe { ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(::core::ptr::addr_of!((*this)._bitfield_1), 0usize, 1u8) as u32) } +} +#[inline] +pub unsafe fn set_indirect_raw(this: *mut Self, val: crate::ctypes::c_uint) { +unsafe { +let val: u32 = ::core::mem::transmute(val); +<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(::core::ptr::addr_of_mut!((*this)._bitfield_1), 0usize, 1u8, val as u64) +} +} +#[inline] +pub fn new_bitfield_1(indirect: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { +let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); +__bindgen_bitfield_unit.set(0usize, 1u8, { +let indirect: u32 = unsafe { ::core::mem::transmute(indirect) }; +indirect as u64 +}); +__bindgen_bitfield_unit +} +} +impl sndrv_ctl_event_type { +pub const SNDRV_CTL_EVENT_LAST: sndrv_ctl_event_type = sndrv_ctl_event_type::SNDRV_CTL_EVENT_ELEM; +}