153a5a1b3Sopenharmony_ci/*** 253a5a1b3Sopenharmony_ci This file is part of PulseAudio. 353a5a1b3Sopenharmony_ci 453a5a1b3Sopenharmony_ci Copyright 2009 Lennart Poettering 553a5a1b3Sopenharmony_ci 653a5a1b3Sopenharmony_ci PulseAudio is free software; you can redistribute it and/or modify 753a5a1b3Sopenharmony_ci it under the terms of the GNU Lesser General Public License as published 853a5a1b3Sopenharmony_ci by the Free Software Foundation; either version 2.1 of the License, 953a5a1b3Sopenharmony_ci or (at your option) any later version. 1053a5a1b3Sopenharmony_ci 1153a5a1b3Sopenharmony_ci PulseAudio is distributed in the hope that it will be useful, but 1253a5a1b3Sopenharmony_ci WITHOUT ANY WARRANTY; without even the implied warranty of 1353a5a1b3Sopenharmony_ci MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1453a5a1b3Sopenharmony_ci General Public License for more details. 1553a5a1b3Sopenharmony_ci 1653a5a1b3Sopenharmony_ci You should have received a copy of the GNU Lesser General Public License 1753a5a1b3Sopenharmony_ci along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. 1853a5a1b3Sopenharmony_ci***/ 1953a5a1b3Sopenharmony_ci 2053a5a1b3Sopenharmony_ciusing GLib; 2153a5a1b3Sopenharmony_ciusing Posix; 2253a5a1b3Sopenharmony_ci 2353a5a1b3Sopenharmony_ci[CCode (cheader_filename="pulse/pulseaudio.h")] 2453a5a1b3Sopenharmony_cinamespace PulseAudio { 2553a5a1b3Sopenharmony_ci 2653a5a1b3Sopenharmony_ci [CCode (cname="pa_get_library_version")] 2753a5a1b3Sopenharmony_ci public unowned string get_library_version(); 2853a5a1b3Sopenharmony_ci 2953a5a1b3Sopenharmony_ci [CCode (cname="PA_API_VERSION")] 3053a5a1b3Sopenharmony_ci public const int API_VERSION; 3153a5a1b3Sopenharmony_ci 3253a5a1b3Sopenharmony_ci [CCode (cname="PA_PROTOCOL_VERSION")] 3353a5a1b3Sopenharmony_ci public const int PROTOCOL_VERSION; 3453a5a1b3Sopenharmony_ci 3553a5a1b3Sopenharmony_ci [CCode (cname="PA_MAJOR")] 3653a5a1b3Sopenharmony_ci public const int MAJOR; 3753a5a1b3Sopenharmony_ci 3853a5a1b3Sopenharmony_ci [CCode (cname="PA_MINOR")] 3953a5a1b3Sopenharmony_ci public const int MINOR; 4053a5a1b3Sopenharmony_ci 4153a5a1b3Sopenharmony_ci [CCode (cname="PA_MICRO")] 4253a5a1b3Sopenharmony_ci public const int MICRO; 4353a5a1b3Sopenharmony_ci 4453a5a1b3Sopenharmony_ci [CCode (cname="PA_CHECK_VERSION")] 4553a5a1b3Sopenharmony_ci public bool CHECK_VERSION(int major, int minor, int micro); 4653a5a1b3Sopenharmony_ci 4753a5a1b3Sopenharmony_ci [CCode (cname="PA_INVALID_INDEX")] 4853a5a1b3Sopenharmony_ci public const uint32 INVALID_INDEX; 4953a5a1b3Sopenharmony_ci 5053a5a1b3Sopenharmony_ci [CCode (cname="pa_free_cb_t", has_target=false)] 5153a5a1b3Sopenharmony_ci public delegate void FreeCb(void *p); 5253a5a1b3Sopenharmony_ci 5353a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_format_t", cprefix="PA_SAMPLE_", has_type_id=false)] 5453a5a1b3Sopenharmony_ci public enum SampleFormat { 5553a5a1b3Sopenharmony_ci U8, 5653a5a1b3Sopenharmony_ci ALAW, 5753a5a1b3Sopenharmony_ci ULAW, 5853a5a1b3Sopenharmony_ci S16LE, 5953a5a1b3Sopenharmony_ci S16BE, 6053a5a1b3Sopenharmony_ci FLOAT32LE, 6153a5a1b3Sopenharmony_ci FLOAT32BE, 6253a5a1b3Sopenharmony_ci S32LE, 6353a5a1b3Sopenharmony_ci S32BE, 6453a5a1b3Sopenharmony_ci S24LE, 6553a5a1b3Sopenharmony_ci S24BE, 6653a5a1b3Sopenharmony_ci S24_32LE, 6753a5a1b3Sopenharmony_ci S24_32BE, 6853a5a1b3Sopenharmony_ci MAX, 6953a5a1b3Sopenharmony_ci S16NE, 7053a5a1b3Sopenharmony_ci S16RE, 7153a5a1b3Sopenharmony_ci FLOAT32NE, 7253a5a1b3Sopenharmony_ci FLOAT32RE, 7353a5a1b3Sopenharmony_ci S32NE, 7453a5a1b3Sopenharmony_ci S32RE, 7553a5a1b3Sopenharmony_ci S24NE, 7653a5a1b3Sopenharmony_ci S24RE, 7753a5a1b3Sopenharmony_ci S24_32NE, 7853a5a1b3Sopenharmony_ci S24_32RE; 7953a5a1b3Sopenharmony_ci 8053a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_size_of_format")] 8153a5a1b3Sopenharmony_ci public size_t size(); 8253a5a1b3Sopenharmony_ci 8353a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_format_to_string")] 8453a5a1b3Sopenharmony_ci public unowned string? to_string(); 8553a5a1b3Sopenharmony_ci 8653a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_format_is_le")] 8753a5a1b3Sopenharmony_ci public int is_le(); 8853a5a1b3Sopenharmony_ci 8953a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_format_is_be")] 9053a5a1b3Sopenharmony_ci public int is_be(); 9153a5a1b3Sopenharmony_ci 9253a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_format_is_ne")] 9353a5a1b3Sopenharmony_ci public int is_ne(); 9453a5a1b3Sopenharmony_ci 9553a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_format_is_re")] 9653a5a1b3Sopenharmony_ci public int is_re(); 9753a5a1b3Sopenharmony_ci 9853a5a1b3Sopenharmony_ci [CCode (cname="pa_parse_sample_format")] 9953a5a1b3Sopenharmony_ci public static SampleFormat parse(string b); 10053a5a1b3Sopenharmony_ci } 10153a5a1b3Sopenharmony_ci 10253a5a1b3Sopenharmony_ci [CCode (cname="pa_usec_t")] 10353a5a1b3Sopenharmony_ci public struct usec : uint64 { 10453a5a1b3Sopenharmony_ci } 10553a5a1b3Sopenharmony_ci 10653a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_spec", has_type_id=false)] 10753a5a1b3Sopenharmony_ci public struct SampleSpec { 10853a5a1b3Sopenharmony_ci public SampleFormat format; 10953a5a1b3Sopenharmony_ci public uint32 rate; 11053a5a1b3Sopenharmony_ci public uint8 channels; 11153a5a1b3Sopenharmony_ci 11253a5a1b3Sopenharmony_ci [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")] 11353a5a1b3Sopenharmony_ci public const size_t SNPRINT_MAX; 11453a5a1b3Sopenharmony_ci 11553a5a1b3Sopenharmony_ci [CCode (cname="pa_bytes_per_second")] 11653a5a1b3Sopenharmony_ci public size_t bytes_per_second(); 11753a5a1b3Sopenharmony_ci 11853a5a1b3Sopenharmony_ci [CCode (cname="pa_frame_size")] 11953a5a1b3Sopenharmony_ci public size_t frame_size(); 12053a5a1b3Sopenharmony_ci 12153a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_size")] 12253a5a1b3Sopenharmony_ci public size_t sample_size(); 12353a5a1b3Sopenharmony_ci 12453a5a1b3Sopenharmony_ci [CCode (cname="pa_bytes_to_usec", instance_pos=1.1)] 12553a5a1b3Sopenharmony_ci public usec bytes_to_usec(size_t size); 12653a5a1b3Sopenharmony_ci 12753a5a1b3Sopenharmony_ci [CCode (cname="pa_usec_to_bytes", instance_pos=1.1)] 12853a5a1b3Sopenharmony_ci public size_t usec_to_bytes(usec u); 12953a5a1b3Sopenharmony_ci 13053a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_spec_init")] 13153a5a1b3Sopenharmony_ci public unowned SampleSpec? init(); 13253a5a1b3Sopenharmony_ci 13353a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_spec_valid")] 13453a5a1b3Sopenharmony_ci public bool valid(); 13553a5a1b3Sopenharmony_ci 13653a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_spec_equal")] 13753a5a1b3Sopenharmony_ci public bool equal(SampleSpec other); 13853a5a1b3Sopenharmony_ci 13953a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_spec_snprint", instance_pos=3.1)] 14053a5a1b3Sopenharmony_ci public unowned string snprint(char[] buf); 14153a5a1b3Sopenharmony_ci 14253a5a1b3Sopenharmony_ci public string sprint() { 14353a5a1b3Sopenharmony_ci var buffer = new char[SNPRINT_MAX]; 14453a5a1b3Sopenharmony_ci this.snprint(buffer); 14553a5a1b3Sopenharmony_ci return (string) buffer; 14653a5a1b3Sopenharmony_ci } 14753a5a1b3Sopenharmony_ci 14853a5a1b3Sopenharmony_ci public string to_string() { 14953a5a1b3Sopenharmony_ci return sprint(); 15053a5a1b3Sopenharmony_ci } 15153a5a1b3Sopenharmony_ci 15253a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_spec_init")] 15353a5a1b3Sopenharmony_ci public SampleSpec(); 15453a5a1b3Sopenharmony_ci } 15553a5a1b3Sopenharmony_ci 15653a5a1b3Sopenharmony_ci // [CCode (cname="PA_BYTES_SNPRINT_MAX")] 15753a5a1b3Sopenharmony_ci [CCode (cname="PA_SAMPLE_SPEC_SNPRINT_MAX")] 15853a5a1b3Sopenharmony_ci public const size_t BYTES_SNPRINT_MAX; 15953a5a1b3Sopenharmony_ci 16053a5a1b3Sopenharmony_ci [CCode (cname="pa_bytes_snprint")] 16153a5a1b3Sopenharmony_ci public unowned string bytes_snprint(char[] buf, uint bytes); 16253a5a1b3Sopenharmony_ci 16353a5a1b3Sopenharmony_ci public string bytes_sprint(uint bytes) { 16453a5a1b3Sopenharmony_ci var buffer = new char[BYTES_SNPRINT_MAX]; 16553a5a1b3Sopenharmony_ci bytes_snprint(buffer, bytes); 16653a5a1b3Sopenharmony_ci return (string) buffer; 16753a5a1b3Sopenharmony_ci } 16853a5a1b3Sopenharmony_ci 16953a5a1b3Sopenharmony_ci [CCode (cname="pa_volume_t", has_type_id=false)] 17053a5a1b3Sopenharmony_ci public struct Volume : uint32 { 17153a5a1b3Sopenharmony_ci 17253a5a1b3Sopenharmony_ci [CCode (cname="PA_SW_VOLUME_SNPRINT_DB_MAX")] 17353a5a1b3Sopenharmony_ci public const size_t SW_SNPRINT_DB_MAX; 17453a5a1b3Sopenharmony_ci 17553a5a1b3Sopenharmony_ci [CCode (cname="PA_VOLUME_SNPRINT_MAX")] 17653a5a1b3Sopenharmony_ci public const size_t SNPRINT_MAX; 17753a5a1b3Sopenharmony_ci 17853a5a1b3Sopenharmony_ci [CCode (cname="PA_VOLUME_MAX")] 17953a5a1b3Sopenharmony_ci public const Volume MAX; 18053a5a1b3Sopenharmony_ci 18153a5a1b3Sopenharmony_ci [CCode (cname="PA_VOLUME_NORM")] 18253a5a1b3Sopenharmony_ci public const Volume NORM; 18353a5a1b3Sopenharmony_ci 18453a5a1b3Sopenharmony_ci [CCode (cname="PA_VOLUME_MUTED")] 18553a5a1b3Sopenharmony_ci public const Volume MUTED; 18653a5a1b3Sopenharmony_ci 18753a5a1b3Sopenharmony_ci // [CCode (cname="PA_VOLUME_INVALID")] 18853a5a1b3Sopenharmony_ci [CCode (cname="PA_VOLUME_MAX")] 18953a5a1b3Sopenharmony_ci public const Volume INVALID; 19053a5a1b3Sopenharmony_ci 19153a5a1b3Sopenharmony_ci [CCode (cname="pa_volume_snprint", instance_pos = 3.1)] 19253a5a1b3Sopenharmony_ci public unowned string snprint(char[] s); 19353a5a1b3Sopenharmony_ci 19453a5a1b3Sopenharmony_ci public string sprint() { 19553a5a1b3Sopenharmony_ci var buffer = new char[SNPRINT_MAX]; 19653a5a1b3Sopenharmony_ci this.snprint(buffer); 19753a5a1b3Sopenharmony_ci return (string) buffer; 19853a5a1b3Sopenharmony_ci } 19953a5a1b3Sopenharmony_ci 20053a5a1b3Sopenharmony_ci public string to_string() { 20153a5a1b3Sopenharmony_ci return sprint(); 20253a5a1b3Sopenharmony_ci } 20353a5a1b3Sopenharmony_ci 20453a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_snprint_dB", instance_pos = 3.1)] 20553a5a1b3Sopenharmony_ci public unowned string sw_snprint_dB(char[] s); 20653a5a1b3Sopenharmony_ci 20753a5a1b3Sopenharmony_ci public string sw_sprint_dB() { 20853a5a1b3Sopenharmony_ci var buffer = new char[SW_SNPRINT_DB_MAX]; 20953a5a1b3Sopenharmony_ci this.sw_snprint_dB(buffer); 21053a5a1b3Sopenharmony_ci return (string) buffer; 21153a5a1b3Sopenharmony_ci } 21253a5a1b3Sopenharmony_ci 21353a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_multiply")] 21453a5a1b3Sopenharmony_ci public Volume sw_multiply(Volume other); 21553a5a1b3Sopenharmony_ci 21653a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_divide")] 21753a5a1b3Sopenharmony_ci public Volume sw_divide(Volume other); 21853a5a1b3Sopenharmony_ci 21953a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_from_dB")] 22053a5a1b3Sopenharmony_ci public static Volume sw_from_dB(double f); 22153a5a1b3Sopenharmony_ci 22253a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_to_dB")] 22353a5a1b3Sopenharmony_ci public double sw_to_dB(); 22453a5a1b3Sopenharmony_ci 22553a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_from_linear")] 22653a5a1b3Sopenharmony_ci public static Volume sw_from_linear(double f); 22753a5a1b3Sopenharmony_ci 22853a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_volume_to_linear")] 22953a5a1b3Sopenharmony_ci public double sw_to_linear(); 23053a5a1b3Sopenharmony_ci } 23153a5a1b3Sopenharmony_ci 23253a5a1b3Sopenharmony_ci [CCode (cname="PA_DECIBEL_MININFTY")] 23353a5a1b3Sopenharmony_ci public const double DECIBEL_MININFTY; 23453a5a1b3Sopenharmony_ci 23553a5a1b3Sopenharmony_ci [CCode (cname="PA_CHANNELS_MAX")] 23653a5a1b3Sopenharmony_ci public const int CHANNELS_MAX; 23753a5a1b3Sopenharmony_ci 23853a5a1b3Sopenharmony_ci [CCode (cname="PA_RATE_MAX")] 23953a5a1b3Sopenharmony_ci public const int RATE_MAX; 24053a5a1b3Sopenharmony_ci 24153a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume", has_type_id=false)] 24253a5a1b3Sopenharmony_ci public struct CVolume { 24353a5a1b3Sopenharmony_ci public uint8 channels; 24453a5a1b3Sopenharmony_ci public Volume values[CHANNELS_MAX]; 24553a5a1b3Sopenharmony_ci 24653a5a1b3Sopenharmony_ci [CCode (cname="PA_SW_CVOLUME_SNPRINT_DB_MAX")] 24753a5a1b3Sopenharmony_ci public const size_t SW_SNPRINT_DB_MAX; 24853a5a1b3Sopenharmony_ci 24953a5a1b3Sopenharmony_ci [CCode (cname="PA_CVOLUME_SNPRINT_MAX")] 25053a5a1b3Sopenharmony_ci public const size_t SNPRINT_MAX; 25153a5a1b3Sopenharmony_ci 25253a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_equal")] 25353a5a1b3Sopenharmony_ci public bool equal(CVolume other); 25453a5a1b3Sopenharmony_ci 25553a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_init")] 25653a5a1b3Sopenharmony_ci public unowned CVolume? init(); 25753a5a1b3Sopenharmony_ci 25853a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_reset")] 25953a5a1b3Sopenharmony_ci public unowned CVolume? reset(uint8 channels); 26053a5a1b3Sopenharmony_ci 26153a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_mute")] 26253a5a1b3Sopenharmony_ci public unowned CVolume? mute(uint8 channels); 26353a5a1b3Sopenharmony_ci 26453a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_snprint", instance_pos = 3.1)] 26553a5a1b3Sopenharmony_ci public unowned string snprint(char[] s); 26653a5a1b3Sopenharmony_ci 26753a5a1b3Sopenharmony_ci public string sprint() { 26853a5a1b3Sopenharmony_ci var buffer = new char[SNPRINT_MAX]; 26953a5a1b3Sopenharmony_ci this.snprint(buffer); 27053a5a1b3Sopenharmony_ci return (string) buffer; 27153a5a1b3Sopenharmony_ci } 27253a5a1b3Sopenharmony_ci 27353a5a1b3Sopenharmony_ci public string to_string() { 27453a5a1b3Sopenharmony_ci return sprint(); 27553a5a1b3Sopenharmony_ci } 27653a5a1b3Sopenharmony_ci 27753a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_cvolume_snprint_dB", instance_pos = 3.1)] 27853a5a1b3Sopenharmony_ci public unowned string sw_snprint_dB(char [] s); 27953a5a1b3Sopenharmony_ci 28053a5a1b3Sopenharmony_ci public string sw_sprint_dB() { 28153a5a1b3Sopenharmony_ci var buffer = new char[SW_SNPRINT_DB_MAX]; 28253a5a1b3Sopenharmony_ci this.sw_snprint_dB(buffer); 28353a5a1b3Sopenharmony_ci return (string) buffer; 28453a5a1b3Sopenharmony_ci } 28553a5a1b3Sopenharmony_ci 28653a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_init")] 28753a5a1b3Sopenharmony_ci public CVolume(); 28853a5a1b3Sopenharmony_ci 28953a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_avg")] 29053a5a1b3Sopenharmony_ci public Volume avg(); 29153a5a1b3Sopenharmony_ci 29253a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_max")] 29353a5a1b3Sopenharmony_ci public Volume max(); 29453a5a1b3Sopenharmony_ci 29553a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_min")] 29653a5a1b3Sopenharmony_ci public Volume min(); 29753a5a1b3Sopenharmony_ci 29853a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_avg_mask")] 29953a5a1b3Sopenharmony_ci public Volume avg_mask(ChannelMap map, ChannelPositionMask mask); 30053a5a1b3Sopenharmony_ci 30153a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_max_mask")] 30253a5a1b3Sopenharmony_ci public Volume max_mask(ChannelMap map, ChannelPositionMask mask); 30353a5a1b3Sopenharmony_ci 30453a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_min_mask")] 30553a5a1b3Sopenharmony_ci public Volume min_mask(ChannelMap map, ChannelPositionMask mask); 30653a5a1b3Sopenharmony_ci 30753a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_valid")] 30853a5a1b3Sopenharmony_ci public bool valid(); 30953a5a1b3Sopenharmony_ci 31053a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_channels_equal_to")] 31153a5a1b3Sopenharmony_ci public bool channels_equal_to(Volume other); 31253a5a1b3Sopenharmony_ci 31353a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_is_muted")] 31453a5a1b3Sopenharmony_ci public bool is_muted(); 31553a5a1b3Sopenharmony_ci 31653a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_is_norm")] 31753a5a1b3Sopenharmony_ci public bool is_norm(); 31853a5a1b3Sopenharmony_ci 31953a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_cvolume_multiply")] 32053a5a1b3Sopenharmony_ci public unowned CVolume? multiply(CVolume other); 32153a5a1b3Sopenharmony_ci 32253a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_cvolume_divide")] 32353a5a1b3Sopenharmony_ci public unowned CVolume? divide(CVolume other); 32453a5a1b3Sopenharmony_ci 32553a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_cvolume_multiply_scalar")] 32653a5a1b3Sopenharmony_ci public unowned CVolume? multiply_scalar(Volume other); 32753a5a1b3Sopenharmony_ci 32853a5a1b3Sopenharmony_ci [CCode (cname="pa_sw_cvolume_divide_scalar")] 32953a5a1b3Sopenharmony_ci public unowned CVolume? divide_scalar(Volume other); 33053a5a1b3Sopenharmony_ci 33153a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_remap")] 33253a5a1b3Sopenharmony_ci public unowned CVolume? remap(ChannelMap from, ChannelMap to); 33353a5a1b3Sopenharmony_ci 33453a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_compatible")] 33553a5a1b3Sopenharmony_ci public bool compatible(SampleSpec ss); 33653a5a1b3Sopenharmony_ci 33753a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_compatible_with_channel_map")] 33853a5a1b3Sopenharmony_ci public bool compatible_with_channel_map(ChannelMap cm); 33953a5a1b3Sopenharmony_ci 34053a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_set")] 34153a5a1b3Sopenharmony_ci public unowned CVolume? set(uint8 channels, Volume v); 34253a5a1b3Sopenharmony_ci 34353a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_get_balance")] 34453a5a1b3Sopenharmony_ci public float get_balance(ChannelMap map); 34553a5a1b3Sopenharmony_ci 34653a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_set_balance")] 34753a5a1b3Sopenharmony_ci public unowned CVolume? set_balance(ChannelMap map, float b); 34853a5a1b3Sopenharmony_ci 34953a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_get_fade")] 35053a5a1b3Sopenharmony_ci public float get_fade(ChannelMap map); 35153a5a1b3Sopenharmony_ci 35253a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_set_fade")] 35353a5a1b3Sopenharmony_ci public unowned CVolume? set_fade(ChannelMap map, float f); 35453a5a1b3Sopenharmony_ci 35553a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_scale")] 35653a5a1b3Sopenharmony_ci public unowned CVolume? scale(Volume max); 35753a5a1b3Sopenharmony_ci 35853a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_scale_mask")] 35953a5a1b3Sopenharmony_ci public unowned CVolume? scale_mask(Volume max, ChannelMap map, ChannelPositionMask mask); 36053a5a1b3Sopenharmony_ci 36153a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_set_position")] 36253a5a1b3Sopenharmony_ci public unowned CVolume? set_position(ChannelMap map, ChannelPosition p, Volume v); 36353a5a1b3Sopenharmony_ci 36453a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_get_position")] 36553a5a1b3Sopenharmony_ci public Volume get_position(ChannelMap map, ChannelPosition p); 36653a5a1b3Sopenharmony_ci 36753a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_merge")] 36853a5a1b3Sopenharmony_ci public unowned CVolume? merge(CVolume other); 36953a5a1b3Sopenharmony_ci 37053a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_inc")] 37153a5a1b3Sopenharmony_ci public unowned CVolume? inc(Volume plus = 1); 37253a5a1b3Sopenharmony_ci 37353a5a1b3Sopenharmony_ci [CCode (cname="pa_cvolume_dec")] 37453a5a1b3Sopenharmony_ci public unowned CVolume? dec(Volume minus = 1); 37553a5a1b3Sopenharmony_ci } 37653a5a1b3Sopenharmony_ci 37753a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map", has_type_id=false)] 37853a5a1b3Sopenharmony_ci public struct ChannelMap { 37953a5a1b3Sopenharmony_ci public uint8 channels; 38053a5a1b3Sopenharmony_ci // TODO: Replace array length with CHANNELS_MAX once vala's bug #647788 is fixed 38153a5a1b3Sopenharmony_ci public ChannelPosition map[32]; 38253a5a1b3Sopenharmony_ci 38353a5a1b3Sopenharmony_ci [CCode (cname="PA_CHANNEL_MAP_SNPRINT_MAX")] 38453a5a1b3Sopenharmony_ci public const size_t SNPRINT_MAX; 38553a5a1b3Sopenharmony_ci 38653a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_init")] 38753a5a1b3Sopenharmony_ci public ChannelMap(); 38853a5a1b3Sopenharmony_ci 38953a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_init")] 39053a5a1b3Sopenharmony_ci public unowned ChannelMap? init(); 39153a5a1b3Sopenharmony_ci 39253a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_init_mono")] 39353a5a1b3Sopenharmony_ci public unowned ChannelMap? init_mono(); 39453a5a1b3Sopenharmony_ci 39553a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_init_stereo")] 39653a5a1b3Sopenharmony_ci public unowned ChannelMap? init_stereo(); 39753a5a1b3Sopenharmony_ci 39853a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_init_auto")] 39953a5a1b3Sopenharmony_ci public unowned ChannelMap? init_auto(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT); 40053a5a1b3Sopenharmony_ci 40153a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_init_extend")] 40253a5a1b3Sopenharmony_ci public unowned ChannelMap? init_extend(uint8 channels, ChannelMapDef def = ChannelMapDef.DEFAULT); 40353a5a1b3Sopenharmony_ci 40453a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_snprint", instance_pos = 3.1)] 40553a5a1b3Sopenharmony_ci public unowned string snprint(char[] s); 40653a5a1b3Sopenharmony_ci 40753a5a1b3Sopenharmony_ci public string sprint() { 40853a5a1b3Sopenharmony_ci var buffer = new char[SNPRINT_MAX]; 40953a5a1b3Sopenharmony_ci this.snprint(buffer); 41053a5a1b3Sopenharmony_ci return (string) buffer; 41153a5a1b3Sopenharmony_ci } 41253a5a1b3Sopenharmony_ci 41353a5a1b3Sopenharmony_ci public string to_string() { 41453a5a1b3Sopenharmony_ci return sprint(); 41553a5a1b3Sopenharmony_ci } 41653a5a1b3Sopenharmony_ci 41753a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_parse")] 41853a5a1b3Sopenharmony_ci public unowned ChannelMap? parse(string s); 41953a5a1b3Sopenharmony_ci 42053a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_equal")] 42153a5a1b3Sopenharmony_ci public bool equal(ChannelMap other); 42253a5a1b3Sopenharmony_ci 42353a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_superset")] 42453a5a1b3Sopenharmony_ci public bool superset(ChannelMap other); 42553a5a1b3Sopenharmony_ci 42653a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_valid")] 42753a5a1b3Sopenharmony_ci public bool valid(); 42853a5a1b3Sopenharmony_ci 42953a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_compatible")] 43053a5a1b3Sopenharmony_ci public bool compatible(SampleSpec ss); 43153a5a1b3Sopenharmony_ci 43253a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_can_balance")] 43353a5a1b3Sopenharmony_ci public bool can_balance(); 43453a5a1b3Sopenharmony_ci 43553a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_can_fade")] 43653a5a1b3Sopenharmony_ci public bool can_fade(); 43753a5a1b3Sopenharmony_ci 43853a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_to_name")] 43953a5a1b3Sopenharmony_ci public unowned string? to_name(); 44053a5a1b3Sopenharmony_ci 44153a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_to_pretty_name")] 44253a5a1b3Sopenharmony_ci public unowned string? to_pretty_name(); 44353a5a1b3Sopenharmony_ci 44453a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_has_position")] 44553a5a1b3Sopenharmony_ci public bool has_position(ChannelPosition p); 44653a5a1b3Sopenharmony_ci 44753a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_mask")] 44853a5a1b3Sopenharmony_ci public ChannelPositionMask mask(); 44953a5a1b3Sopenharmony_ci } 45053a5a1b3Sopenharmony_ci 45153a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_position_mask_t", has_type_id=false)] 45253a5a1b3Sopenharmony_ci public struct ChannelPositionMask : uint64 { 45353a5a1b3Sopenharmony_ci } 45453a5a1b3Sopenharmony_ci 45553a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_position_t", cprefix="PA_CHANNEL_POSITION_", has_type_id=false)] 45653a5a1b3Sopenharmony_ci public enum ChannelPosition { 45753a5a1b3Sopenharmony_ci INVALID, 45853a5a1b3Sopenharmony_ci MONO, 45953a5a1b3Sopenharmony_ci FRONT_LEFT, 46053a5a1b3Sopenharmony_ci FRONT_RIGHT, 46153a5a1b3Sopenharmony_ci FRONT_CENTER, 46253a5a1b3Sopenharmony_ci REAR_CENTER, 46353a5a1b3Sopenharmony_ci REAR_LEFT, 46453a5a1b3Sopenharmony_ci REAR_RIGHT, 46553a5a1b3Sopenharmony_ci LFE, 46653a5a1b3Sopenharmony_ci FRONT_LEFT_OF_CENTER, 46753a5a1b3Sopenharmony_ci FRONT_RIGHT_OF_CENTER, 46853a5a1b3Sopenharmony_ci SIDE_LEFT, 46953a5a1b3Sopenharmony_ci SIDE_RIGHT, 47053a5a1b3Sopenharmony_ci TOP_CENTER, 47153a5a1b3Sopenharmony_ci AUX0, 47253a5a1b3Sopenharmony_ci AUX1, 47353a5a1b3Sopenharmony_ci AUX2, 47453a5a1b3Sopenharmony_ci AUX3, 47553a5a1b3Sopenharmony_ci AUX4, 47653a5a1b3Sopenharmony_ci AUX5, 47753a5a1b3Sopenharmony_ci AUX6, 47853a5a1b3Sopenharmony_ci AUX7, 47953a5a1b3Sopenharmony_ci AUX8, 48053a5a1b3Sopenharmony_ci AUX9, 48153a5a1b3Sopenharmony_ci AUX10, 48253a5a1b3Sopenharmony_ci AUX11, 48353a5a1b3Sopenharmony_ci AUX12, 48453a5a1b3Sopenharmony_ci AUX13, 48553a5a1b3Sopenharmony_ci AUX14, 48653a5a1b3Sopenharmony_ci AUX15, 48753a5a1b3Sopenharmony_ci AUX16, 48853a5a1b3Sopenharmony_ci AUX17, 48953a5a1b3Sopenharmony_ci AUX18, 49053a5a1b3Sopenharmony_ci AUX19, 49153a5a1b3Sopenharmony_ci AUX20, 49253a5a1b3Sopenharmony_ci AUX21, 49353a5a1b3Sopenharmony_ci AUX22, 49453a5a1b3Sopenharmony_ci AUX23, 49553a5a1b3Sopenharmony_ci AUX24, 49653a5a1b3Sopenharmony_ci AUX25, 49753a5a1b3Sopenharmony_ci AUX26, 49853a5a1b3Sopenharmony_ci AUX27, 49953a5a1b3Sopenharmony_ci AUX28, 50053a5a1b3Sopenharmony_ci AUX29, 50153a5a1b3Sopenharmony_ci AUX30, 50253a5a1b3Sopenharmony_ci AUX31, 50353a5a1b3Sopenharmony_ci MAX; 50453a5a1b3Sopenharmony_ci 50553a5a1b3Sopenharmony_ci [CCode (cname="PA_CHANNEL_POSITION_MASK")] 50653a5a1b3Sopenharmony_ci public ChannelPositionMask mask(); 50753a5a1b3Sopenharmony_ci 50853a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_position_to_string")] 50953a5a1b3Sopenharmony_ci public unowned string? to_string(); 51053a5a1b3Sopenharmony_ci 51153a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_position_to_pretty_string")] 51253a5a1b3Sopenharmony_ci public unowned string? to_pretty_string(); 51353a5a1b3Sopenharmony_ci 51453a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_position_from_string")] 51553a5a1b3Sopenharmony_ci public static ChannelPosition from_string(string s); 51653a5a1b3Sopenharmony_ci } 51753a5a1b3Sopenharmony_ci 51853a5a1b3Sopenharmony_ci [CCode (cname="pa_channel_map_def_t", cprefix="PA_CHANNEL_MAP_", has_type_id=false)] 51953a5a1b3Sopenharmony_ci public enum ChannelMapDef { 52053a5a1b3Sopenharmony_ci AIFF, 52153a5a1b3Sopenharmony_ci WAVEEX, 52253a5a1b3Sopenharmony_ci AUX, 52353a5a1b3Sopenharmony_ci DEFAULT, 52453a5a1b3Sopenharmony_ci 52553a5a1b3Sopenharmony_ci [CCode (cname="PA_CHANNEL_MAP_DEF_MAX")] 52653a5a1b3Sopenharmony_ci MAX 52753a5a1b3Sopenharmony_ci } 52853a5a1b3Sopenharmony_ci 52953a5a1b3Sopenharmony_ci [Compact] 53053a5a1b3Sopenharmony_ci [CCode (cname="pa_proplist", cprefix="pa_proplist_", free_function="pa_proplist_free", has_type_id=false)] 53153a5a1b3Sopenharmony_ci public class Proplist { 53253a5a1b3Sopenharmony_ci 53353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_NAME")] 53453a5a1b3Sopenharmony_ci public const string PROP_MEDIA_NAME; 53553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_TITLE")] 53653a5a1b3Sopenharmony_ci public const string PROP_MEDIA_TITLE; 53753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_ARTIST")] 53853a5a1b3Sopenharmony_ci public const string PROP_MEDIA_ARTIST; 53953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_COPYRIGHT")] 54053a5a1b3Sopenharmony_ci public const string PROP_MEDIA_COPYRIGHT; 54153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_SOFTWARE")] 54253a5a1b3Sopenharmony_ci public const string PROP_MEDIA_SOFTWARE; 54353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_LANGUAGE")] 54453a5a1b3Sopenharmony_ci public const string PROP_MEDIA_LANGUAGE; 54553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_FILENAME")] 54653a5a1b3Sopenharmony_ci public const string PROP_MEDIA_FILENAME; 54753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_ICON_NAME")] 54853a5a1b3Sopenharmony_ci public const string PROP_MEDIA_ICON_NAME; 54953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MEDIA_ROLE")] 55053a5a1b3Sopenharmony_ci public const string PROP_MEDIA_ROLE; 55153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_ID")] 55253a5a1b3Sopenharmony_ci public const string PROP_EVENT_ID; 55353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_DESCRIPTION")] 55453a5a1b3Sopenharmony_ci public const string PROP_EVENT_DESCRIPTION; 55553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_MOUSE_X")] 55653a5a1b3Sopenharmony_ci public const string PROP_EVENT_MOUSE_X; 55753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_MOUSE_Y")] 55853a5a1b3Sopenharmony_ci public const string PROP_EVENT_MOUSE_Y; 55953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_MOUSE_HPOS")] 56053a5a1b3Sopenharmony_ci public const string PROP_EVENT_MOUSE_HPOS; 56153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_MOUSE_VPOS")] 56253a5a1b3Sopenharmony_ci public const string PROP_EVENT_MOUSE_VPOS; 56353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_EVENT_MOUSE_BUTTON")] 56453a5a1b3Sopenharmony_ci public const string PROP_EVENT_MOUSE_BUTTON; 56553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_NAME")] 56653a5a1b3Sopenharmony_ci public const string PROP_WINDOW_NAME; 56753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_ID")] 56853a5a1b3Sopenharmony_ci public const string PROP_WINDOW_ID; 56953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_ICON_NAME")] 57053a5a1b3Sopenharmony_ci public const string PROP_WINDOW_ICON_NAME; 57153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_X11_DISPLAY")] 57253a5a1b3Sopenharmony_ci public const string PROP_WINDOW_X11_DISPLAY; 57353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_X11_SCREEN")] 57453a5a1b3Sopenharmony_ci public const string PROP_WINDOW_X11_SCREEN; 57553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_X11_MONITOR")] 57653a5a1b3Sopenharmony_ci public const string PROP_WINDOW_X11_MONITOR; 57753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_WINDOW_X11_XID")] 57853a5a1b3Sopenharmony_ci public const string PROP_WINDOW_X11_XID; 57953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_NAME")] 58053a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_NAME; 58153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_ID")] 58253a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_ID; 58353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_VERSION")] 58453a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_VERSION; 58553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_ICON_NAME")] 58653a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_ICON_NAME; 58753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_LANGUAGE")] 58853a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_LANGUAGE; 58953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_PROCESS_ID")] 59053a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_PROCESS_ID; 59153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_PROCESS_BINARY")] 59253a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_PROCESS_BINARY; 59353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_PROCESS_USER")] 59453a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_PROCESS_USER; 59553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_PROCESS_HOST")] 59653a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_PROCESS_HOST; 59753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_PROCESS_MACHINE_ID")] 59853a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_PROCESS_MACHINE_ID; 59953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_APPLICATION_PROCESS_SESSION_ID")] 60053a5a1b3Sopenharmony_ci public const string PROP_APPLICATION_PROCESS_SESSION_ID; 60153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_STRING")] 60253a5a1b3Sopenharmony_ci public const string PROP_DEVICE_STRING; 60353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_API")] 60453a5a1b3Sopenharmony_ci public const string PROP_DEVICE_API; 60553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_DESCRIPTION")] 60653a5a1b3Sopenharmony_ci public const string PROP_DEVICE_DESCRIPTION; 60753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_BUS_PATH")] 60853a5a1b3Sopenharmony_ci public const string PROP_DEVICE_BUS_PATH; 60953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_SERIAL")] 61053a5a1b3Sopenharmony_ci public const string PROP_DEVICE_SERIAL; 61153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_VENDOR_ID")] 61253a5a1b3Sopenharmony_ci public const string PROP_DEVICE_VENDOR_ID; 61353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_VENDOR_NAME")] 61453a5a1b3Sopenharmony_ci public const string PROP_DEVICE_VENDOR_NAME; 61553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_PRODUCT_ID")] 61653a5a1b3Sopenharmony_ci public const string PROP_DEVICE_PRODUCT_ID; 61753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_PRODUCT_NAME")] 61853a5a1b3Sopenharmony_ci public const string PROP_DEVICE_PRODUCT_NAME; 61953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_CLASS")] 62053a5a1b3Sopenharmony_ci public const string PROP_DEVICE_CLASS; 62153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_FORM_FACTOR")] 62253a5a1b3Sopenharmony_ci public const string PROP_DEVICE_FORM_FACTOR; 62353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_BUS")] 62453a5a1b3Sopenharmony_ci public const string PROP_DEVICE_BUS; 62553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_ICON_NAME")] 62653a5a1b3Sopenharmony_ci public const string PROP_DEVICE_ICON_NAME; 62753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_ACCESS_MODE")] 62853a5a1b3Sopenharmony_ci public const string PROP_DEVICE_ACCESS_MODE; 62953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_MASTER_DEVICE")] 63053a5a1b3Sopenharmony_ci public const string PROP_DEVICE_MASTER_DEVICE; 63153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE")] 63253a5a1b3Sopenharmony_ci public const string PROP_DEVICE_BUFFERING_BUFFER_SIZE; 63353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE")] 63453a5a1b3Sopenharmony_ci public const string PROP_DEVICE_BUFFERING_FRAGMENT_SIZE; 63553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_PROFILE_NAME")] 63653a5a1b3Sopenharmony_ci public const string PROP_DEVICE_PROFILE_NAME; 63753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_INTENDED_ROLES")] 63853a5a1b3Sopenharmony_ci public const string PROP_DEVICE_INTENDED_ROLES; 63953a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_DEVICE_PROFILE_DESCRIPTION")] 64053a5a1b3Sopenharmony_ci public const string PROP_DEVICE_PROFILE_DESCRIPTION; 64153a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MODULE_AUTHOR")] 64253a5a1b3Sopenharmony_ci public const string PROP_MODULE_AUTHOR; 64353a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MODULE_DESCRIPTION")] 64453a5a1b3Sopenharmony_ci public const string PROP_MODULE_DESCRIPTION; 64553a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MODULE_USAGE")] 64653a5a1b3Sopenharmony_ci public const string PROP_MODULE_USAGE; 64753a5a1b3Sopenharmony_ci [CCode (cname="PA_PROP_MODULE_VERSION")] 64853a5a1b3Sopenharmony_ci public const string PROP_MODULE_VERSION; 64953a5a1b3Sopenharmony_ci 65053a5a1b3Sopenharmony_ci [CCode (cname="pa_proplist_new")] 65153a5a1b3Sopenharmony_ci public Proplist(); 65253a5a1b3Sopenharmony_ci 65353a5a1b3Sopenharmony_ci public int sets(string key, string value); 65453a5a1b3Sopenharmony_ci public int setp(string pair); 65553a5a1b3Sopenharmony_ci 65653a5a1b3Sopenharmony_ci [PrintfFormat] 65753a5a1b3Sopenharmony_ci public int setf(string key, string format, ...); 65853a5a1b3Sopenharmony_ci 65953a5a1b3Sopenharmony_ci public int set(string key, void* data, size_t size); 66053a5a1b3Sopenharmony_ci 66153a5a1b3Sopenharmony_ci public unowned string? gets(string key); 66253a5a1b3Sopenharmony_ci 66353a5a1b3Sopenharmony_ci public int get(string key, out void* data, out size_t size); 66453a5a1b3Sopenharmony_ci 66553a5a1b3Sopenharmony_ci public void update(UpdateMode mode, Proplist other); 66653a5a1b3Sopenharmony_ci 66753a5a1b3Sopenharmony_ci public void unset(string key); 66853a5a1b3Sopenharmony_ci 66953a5a1b3Sopenharmony_ci public void unset_many([CCode (array_length = false)] string[] key); 67053a5a1b3Sopenharmony_ci 67153a5a1b3Sopenharmony_ci public unowned string? iterate(ref void* state); 67253a5a1b3Sopenharmony_ci 67353a5a1b3Sopenharmony_ci public string to_string(); 67453a5a1b3Sopenharmony_ci 67553a5a1b3Sopenharmony_ci public string to_string_sep(string sep); 67653a5a1b3Sopenharmony_ci 67753a5a1b3Sopenharmony_ci public static Proplist? from_string(string s); 67853a5a1b3Sopenharmony_ci 67953a5a1b3Sopenharmony_ci public int contains(string key); 68053a5a1b3Sopenharmony_ci 68153a5a1b3Sopenharmony_ci public void clear(); 68253a5a1b3Sopenharmony_ci 68353a5a1b3Sopenharmony_ci public Proplist copy(); 68453a5a1b3Sopenharmony_ci 68553a5a1b3Sopenharmony_ci public uint size(); 68653a5a1b3Sopenharmony_ci 68753a5a1b3Sopenharmony_ci [CCode (cname="pa_proplist_isempty")] 68853a5a1b3Sopenharmony_ci public bool is_empty(); 68953a5a1b3Sopenharmony_ci } 69053a5a1b3Sopenharmony_ci 69153a5a1b3Sopenharmony_ci [CCode (cname="pa_update_mode_t", cprefix="PA_UPDATE_", has_type_id=false)] 69253a5a1b3Sopenharmony_ci public enum UpdateMode { 69353a5a1b3Sopenharmony_ci SET, 69453a5a1b3Sopenharmony_ci MERGE, 69553a5a1b3Sopenharmony_ci REPLACE 69653a5a1b3Sopenharmony_ci } 69753a5a1b3Sopenharmony_ci 69853a5a1b3Sopenharmony_ci [CCode (cname="PA_OK")] 69953a5a1b3Sopenharmony_ci public const int OK; 70053a5a1b3Sopenharmony_ci 70153a5a1b3Sopenharmony_ci [CCode (cname="int", cprefix="PA_ERR_", has_type_id=false)] 70253a5a1b3Sopenharmony_ci public enum Error { 70353a5a1b3Sopenharmony_ci ACCESS, 70453a5a1b3Sopenharmony_ci COMMAND, 70553a5a1b3Sopenharmony_ci INVALID, 70653a5a1b3Sopenharmony_ci EXIST, 70753a5a1b3Sopenharmony_ci NOENTITY, 70853a5a1b3Sopenharmony_ci CONNECTIONREFUSED, 70953a5a1b3Sopenharmony_ci PROTOCOL, 71053a5a1b3Sopenharmony_ci TIMEOUT, 71153a5a1b3Sopenharmony_ci AUTHKEY, 71253a5a1b3Sopenharmony_ci INTERNAL, 71353a5a1b3Sopenharmony_ci CONNECTIONTERMINATED, 71453a5a1b3Sopenharmony_ci KILLED, 71553a5a1b3Sopenharmony_ci INVALIDSERVER, 71653a5a1b3Sopenharmony_ci MODINITFAILED, 71753a5a1b3Sopenharmony_ci BADSTATE, 71853a5a1b3Sopenharmony_ci NODATA, 71953a5a1b3Sopenharmony_ci VERSION, 72053a5a1b3Sopenharmony_ci TOOLARGE, 72153a5a1b3Sopenharmony_ci NOTSUPPORTED, 72253a5a1b3Sopenharmony_ci UNKNOWN, 72353a5a1b3Sopenharmony_ci NOEXTENSION, 72453a5a1b3Sopenharmony_ci OBSOLETE, 72553a5a1b3Sopenharmony_ci NOTIMPLEMENTED, 72653a5a1b3Sopenharmony_ci FORKED, 72753a5a1b3Sopenharmony_ci IO, 72853a5a1b3Sopenharmony_ci MAX 72953a5a1b3Sopenharmony_ci } 73053a5a1b3Sopenharmony_ci 73153a5a1b3Sopenharmony_ci [CCode (cname="pa_strerror")] 73253a5a1b3Sopenharmony_ci public unowned string? strerror(Error e); 73353a5a1b3Sopenharmony_ci 73453a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 73553a5a1b3Sopenharmony_ci public delegate void VoidFunc(); 73653a5a1b3Sopenharmony_ci 73753a5a1b3Sopenharmony_ci [CCode (cname="pa_spawn_api", has_type_id=false)] 73853a5a1b3Sopenharmony_ci public struct SpawnApi { 73953a5a1b3Sopenharmony_ci VoidFunc? prefork; 74053a5a1b3Sopenharmony_ci VoidFunc? postfork; 74153a5a1b3Sopenharmony_ci VoidFunc? atfork; 74253a5a1b3Sopenharmony_ci } 74353a5a1b3Sopenharmony_ci 74453a5a1b3Sopenharmony_ci [CCode (cname="pa_io_event_flags_t", cprefix="PA_IO_EVENT_", has_type_id=false)] 74553a5a1b3Sopenharmony_ci public enum IoEventFlags { 74653a5a1b3Sopenharmony_ci NULL, 74753a5a1b3Sopenharmony_ci INPUT, 74853a5a1b3Sopenharmony_ci OUTPUT, 74953a5a1b3Sopenharmony_ci HANGUP, 75053a5a1b3Sopenharmony_ci ERROR 75153a5a1b3Sopenharmony_ci } 75253a5a1b3Sopenharmony_ci 75353a5a1b3Sopenharmony_ci [Compact] 75453a5a1b3Sopenharmony_ci [CCode (cname="pa_io_event", unref_function="", ref_function="", has_type_id=false)] 75553a5a1b3Sopenharmony_ci public class IoEvent { 75653a5a1b3Sopenharmony_ci } 75753a5a1b3Sopenharmony_ci 75853a5a1b3Sopenharmony_ci [Compact] 75953a5a1b3Sopenharmony_ci [CCode (cname="pa_time_event", unref_function="", ref_function="", has_type_id=false)] 76053a5a1b3Sopenharmony_ci public class TimeEvent { 76153a5a1b3Sopenharmony_ci } 76253a5a1b3Sopenharmony_ci 76353a5a1b3Sopenharmony_ci [Compact] 76453a5a1b3Sopenharmony_ci [CCode (cname="pa_defer_event", unref_function="", ref_function="", has_type_id=false)] 76553a5a1b3Sopenharmony_ci public class DeferEvent { 76653a5a1b3Sopenharmony_ci } 76753a5a1b3Sopenharmony_ci 76853a5a1b3Sopenharmony_ci [Compact] 76953a5a1b3Sopenharmony_ci [CCode (cname="pa_signal_event", cprefix="pa_signal_", free_function="pa_signal_free", has_type_id=false)] 77053a5a1b3Sopenharmony_ci public class SignalEvent { 77153a5a1b3Sopenharmony_ci 77253a5a1b3Sopenharmony_ci [CCode (cname="pa_signal_new")] 77353a5a1b3Sopenharmony_ci public SignalEvent(int sig, MainLoopApi.SignalEventCb cb); 77453a5a1b3Sopenharmony_ci 77553a5a1b3Sopenharmony_ci public void set_destroy([CCode (delegate_target = false)] MainLoopApi.SignalEventDestroyCb cb); 77653a5a1b3Sopenharmony_ci } 77753a5a1b3Sopenharmony_ci 77853a5a1b3Sopenharmony_ci [Compact] 77953a5a1b3Sopenharmony_ci [CCode (cname="pa_mainloop_api", unref_function="", ref_function="", has_type_id=false)] 78053a5a1b3Sopenharmony_ci public class MainLoopApi { 78153a5a1b3Sopenharmony_ci public void* userdata; 78253a5a1b3Sopenharmony_ci 78353a5a1b3Sopenharmony_ci /* Callbacks for the consumer to implement*/ 78453a5a1b3Sopenharmony_ci [CCode (cname = "pa_io_event_cb_t")] 78553a5a1b3Sopenharmony_ci public delegate void IoEventCb(MainLoopApi a, IoEvent e, int fd, IoEventFlags flags); 78653a5a1b3Sopenharmony_ci [CCode (cname = "pa_io_event_destroy_cb_t")] 78753a5a1b3Sopenharmony_ci public delegate void IoEventDestroyCb(MainLoopApi a, IoEvent e); 78853a5a1b3Sopenharmony_ci 78953a5a1b3Sopenharmony_ci [CCode (cname = "pa_time_event_cb_t")] 79053a5a1b3Sopenharmony_ci public delegate void TimeEventCb(MainLoopApi a, TimeEvent e, ref timeval t); 79153a5a1b3Sopenharmony_ci [CCode (cname = "pa_time_event_destroy_cb_t")] 79253a5a1b3Sopenharmony_ci public delegate void TimeEventDestroyCb(MainLoopApi a, TimeEvent e); 79353a5a1b3Sopenharmony_ci 79453a5a1b3Sopenharmony_ci [CCode (cname = "pa_defer_event_cb_t")] 79553a5a1b3Sopenharmony_ci public delegate void DeferEventCb(MainLoopApi a, DeferEvent e); 79653a5a1b3Sopenharmony_ci [CCode (cname = "pa_defer_event_destroy_cb_t")] 79753a5a1b3Sopenharmony_ci public delegate void DeferEventDestroyCb(MainLoopApi a, DeferEvent e); 79853a5a1b3Sopenharmony_ci 79953a5a1b3Sopenharmony_ci [CCode (cname = "pa_signal_cb_t")] 80053a5a1b3Sopenharmony_ci public delegate void SignalEventCb(MainLoopApi a, SignalEvent e, int sig); 80153a5a1b3Sopenharmony_ci [CCode (cname = "pa_signal_destroy_cb_t")] 80253a5a1b3Sopenharmony_ci public delegate void SignalEventDestroyCb(MainLoopApi a, SignalEvent e); 80353a5a1b3Sopenharmony_ci 80453a5a1b3Sopenharmony_ci /* Callbacks for the provider to implement */ 80553a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 80653a5a1b3Sopenharmony_ci public delegate IoEvent IoNewCb(MainLoopApi a, int fd, IoEventFlags flags, IoEventCb cb); 80753a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 80853a5a1b3Sopenharmony_ci public delegate void IoEnableCb(IoEvent e, IoEventFlags flags); 80953a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 81053a5a1b3Sopenharmony_ci public delegate void IoFreeCb(IoEvent e); 81153a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 81253a5a1b3Sopenharmony_ci public delegate void IoSetDestroyCb(IoEvent e, [CCode (delegate_target = false)] IoEventDestroyCb? cb); 81353a5a1b3Sopenharmony_ci 81453a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 81553a5a1b3Sopenharmony_ci public delegate TimeEvent TimeNewCb(MainLoopApi a, timeval? t, TimeEventCb cb); 81653a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 81753a5a1b3Sopenharmony_ci public delegate void TimeRestartCb(TimeEvent e, timeval? t); 81853a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 81953a5a1b3Sopenharmony_ci public delegate void TimeFreeCb(TimeEvent e); 82053a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 82153a5a1b3Sopenharmony_ci public delegate void TimeSetDestroyCb(TimeEvent e, [CCode (delegate_target = false)] TimeEventDestroyCb? cb); 82253a5a1b3Sopenharmony_ci 82353a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 82453a5a1b3Sopenharmony_ci public delegate DeferEvent DeferNewCb(MainLoopApi a, DeferEventCb cb); 82553a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 82653a5a1b3Sopenharmony_ci public delegate void DeferEnableCb(DeferEvent e, bool b); 82753a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 82853a5a1b3Sopenharmony_ci public delegate void DeferFreeCb(DeferEvent e); 82953a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 83053a5a1b3Sopenharmony_ci public delegate void DeferSetDestroyCb(DeferEvent e, [CCode (delegate_target = false)] DeferEventDestroyCb? cb); 83153a5a1b3Sopenharmony_ci 83253a5a1b3Sopenharmony_ci [CCode (has_target = false, has_typedef = false)] 83353a5a1b3Sopenharmony_ci public delegate void QuitCb(MainLoopApi a, int retval); 83453a5a1b3Sopenharmony_ci 83553a5a1b3Sopenharmony_ci [CCode (has_typedef = false)] 83653a5a1b3Sopenharmony_ci public delegate void OnceCb(MainLoopApi a); 83753a5a1b3Sopenharmony_ci 83853a5a1b3Sopenharmony_ci public IoNewCb io_new; 83953a5a1b3Sopenharmony_ci public IoEnableCb io_enable; 84053a5a1b3Sopenharmony_ci public IoFreeCb io_free; 84153a5a1b3Sopenharmony_ci public IoSetDestroyCb io_set_destroy; 84253a5a1b3Sopenharmony_ci 84353a5a1b3Sopenharmony_ci public TimeNewCb time_new; 84453a5a1b3Sopenharmony_ci public TimeRestartCb time_restart; 84553a5a1b3Sopenharmony_ci public TimeFreeCb time_free; 84653a5a1b3Sopenharmony_ci public TimeSetDestroyCb time_set_destroy; 84753a5a1b3Sopenharmony_ci 84853a5a1b3Sopenharmony_ci public DeferNewCb defer_new; 84953a5a1b3Sopenharmony_ci public DeferEnableCb defer_enable; 85053a5a1b3Sopenharmony_ci public DeferFreeCb defer_free; 85153a5a1b3Sopenharmony_ci public DeferSetDestroyCb defer_set_destroy; 85253a5a1b3Sopenharmony_ci 85353a5a1b3Sopenharmony_ci public QuitCb quit; 85453a5a1b3Sopenharmony_ci 85553a5a1b3Sopenharmony_ci [CCode (cname="pa_mainloop_api_once")] 85653a5a1b3Sopenharmony_ci public void once(OnceCb cb); 85753a5a1b3Sopenharmony_ci } 85853a5a1b3Sopenharmony_ci 85953a5a1b3Sopenharmony_ci [CCode (cname="pa_signal_init")] 86053a5a1b3Sopenharmony_ci public void signal_init(MainLoopApi api); 86153a5a1b3Sopenharmony_ci 86253a5a1b3Sopenharmony_ci [CCode (cname="pa_signal_done")] 86353a5a1b3Sopenharmony_ci public void signal_done(); 86453a5a1b3Sopenharmony_ci 86553a5a1b3Sopenharmony_ci [CCode (cname="pa_poll_func")] 86653a5a1b3Sopenharmony_ci public delegate int PollFunc(pollfd[] ufds, int timeout); 86753a5a1b3Sopenharmony_ci 86853a5a1b3Sopenharmony_ci [Compact] 86953a5a1b3Sopenharmony_ci [CCode (cname="pa_mainloop", cprefix="pa_mainloop_", free_function="pa_mainloop_free", has_type_id=false)] 87053a5a1b3Sopenharmony_ci public class MainLoop { 87153a5a1b3Sopenharmony_ci 87253a5a1b3Sopenharmony_ci [CCode (cname="pa_mainloop_new")] 87353a5a1b3Sopenharmony_ci public MainLoop(); 87453a5a1b3Sopenharmony_ci 87553a5a1b3Sopenharmony_ci public int prepare(int timeout = -1); 87653a5a1b3Sopenharmony_ci public int poll(); 87753a5a1b3Sopenharmony_ci public int dispatch(); 87853a5a1b3Sopenharmony_ci public int get_retval(); 87953a5a1b3Sopenharmony_ci public int iterate(bool block = true, out int retval = null); 88053a5a1b3Sopenharmony_ci public int run(out int retval = null); 88153a5a1b3Sopenharmony_ci public unowned MainLoopApi get_api(); 88253a5a1b3Sopenharmony_ci public void quit(int retval); 88353a5a1b3Sopenharmony_ci public void wakeup(); 88453a5a1b3Sopenharmony_ci public void set_poll_func(PollFunc poll_func); 88553a5a1b3Sopenharmony_ci } 88653a5a1b3Sopenharmony_ci 88753a5a1b3Sopenharmony_ci [Compact] 88853a5a1b3Sopenharmony_ci [CCode (cname="pa_threaded_mainloop", cprefix="pa_threaded_mainloop_", free_function="pa_threaded_mainloop_free")] 88953a5a1b3Sopenharmony_ci public class ThreadedMainLoop { 89053a5a1b3Sopenharmony_ci 89153a5a1b3Sopenharmony_ci [CCode (cname="pa_threaded_mainloop_new")] 89253a5a1b3Sopenharmony_ci public ThreadedMainLoop(); 89353a5a1b3Sopenharmony_ci 89453a5a1b3Sopenharmony_ci public int start(); 89553a5a1b3Sopenharmony_ci public void stop(); 89653a5a1b3Sopenharmony_ci public void lock(); 89753a5a1b3Sopenharmony_ci public void unlock(); 89853a5a1b3Sopenharmony_ci public void wait(); 89953a5a1b3Sopenharmony_ci public void signal(bool WaitForAccept = false); 90053a5a1b3Sopenharmony_ci public void accept(); 90153a5a1b3Sopenharmony_ci public int get_retval(); 90253a5a1b3Sopenharmony_ci public unowned MainLoopApi get_api(); 90353a5a1b3Sopenharmony_ci public bool in_thread(); 90453a5a1b3Sopenharmony_ci } 90553a5a1b3Sopenharmony_ci 90653a5a1b3Sopenharmony_ci [Compact] 90753a5a1b3Sopenharmony_ci [CCode (cname="pa_operation", cprefix="pa_operation_", unref_function="pa_operation_unref", ref_function="pa_operation_ref", has_type_id=false)] 90853a5a1b3Sopenharmony_ci public class Operation { 90953a5a1b3Sopenharmony_ci 91053a5a1b3Sopenharmony_ci [CCode (cname="pa_operation_state_t", cprefix="PA_OPERATION_", has_type_id=false)] 91153a5a1b3Sopenharmony_ci public enum State { 91253a5a1b3Sopenharmony_ci RUNNING, 91353a5a1b3Sopenharmony_ci DONE, 91453a5a1b3Sopenharmony_ci CANCELED 91553a5a1b3Sopenharmony_ci } 91653a5a1b3Sopenharmony_ci 91753a5a1b3Sopenharmony_ci public void cancel(); 91853a5a1b3Sopenharmony_ci public State get_state(); 91953a5a1b3Sopenharmony_ci } 92053a5a1b3Sopenharmony_ci 92153a5a1b3Sopenharmony_ci [Compact] 92253a5a1b3Sopenharmony_ci [CCode (cname="pa_context", cprefix="pa_context_", unref_function="pa_context_unref", ref_function="pa_context_ref", has_type_id=false)] 92353a5a1b3Sopenharmony_ci public class Context { 92453a5a1b3Sopenharmony_ci 92553a5a1b3Sopenharmony_ci [CCode (cname="pa_context_flags_t", cprefix="PA_CONTEXT_", has_type_id=false)] 92653a5a1b3Sopenharmony_ci public enum Flags { 92753a5a1b3Sopenharmony_ci NOAUTOSPAWN, 92853a5a1b3Sopenharmony_ci NOFAIL 92953a5a1b3Sopenharmony_ci } 93053a5a1b3Sopenharmony_ci 93153a5a1b3Sopenharmony_ci [CCode (cname="pa_context_state_t", cprefix="PA_CONTEXT_", has_type_id=false)] 93253a5a1b3Sopenharmony_ci public enum State { 93353a5a1b3Sopenharmony_ci UNCONNECTED, 93453a5a1b3Sopenharmony_ci CONNECTING, 93553a5a1b3Sopenharmony_ci AUTHORIZING, 93653a5a1b3Sopenharmony_ci SETTING_NAME, 93753a5a1b3Sopenharmony_ci READY, 93853a5a1b3Sopenharmony_ci FAILED, 93953a5a1b3Sopenharmony_ci TERMINATED; 94053a5a1b3Sopenharmony_ci 94153a5a1b3Sopenharmony_ci [CCode (cname="PA_CONTEXT_IS_GOOD", has_type_id=false)] 94253a5a1b3Sopenharmony_ci public bool IS_GOOD(); 94353a5a1b3Sopenharmony_ci } 94453a5a1b3Sopenharmony_ci 94553a5a1b3Sopenharmony_ci [CCode (cname="pa_subscription_mask_t", cprefix="PA_SUBSCRIPTION_MASK_", has_type_id=false)] 94653a5a1b3Sopenharmony_ci public enum SubscriptionMask { 94753a5a1b3Sopenharmony_ci NULL, 94853a5a1b3Sopenharmony_ci SINK, 94953a5a1b3Sopenharmony_ci SOURCE, 95053a5a1b3Sopenharmony_ci SINK_INPUT, 95153a5a1b3Sopenharmony_ci SOURCE_OUTPUT, 95253a5a1b3Sopenharmony_ci MODULE, 95353a5a1b3Sopenharmony_ci CLIENT, 95453a5a1b3Sopenharmony_ci SAMPLE_CACHE, 95553a5a1b3Sopenharmony_ci SERVER, 95653a5a1b3Sopenharmony_ci CARD, 95753a5a1b3Sopenharmony_ci ALL; 95853a5a1b3Sopenharmony_ci 95953a5a1b3Sopenharmony_ci [CCode (cname="pa_subscription_match_flags")] 96053a5a1b3Sopenharmony_ci public bool match_flags(SubscriptionEventType t); 96153a5a1b3Sopenharmony_ci } 96253a5a1b3Sopenharmony_ci 96353a5a1b3Sopenharmony_ci [CCode (cname="pa_subscription_event_type_t", cprefix="PA_SUBSCRIPTION_EVENT_", has_type_id=false)] 96453a5a1b3Sopenharmony_ci public enum SubscriptionEventType { 96553a5a1b3Sopenharmony_ci SINK, 96653a5a1b3Sopenharmony_ci SOURCE, 96753a5a1b3Sopenharmony_ci SINK_INPUT, 96853a5a1b3Sopenharmony_ci SOURCE_OUTPUT, 96953a5a1b3Sopenharmony_ci MODULE, 97053a5a1b3Sopenharmony_ci CLIENT, 97153a5a1b3Sopenharmony_ci SAMPLE_CACHE, 97253a5a1b3Sopenharmony_ci SERVER, 97353a5a1b3Sopenharmony_ci CARD, 97453a5a1b3Sopenharmony_ci FACILITY_MASK, 97553a5a1b3Sopenharmony_ci NEW, 97653a5a1b3Sopenharmony_ci CHANGE, 97753a5a1b3Sopenharmony_ci REMOVE, 97853a5a1b3Sopenharmony_ci TYPE_MASK 97953a5a1b3Sopenharmony_ci } 98053a5a1b3Sopenharmony_ci 98153a5a1b3Sopenharmony_ci [CCode (cname = "pa_context_notify_cb_t")] 98253a5a1b3Sopenharmony_ci public delegate void NotifyCb(Context c); 98353a5a1b3Sopenharmony_ci [CCode (cname = "pa_context_success_cb_t")] 98453a5a1b3Sopenharmony_ci public delegate void SuccessCb(Context c, int success); 98553a5a1b3Sopenharmony_ci [CCode (cname = "pa_context_event_cb_t")] 98653a5a1b3Sopenharmony_ci public delegate void EventCb(Context c, string name, Proplist? proplist); 98753a5a1b3Sopenharmony_ci [CCode (cname = "pa_context_subscribe_cb_t")] 98853a5a1b3Sopenharmony_ci public delegate void SubscribeCb(Context c, SubscriptionEventType t, uint32 idx); 98953a5a1b3Sopenharmony_ci [CCode (cname = "pa_sink_info_cb_t")] 99053a5a1b3Sopenharmony_ci public delegate void SinkInfoCb(Context c, SinkInfo? i, int eol); 99153a5a1b3Sopenharmony_ci [CCode (cname = "pa_source_info_cb_t")] 99253a5a1b3Sopenharmony_ci public delegate void SourceInfoCb(Context c, SourceInfo? i, int eol); 99353a5a1b3Sopenharmony_ci [CCode (cname = "pa_card_info_cb_t")] 99453a5a1b3Sopenharmony_ci public delegate void CardInfoCb(Context c, CardInfo? i, int eol); 99553a5a1b3Sopenharmony_ci [CCode (cname = "pa_sink_input_info_cb_t")] 99653a5a1b3Sopenharmony_ci public delegate void SinkInputInfoCb(Context c, SinkInputInfo? i, int eol); 99753a5a1b3Sopenharmony_ci [CCode (cname = "pa_source_output_info_cb_t")] 99853a5a1b3Sopenharmony_ci public delegate void SourceOutputInfoCb(Context c, SourceOutputInfo? i, int eol); 99953a5a1b3Sopenharmony_ci [CCode (cname = "pa_server_info_cb_t")] 100053a5a1b3Sopenharmony_ci public delegate void ServerInfoCb(Context c, ServerInfo? i); 100153a5a1b3Sopenharmony_ci [CCode (cname = "pa_stat_info_cb_t")] 100253a5a1b3Sopenharmony_ci public delegate void StatInfoCb(Context c, ServerInfo? i); 100353a5a1b3Sopenharmony_ci [CCode (cname = "pa_module_info_cb_t")] 100453a5a1b3Sopenharmony_ci public delegate void ModuleInfoCb(Context c, ModuleInfo? i, int eol); 100553a5a1b3Sopenharmony_ci [CCode (cname = "pa_client_info_cb_t")] 100653a5a1b3Sopenharmony_ci public delegate void ClientInfoCb(Context c, ClientInfo? i, int eol); 100753a5a1b3Sopenharmony_ci [CCode (cname = "pa_sample_info_cb_t")] 100853a5a1b3Sopenharmony_ci public delegate void SampleInfoCb(Context c, SampleInfo? i, int eol); 100953a5a1b3Sopenharmony_ci [CCode (cname = "pa_context_index_cb_t")] 101053a5a1b3Sopenharmony_ci public delegate void IndexCb(Context c, uint32 idx); 101153a5a1b3Sopenharmony_ci 101253a5a1b3Sopenharmony_ci [CCode (cname="pa_context_new_with_proplist")] 101353a5a1b3Sopenharmony_ci public Context(MainLoopApi api, string? name, Proplist? proplist = null); 101453a5a1b3Sopenharmony_ci 101553a5a1b3Sopenharmony_ci public void set_state_callback(NotifyCb? cb = null); 101653a5a1b3Sopenharmony_ci public void set_event_callback(EventCb? cb = null); 101753a5a1b3Sopenharmony_ci public void set_subscribe_callback(SubscribeCb? cb = null); 101853a5a1b3Sopenharmony_ci 101953a5a1b3Sopenharmony_ci public Error errno(); 102053a5a1b3Sopenharmony_ci 102153a5a1b3Sopenharmony_ci public int is_pending(); 102253a5a1b3Sopenharmony_ci public State get_state(); 102353a5a1b3Sopenharmony_ci public int is_local(); 102453a5a1b3Sopenharmony_ci public unowned string? get_server(); 102553a5a1b3Sopenharmony_ci public uint32 get_protocol_version(); 102653a5a1b3Sopenharmony_ci public uint32 get_server_protocol_version(); 102753a5a1b3Sopenharmony_ci public uint32 get_index(); 102853a5a1b3Sopenharmony_ci 102953a5a1b3Sopenharmony_ci public int connect(string? server = null, Flags flags = 0, SpawnApi? api = null); 103053a5a1b3Sopenharmony_ci public void disconnect(); 103153a5a1b3Sopenharmony_ci 103253a5a1b3Sopenharmony_ci public Operation? drain(NotifyCb? cb = null); 103353a5a1b3Sopenharmony_ci public Operation? exit_daemon(SuccessCb? cb = null); 103453a5a1b3Sopenharmony_ci public Operation? set_default_sink(string name, SuccessCb? cb = null); 103553a5a1b3Sopenharmony_ci public Operation? set_default_source(string name, SuccessCb? cb = null); 103653a5a1b3Sopenharmony_ci public Operation? set_name(string name, SuccessCb? cb = null); 103753a5a1b3Sopenharmony_ci 103853a5a1b3Sopenharmony_ci public Operation? proplist_remove([CCode (array_length = false)] string[] keys, SuccessCb? cb = null); 103953a5a1b3Sopenharmony_ci public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb? cb = null); 104053a5a1b3Sopenharmony_ci 104153a5a1b3Sopenharmony_ci public Operation? subscribe(SubscriptionMask mask, SuccessCb? cb = null); 104253a5a1b3Sopenharmony_ci 104353a5a1b3Sopenharmony_ci public Operation? get_sink_info_by_name(string name, SinkInfoCb cb); 104453a5a1b3Sopenharmony_ci public Operation? get_sink_info_by_index(uint32 idx, SinkInfoCb cb); 104553a5a1b3Sopenharmony_ci public Operation? get_sink_info_list(SinkInfoCb cb); 104653a5a1b3Sopenharmony_ci 104753a5a1b3Sopenharmony_ci public Operation? set_sink_volume_by_name(string name, CVolume volume, SuccessCb? cb = null); 104853a5a1b3Sopenharmony_ci public Operation? set_sink_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null); 104953a5a1b3Sopenharmony_ci public Operation? set_sink_mute_by_name(string name, bool mute, SuccessCb? cb = null); 105053a5a1b3Sopenharmony_ci public Operation? set_sink_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null); 105153a5a1b3Sopenharmony_ci 105253a5a1b3Sopenharmony_ci public Operation? suspend_sink_by_name(string name, bool suspend, SuccessCb? cb = null); 105353a5a1b3Sopenharmony_ci public Operation? suspend_sink_by_index(uint32 idx, bool suspend, SuccessCb? cb = null); 105453a5a1b3Sopenharmony_ci 105553a5a1b3Sopenharmony_ci public Operation? set_sink_port_by_name(string name, string port, SuccessCb? cb = null); 105653a5a1b3Sopenharmony_ci public Operation? set_sink_port_by_index(uint32 idx, string port, SuccessCb? cb = null); 105753a5a1b3Sopenharmony_ci 105853a5a1b3Sopenharmony_ci public Operation? get_source_info_by_name(string name, SourceInfoCb cb); 105953a5a1b3Sopenharmony_ci public Operation? get_source_info_by_index(uint32 idx, SourceInfoCb cb); 106053a5a1b3Sopenharmony_ci public Operation? get_source_info_list(SourceInfoCb cb); 106153a5a1b3Sopenharmony_ci 106253a5a1b3Sopenharmony_ci public Operation? set_source_volume_by_name(string name, CVolume volume, SuccessCb? cb = null); 106353a5a1b3Sopenharmony_ci public Operation? set_source_volume_by_index(uint32 idx, CVolume volume, SuccessCb? cb = null); 106453a5a1b3Sopenharmony_ci public Operation? set_source_mute_by_name(string name, bool mute, SuccessCb? cb = null); 106553a5a1b3Sopenharmony_ci public Operation? set_source_mute_by_index(uint32 idx, bool mute, SuccessCb? cb = null); 106653a5a1b3Sopenharmony_ci 106753a5a1b3Sopenharmony_ci public Operation? suspend_source_by_name(string name, bool suspend, SuccessCb? cb = null); 106853a5a1b3Sopenharmony_ci public Operation? suspend_source_by_index(uint32 idx, bool suspend, SuccessCb? cb = null); 106953a5a1b3Sopenharmony_ci 107053a5a1b3Sopenharmony_ci public Operation? set_source_port_by_name(string name, string port, SuccessCb? cb = null); 107153a5a1b3Sopenharmony_ci public Operation? set_source_port_by_index(uint32 idx, string port, SuccessCb? cb = null); 107253a5a1b3Sopenharmony_ci 107353a5a1b3Sopenharmony_ci public Operation? get_server_info(ServerInfoCb cb); 107453a5a1b3Sopenharmony_ci 107553a5a1b3Sopenharmony_ci public Operation? get_module_info(uint32 idx, ModuleInfoCb cb); 107653a5a1b3Sopenharmony_ci public Operation? get_module_info_list(ModuleInfoCb cb); 107753a5a1b3Sopenharmony_ci 107853a5a1b3Sopenharmony_ci public Operation? load_module(string name, string? argument, IndexCb? cb = null); 107953a5a1b3Sopenharmony_ci public Operation? unload_module(uint32 idx, SuccessCb? cb = null); 108053a5a1b3Sopenharmony_ci 108153a5a1b3Sopenharmony_ci public Operation? get_client_info(uint32 idx, ClientInfoCb cb); 108253a5a1b3Sopenharmony_ci public Operation? get_client_info_list(ClientInfoCb cb); 108353a5a1b3Sopenharmony_ci 108453a5a1b3Sopenharmony_ci public Operation? kill_client(uint32 idx, SuccessCb? cb = null); 108553a5a1b3Sopenharmony_ci 108653a5a1b3Sopenharmony_ci public Operation? get_card_info_by_name(string name, CardInfoCb cb); 108753a5a1b3Sopenharmony_ci public Operation? get_card_info_by_index(uint32 idx, CardInfoCb cb); 108853a5a1b3Sopenharmony_ci public Operation? get_card_info_list(CardInfoCb cb); 108953a5a1b3Sopenharmony_ci 109053a5a1b3Sopenharmony_ci public Operation? set_card_profile_by_index(uint32 idx, string profile, SuccessCb? cb = null); 109153a5a1b3Sopenharmony_ci public Operation? set_card_profile_by_name(string name, string profile, SuccessCb? cb = null); 109253a5a1b3Sopenharmony_ci 109353a5a1b3Sopenharmony_ci public Operation? get_sink_input_info(uint32 idx, SinkInputInfoCb cb); 109453a5a1b3Sopenharmony_ci public Operation? get_sink_input_info_list(SinkInputInfoCb cb); 109553a5a1b3Sopenharmony_ci 109653a5a1b3Sopenharmony_ci public Operation? move_sink_input_by_index(uint32 idx, uint32 sink_idx, SuccessCb? cb = null); 109753a5a1b3Sopenharmony_ci public Operation? move_sink_input_by_name(uint32 idx, string sink_name, SuccessCb? cb = null); 109853a5a1b3Sopenharmony_ci 109953a5a1b3Sopenharmony_ci public Operation? set_sink_input_volume(uint32 idx, CVolume volume, SuccessCb? cb = null); 110053a5a1b3Sopenharmony_ci public Operation? set_sink_input_mute(uint32 idx, bool mute, SuccessCb? cb = null); 110153a5a1b3Sopenharmony_ci 110253a5a1b3Sopenharmony_ci public Operation? set_source_output_volume(uint32 idx, CVolume volume, SuccessCb? cb = null); 110353a5a1b3Sopenharmony_ci public Operation? set_source_output_mute(uint32 idx, bool mute, SuccessCb? cb = null); 110453a5a1b3Sopenharmony_ci 110553a5a1b3Sopenharmony_ci public Operation? kill_sink_input(uint32 idx, SuccessCb? cb = null); 110653a5a1b3Sopenharmony_ci 110753a5a1b3Sopenharmony_ci public Operation? get_source_output_info(uint32 idx, SourceOutputInfoCb cb); 110853a5a1b3Sopenharmony_ci public Operation? get_source_output_info_list(SourceOutputInfoCb cb); 110953a5a1b3Sopenharmony_ci 111053a5a1b3Sopenharmony_ci public Operation? move_source_output_by_index(uint32 idx, uint32 source_idx, SuccessCb? cb = null); 111153a5a1b3Sopenharmony_ci public Operation? move_source_output_by_name(uint32 idx, string source_name, SuccessCb? cb = null); 111253a5a1b3Sopenharmony_ci 111353a5a1b3Sopenharmony_ci public Operation? kill_source_output(uint32 idx, SuccessCb? cb = null); 111453a5a1b3Sopenharmony_ci 111553a5a1b3Sopenharmony_ci public Operation? stat(StatInfoCb cb); 111653a5a1b3Sopenharmony_ci 111753a5a1b3Sopenharmony_ci public Operation? get_sample_info_by_name(string name, SampleInfoCb cb); 111853a5a1b3Sopenharmony_ci public Operation? get_sample_info_by_index(uint32 idx, SampleInfoCb cb); 111953a5a1b3Sopenharmony_ci public Operation? get_sample_info_list(SampleInfoCb cb); 112053a5a1b3Sopenharmony_ci 112153a5a1b3Sopenharmony_ci public Operation? remove_sample(string name, SuccessCb? cb = null); 112253a5a1b3Sopenharmony_ci 112353a5a1b3Sopenharmony_ci public Operation? play_sample(string name, string? device = null, Volume volume = Volume.INVALID, SuccessCb? cb = null); 112453a5a1b3Sopenharmony_ci public Operation? play_sample_with_proplist(string name, string? device = null, Volume volume = Volume.INVALID, Proplist? p = null, IndexCb? cb = null); 112553a5a1b3Sopenharmony_ci } 112653a5a1b3Sopenharmony_ci 112753a5a1b3Sopenharmony_ci [Compact] 112853a5a1b3Sopenharmony_ci [CCode (cname="pa_stream", cprefix="pa_stream_", unref_function="pa_stream_unref", ref_function="pa_stream_ref", has_type_id=false)] 112953a5a1b3Sopenharmony_ci public class Stream { 113053a5a1b3Sopenharmony_ci 113153a5a1b3Sopenharmony_ci [CCode (cname="pa_stream_flags_t", cprefix="PA_STREAM_", has_type_id=false)] 113253a5a1b3Sopenharmony_ci public enum Flags { 113353a5a1b3Sopenharmony_ci START_CORKED, 113453a5a1b3Sopenharmony_ci INTERPOLATE_TIMING, 113553a5a1b3Sopenharmony_ci NOT_MONOTONIC, 113653a5a1b3Sopenharmony_ci AUTO_TIMING_UPDATE, 113753a5a1b3Sopenharmony_ci NO_REMAP_CHANNELS, 113853a5a1b3Sopenharmony_ci NO_REMIX_CHANNELS, 113953a5a1b3Sopenharmony_ci FIX_FORMAT, 114053a5a1b3Sopenharmony_ci FIX_RATE, 114153a5a1b3Sopenharmony_ci FIX_CHANNELS, 114253a5a1b3Sopenharmony_ci DONT_MOVE, 114353a5a1b3Sopenharmony_ci VARIABLE_RATE, 114453a5a1b3Sopenharmony_ci PEAK_DETECT, 114553a5a1b3Sopenharmony_ci START_MUTED, 114653a5a1b3Sopenharmony_ci ADJUST_LATENCY, 114753a5a1b3Sopenharmony_ci EARLY_REQUESTS, 114853a5a1b3Sopenharmony_ci DONT_INHIBIT_AUTO_SUSPEND, 114953a5a1b3Sopenharmony_ci START_UNMUTED, 115053a5a1b3Sopenharmony_ci FAIL_ON_SUSPEND 115153a5a1b3Sopenharmony_ci } 115253a5a1b3Sopenharmony_ci 115353a5a1b3Sopenharmony_ci [CCode (cname="pa_stream_state_t", cprefix="PA_STREAM_", has_type_id=false)] 115453a5a1b3Sopenharmony_ci public enum State { 115553a5a1b3Sopenharmony_ci UNCONNECTED, 115653a5a1b3Sopenharmony_ci CREATING, 115753a5a1b3Sopenharmony_ci READY, 115853a5a1b3Sopenharmony_ci FAILED, 115953a5a1b3Sopenharmony_ci TERMINATED; 116053a5a1b3Sopenharmony_ci 116153a5a1b3Sopenharmony_ci [CCode (cname="PA_STREAM_IS_GOOD")] 116253a5a1b3Sopenharmony_ci public bool IS_GOOD(); 116353a5a1b3Sopenharmony_ci } 116453a5a1b3Sopenharmony_ci 116553a5a1b3Sopenharmony_ci [CCode (cname="pa_stream_direction_t", cprefix="PA_STREAM_", has_type_id=false)] 116653a5a1b3Sopenharmony_ci public enum Direction { 116753a5a1b3Sopenharmony_ci NODIRECTION, 116853a5a1b3Sopenharmony_ci PLAYBACK, 116953a5a1b3Sopenharmony_ci RECORD, 117053a5a1b3Sopenharmony_ci UPLOAD 117153a5a1b3Sopenharmony_ci } 117253a5a1b3Sopenharmony_ci 117353a5a1b3Sopenharmony_ci [CCode (cname="pa_seek_mode_t", cprefix="PA_SEEK_", has_type_id=false)] 117453a5a1b3Sopenharmony_ci public enum SeekMode { 117553a5a1b3Sopenharmony_ci RELATIVE, 117653a5a1b3Sopenharmony_ci ABSOLUTE, 117753a5a1b3Sopenharmony_ci RELATIVE_ON_READ, 117853a5a1b3Sopenharmony_ci RELATIVE_END 117953a5a1b3Sopenharmony_ci } 118053a5a1b3Sopenharmony_ci 118153a5a1b3Sopenharmony_ci [CCode (cname="pa_buffer_attr", has_type_id=false)] 118253a5a1b3Sopenharmony_ci public struct BufferAttr { 118353a5a1b3Sopenharmony_ci uint32 maxlength; 118453a5a1b3Sopenharmony_ci uint32 tlength; 118553a5a1b3Sopenharmony_ci uint32 prebuf; 118653a5a1b3Sopenharmony_ci uint32 minreq; 118753a5a1b3Sopenharmony_ci uint32 fragsize; 118853a5a1b3Sopenharmony_ci } 118953a5a1b3Sopenharmony_ci 119053a5a1b3Sopenharmony_ci [CCode (cname="pa_timing_info", has_type_id=false)] 119153a5a1b3Sopenharmony_ci public struct TimingInfo { 119253a5a1b3Sopenharmony_ci timeval timestamp; 119353a5a1b3Sopenharmony_ci int synchronized_clocks; 119453a5a1b3Sopenharmony_ci usec sink_usec; 119553a5a1b3Sopenharmony_ci usec source_usec; 119653a5a1b3Sopenharmony_ci usec transport_usec; 119753a5a1b3Sopenharmony_ci int playing; 119853a5a1b3Sopenharmony_ci int write_index_corrupt; 119953a5a1b3Sopenharmony_ci int64 write_index; 120053a5a1b3Sopenharmony_ci int read_index_corrupt; 120153a5a1b3Sopenharmony_ci int64 read_index; 120253a5a1b3Sopenharmony_ci usec configured_sink_usec; 120353a5a1b3Sopenharmony_ci usec configured_source_usec; 120453a5a1b3Sopenharmony_ci int64 since_underrun; 120553a5a1b3Sopenharmony_ci } 120653a5a1b3Sopenharmony_ci 120753a5a1b3Sopenharmony_ci [CCode (cname="PA_STREAM_EVENT_REQUEST_CORK")] 120853a5a1b3Sopenharmony_ci public const string EVENT_REQUEST_CORK; 120953a5a1b3Sopenharmony_ci 121053a5a1b3Sopenharmony_ci [CCode (cname="PA_STREAM_EVENT_REQUEST_UNCORK")] 121153a5a1b3Sopenharmony_ci public const string EVENT_REQUEST_UNCORK; 121253a5a1b3Sopenharmony_ci 121353a5a1b3Sopenharmony_ci [CCode (cname = "pa_stream_success_cb_t")] 121453a5a1b3Sopenharmony_ci public delegate void SuccessCb(Stream s, int success); 121553a5a1b3Sopenharmony_ci [CCode (cname = "pa_stream_request_cb_t")] 121653a5a1b3Sopenharmony_ci public delegate void RequestCb(Stream s, size_t nbytes); 121753a5a1b3Sopenharmony_ci [CCode (cname = "pa_stream_notify_cb_t")] 121853a5a1b3Sopenharmony_ci public delegate void NotifyCb(Stream s); 121953a5a1b3Sopenharmony_ci [CCode (cname = "pa_stream_event_cb_t")] 122053a5a1b3Sopenharmony_ci public delegate void EventCb(Stream s, string name, Proplist proplist); 122153a5a1b3Sopenharmony_ci 122253a5a1b3Sopenharmony_ci [CCode (cname="pa_stream_new_with_proplist")] 122353a5a1b3Sopenharmony_ci public Stream(Context c, string name, SampleSpec ss, ChannelMap? map = null, Proplist? proplist = null); 122453a5a1b3Sopenharmony_ci 122553a5a1b3Sopenharmony_ci public State get_state(); 122653a5a1b3Sopenharmony_ci public Context get_context(); 122753a5a1b3Sopenharmony_ci public uint32 get_index(); 122853a5a1b3Sopenharmony_ci public uint32 get_device_index(); 122953a5a1b3Sopenharmony_ci public unowned string? get_device_name(); 123053a5a1b3Sopenharmony_ci public int is_suspended(); 123153a5a1b3Sopenharmony_ci public int is_corked(); 123253a5a1b3Sopenharmony_ci 123353a5a1b3Sopenharmony_ci public int connect_playback(string? dev = null, BufferAttr? a = null, Flags flags = 0, CVolume? volume = null, Stream? sync_stream = null); 123453a5a1b3Sopenharmony_ci public int connect_record(string? dev = null, BufferAttr? a = null, Flags flags = 0); 123553a5a1b3Sopenharmony_ci public int connect_upload(size_t length); 123653a5a1b3Sopenharmony_ci public int disconnect(); 123753a5a1b3Sopenharmony_ci public int finish_upload(); 123853a5a1b3Sopenharmony_ci 123953a5a1b3Sopenharmony_ci public int begin_write(out void* data, out size_t nbytes); 124053a5a1b3Sopenharmony_ci public int cancel_write(); 124153a5a1b3Sopenharmony_ci public int write(void *data, size_t bytes, FreeCb? free_cb = null, int64 offset = 0, SeekMode mode = SeekMode.RELATIVE); 124253a5a1b3Sopenharmony_ci public int peek(out void *data, out size_t nbytes); 124353a5a1b3Sopenharmony_ci public int drop(); 124453a5a1b3Sopenharmony_ci public size_t writable_size(); 124553a5a1b3Sopenharmony_ci public size_t readable_size(); 124653a5a1b3Sopenharmony_ci 124753a5a1b3Sopenharmony_ci public void set_state_callback(NotifyCb? cb = null); 124853a5a1b3Sopenharmony_ci public void set_write_callback(RequestCb? cb = null); 124953a5a1b3Sopenharmony_ci public void set_read_callback(RequestCb? cb = null); 125053a5a1b3Sopenharmony_ci public void set_overflow_callback(NotifyCb? cb = null); 125153a5a1b3Sopenharmony_ci public void set_underflow_callback(NotifyCb? cb = null); 125253a5a1b3Sopenharmony_ci public void set_started_callback(NotifyCb? cb = null); 125353a5a1b3Sopenharmony_ci public void set_latency_update_callback(NotifyCb? cb = null); 125453a5a1b3Sopenharmony_ci public void set_moved_callback(NotifyCb? cb = null); 125553a5a1b3Sopenharmony_ci public void set_suspended_callback(NotifyCb? cb = null); 125653a5a1b3Sopenharmony_ci public void set_event_callback(EventCb? cb = null); 125753a5a1b3Sopenharmony_ci public void set_buffer_attr_callback(NotifyCb? cb = null); 125853a5a1b3Sopenharmony_ci 125953a5a1b3Sopenharmony_ci public Operation? drain(SuccessCb? cb = null); 126053a5a1b3Sopenharmony_ci public Operation? update_timing_info(SuccessCb? cb = null); 126153a5a1b3Sopenharmony_ci 126253a5a1b3Sopenharmony_ci public Operation? cork(bool b, SuccessCb? cb = null); 126353a5a1b3Sopenharmony_ci public Operation? flush(SuccessCb? cb = null); 126453a5a1b3Sopenharmony_ci public Operation? prebuf(SuccessCb? cb = null); 126553a5a1b3Sopenharmony_ci public Operation? trigger(SuccessCb? cb = null); 126653a5a1b3Sopenharmony_ci 126753a5a1b3Sopenharmony_ci public Operation? set_name(string name, SuccessCb? cb = null); 126853a5a1b3Sopenharmony_ci public Operation? set_buffer_attr(BufferAttr attr, SuccessCb? cb = null); 126953a5a1b3Sopenharmony_ci public Operation? update_sample_rate(uint32 rate, SuccessCb? cb = null); 127053a5a1b3Sopenharmony_ci 127153a5a1b3Sopenharmony_ci public Operation? proplist_remove([CCode (array_length = false)] string[] keys, SuccessCb? cb = null); 127253a5a1b3Sopenharmony_ci public Operation? proplist_update(UpdateMode mode, Proplist pl, SuccessCb? cb = null); 127353a5a1b3Sopenharmony_ci 127453a5a1b3Sopenharmony_ci public unowned TimingInfo? get_timing_info(); 127553a5a1b3Sopenharmony_ci public int get_time(out usec u); 127653a5a1b3Sopenharmony_ci public int get_latency(out usec u, out bool negative = null); 127753a5a1b3Sopenharmony_ci 127853a5a1b3Sopenharmony_ci public unowned SampleSpec? get_sample_spec(); 127953a5a1b3Sopenharmony_ci public unowned ChannelMap? get_channel_map(); 128053a5a1b3Sopenharmony_ci public unowned BufferAttr? get_buffer_attr(); 128153a5a1b3Sopenharmony_ci 128253a5a1b3Sopenharmony_ci public int set_monitor_stream(uint32 sink_input); 128353a5a1b3Sopenharmony_ci public uint32 get_monitor_stream(); 128453a5a1b3Sopenharmony_ci } 128553a5a1b3Sopenharmony_ci 128653a5a1b3Sopenharmony_ci [CCode (cname="pa_direction_t", cprefix="PA_DIRECTION_", has_type_id=false)] 128753a5a1b3Sopenharmony_ci [Flags] 128853a5a1b3Sopenharmony_ci public enum Direction { 128953a5a1b3Sopenharmony_ci OUTPUT = 0x0001U, 129053a5a1b3Sopenharmony_ci INPUT = 0x0002U 129153a5a1b3Sopenharmony_ci } 129253a5a1b3Sopenharmony_ci 129353a5a1b3Sopenharmony_ci [CCode (cname="pa_port_available_t", cprefix="PA_PORT_AVAILABLE_", has_type_id=false)] 129453a5a1b3Sopenharmony_ci public enum PortAvailable { 129553a5a1b3Sopenharmony_ci UNKNOWN = 0, 129653a5a1b3Sopenharmony_ci NO = 1, 129753a5a1b3Sopenharmony_ci YES = 2 129853a5a1b3Sopenharmony_ci } 129953a5a1b3Sopenharmony_ci 130053a5a1b3Sopenharmony_ci [CCode (cname="pa_sink_port_info", has_type_id=false)] 130153a5a1b3Sopenharmony_ci public struct SinkPortInfo { 130253a5a1b3Sopenharmony_ci public string name; 130353a5a1b3Sopenharmony_ci public string description; 130453a5a1b3Sopenharmony_ci public uint32 priority; 130553a5a1b3Sopenharmony_ci } 130653a5a1b3Sopenharmony_ci 130753a5a1b3Sopenharmony_ci [CCode (cname="pa_sink_info", has_type_id=false)] 130853a5a1b3Sopenharmony_ci public struct SinkInfo { 130953a5a1b3Sopenharmony_ci public unowned string name; 131053a5a1b3Sopenharmony_ci public uint32 index; 131153a5a1b3Sopenharmony_ci public unowned string description; 131253a5a1b3Sopenharmony_ci public SampleSpec sample_spec; 131353a5a1b3Sopenharmony_ci public ChannelMap channel_map; 131453a5a1b3Sopenharmony_ci public uint32 owner_module; 131553a5a1b3Sopenharmony_ci public CVolume volume; 131653a5a1b3Sopenharmony_ci public int mute; 131753a5a1b3Sopenharmony_ci public uint32 monitor_source; 131853a5a1b3Sopenharmony_ci public unowned string monitor_source_name; 131953a5a1b3Sopenharmony_ci public usec latency; 132053a5a1b3Sopenharmony_ci public unowned string driver; 132153a5a1b3Sopenharmony_ci public SinkFlags flags; 132253a5a1b3Sopenharmony_ci public Proplist proplist; 132353a5a1b3Sopenharmony_ci public usec configured_latency; 132453a5a1b3Sopenharmony_ci public Volume base_volume; 132553a5a1b3Sopenharmony_ci public SinkState state; 132653a5a1b3Sopenharmony_ci public uint32 n_volume_steps; 132753a5a1b3Sopenharmony_ci public uint32 card; 132853a5a1b3Sopenharmony_ci public uint32 n_ports; 132953a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_ports")] 133053a5a1b3Sopenharmony_ci public SinkPortInfo*[] ports; 133153a5a1b3Sopenharmony_ci public SinkPortInfo* active_port; 133253a5a1b3Sopenharmony_ci } 133353a5a1b3Sopenharmony_ci 133453a5a1b3Sopenharmony_ci [CCode (cname="pa_source_port_info", has_type_id=false)] 133553a5a1b3Sopenharmony_ci public struct SourcePortInfo { 133653a5a1b3Sopenharmony_ci public unowned string name; 133753a5a1b3Sopenharmony_ci public unowned string description; 133853a5a1b3Sopenharmony_ci public uint32 priority; 133953a5a1b3Sopenharmony_ci } 134053a5a1b3Sopenharmony_ci 134153a5a1b3Sopenharmony_ci [CCode (cname="pa_source_info", has_type_id=false)] 134253a5a1b3Sopenharmony_ci public struct SourceInfo { 134353a5a1b3Sopenharmony_ci public unowned string name; 134453a5a1b3Sopenharmony_ci public uint32 index; 134553a5a1b3Sopenharmony_ci public unowned string description; 134653a5a1b3Sopenharmony_ci public SampleSpec sample_spec; 134753a5a1b3Sopenharmony_ci public ChannelMap channel_map; 134853a5a1b3Sopenharmony_ci public uint32 owner_module; 134953a5a1b3Sopenharmony_ci public CVolume volume; 135053a5a1b3Sopenharmony_ci public int mute; 135153a5a1b3Sopenharmony_ci public uint32 monitor_of_sink; 135253a5a1b3Sopenharmony_ci public unowned string monitor_of_sink_name; 135353a5a1b3Sopenharmony_ci public usec latency; 135453a5a1b3Sopenharmony_ci public unowned string driver; 135553a5a1b3Sopenharmony_ci public SourceFlags flags; 135653a5a1b3Sopenharmony_ci public Proplist proplist; 135753a5a1b3Sopenharmony_ci public usec configured_latency; 135853a5a1b3Sopenharmony_ci public Volume base_volume; 135953a5a1b3Sopenharmony_ci public SourceState state; 136053a5a1b3Sopenharmony_ci public uint32 n_volume_steps; 136153a5a1b3Sopenharmony_ci public uint32 card; 136253a5a1b3Sopenharmony_ci public uint32 n_ports; 136353a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_ports")] 136453a5a1b3Sopenharmony_ci public SourcePortInfo*[] ports; 136553a5a1b3Sopenharmony_ci public SourcePortInfo* active_port; 136653a5a1b3Sopenharmony_ci } 136753a5a1b3Sopenharmony_ci 136853a5a1b3Sopenharmony_ci [CCode (cname="pa_server_info", has_type_id=false)] 136953a5a1b3Sopenharmony_ci public struct ServerInfo { 137053a5a1b3Sopenharmony_ci public unowned string user_name; 137153a5a1b3Sopenharmony_ci public unowned string host_name; 137253a5a1b3Sopenharmony_ci public unowned string server_version; 137353a5a1b3Sopenharmony_ci public unowned string server_name; 137453a5a1b3Sopenharmony_ci public SampleSpec sample_spec; 137553a5a1b3Sopenharmony_ci public unowned string default_sink_name; 137653a5a1b3Sopenharmony_ci public unowned string default_source_name; 137753a5a1b3Sopenharmony_ci public uint32 cookie; 137853a5a1b3Sopenharmony_ci public ChannelMap channel_map; 137953a5a1b3Sopenharmony_ci } 138053a5a1b3Sopenharmony_ci 138153a5a1b3Sopenharmony_ci [CCode (cname="pa_module_info", has_type_id=false)] 138253a5a1b3Sopenharmony_ci public struct ModuleInfo { 138353a5a1b3Sopenharmony_ci public uint32 index; 138453a5a1b3Sopenharmony_ci public unowned string name; 138553a5a1b3Sopenharmony_ci public unowned string argument; 138653a5a1b3Sopenharmony_ci public uint32 n_used; 138753a5a1b3Sopenharmony_ci public Proplist proplist; 138853a5a1b3Sopenharmony_ci } 138953a5a1b3Sopenharmony_ci 139053a5a1b3Sopenharmony_ci [CCode (cname="pa_client_info", has_type_id=false)] 139153a5a1b3Sopenharmony_ci public struct ClientInfo { 139253a5a1b3Sopenharmony_ci public uint32 index; 139353a5a1b3Sopenharmony_ci public unowned string name; 139453a5a1b3Sopenharmony_ci public uint32 owner_module; 139553a5a1b3Sopenharmony_ci public unowned string driver; 139653a5a1b3Sopenharmony_ci public Proplist proplist; 139753a5a1b3Sopenharmony_ci } 139853a5a1b3Sopenharmony_ci 139953a5a1b3Sopenharmony_ci [CCode (cname="pa_card_profile_info", has_type_id=false)] 140053a5a1b3Sopenharmony_ci public struct CardProfileInfo { 140153a5a1b3Sopenharmony_ci public unowned string name; 140253a5a1b3Sopenharmony_ci public unowned string description; 140353a5a1b3Sopenharmony_ci public uint32 n_sinks; 140453a5a1b3Sopenharmony_ci public uint32 n_sources; 140553a5a1b3Sopenharmony_ci public uint32 priority; 140653a5a1b3Sopenharmony_ci } 140753a5a1b3Sopenharmony_ci 140853a5a1b3Sopenharmony_ci [CCode (cname="pa_card_profile_info2", has_type_id=false)] 140953a5a1b3Sopenharmony_ci public struct CardProfileInfo2 { 141053a5a1b3Sopenharmony_ci public unowned string name; 141153a5a1b3Sopenharmony_ci public unowned string description; 141253a5a1b3Sopenharmony_ci public uint32 n_sinks; 141353a5a1b3Sopenharmony_ci public uint32 n_sources; 141453a5a1b3Sopenharmony_ci public uint32 priority; 141553a5a1b3Sopenharmony_ci int available; 141653a5a1b3Sopenharmony_ci } 141753a5a1b3Sopenharmony_ci 141853a5a1b3Sopenharmony_ci [CCode (cname="pa_card_port_info", has_type_id=false)] 141953a5a1b3Sopenharmony_ci public struct CardPortInfo { 142053a5a1b3Sopenharmony_ci public unowned string name; 142153a5a1b3Sopenharmony_ci public unowned string description; 142253a5a1b3Sopenharmony_ci public uint32 priority; 142353a5a1b3Sopenharmony_ci PortAvailable available; 142453a5a1b3Sopenharmony_ci Direction direction; 142553a5a1b3Sopenharmony_ci public uint32 n_profiles; 142653a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_profiles")] 142753a5a1b3Sopenharmony_ci public CardProfileInfo*[] profiles; 142853a5a1b3Sopenharmony_ci public Proplist proplist; 142953a5a1b3Sopenharmony_ci public int64 latency_offset; 143053a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_profiles")] 143153a5a1b3Sopenharmony_ci public CardProfileInfo2*[] profiles2; 143253a5a1b3Sopenharmony_ci } 143353a5a1b3Sopenharmony_ci 143453a5a1b3Sopenharmony_ci [CCode (cname="pa_card_info", has_type_id=false)] 143553a5a1b3Sopenharmony_ci public struct CardInfo { 143653a5a1b3Sopenharmony_ci public uint32 index; 143753a5a1b3Sopenharmony_ci public unowned string name; 143853a5a1b3Sopenharmony_ci public uint32 owner_module; 143953a5a1b3Sopenharmony_ci public unowned string driver; 144053a5a1b3Sopenharmony_ci public uint32 n_profiles; 144153a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_profiles")] 144253a5a1b3Sopenharmony_ci public CardProfileInfo[] profiles; 144353a5a1b3Sopenharmony_ci public CardProfileInfo *active_profile; 144453a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_profiles")] 144553a5a1b3Sopenharmony_ci public CardProfileInfo2*[] profiles2; 144653a5a1b3Sopenharmony_ci public CardProfileInfo2 *active_profile2; 144753a5a1b3Sopenharmony_ci public Proplist proplist; 144853a5a1b3Sopenharmony_ci public uint32 n_ports; 144953a5a1b3Sopenharmony_ci [CCode (array_length_cname="n_ports")] 145053a5a1b3Sopenharmony_ci public CardPortInfo*[] ports; 145153a5a1b3Sopenharmony_ci } 145253a5a1b3Sopenharmony_ci 145353a5a1b3Sopenharmony_ci [CCode (cname="pa_sink_input_info", has_type_id=false)] 145453a5a1b3Sopenharmony_ci public struct SinkInputInfo { 145553a5a1b3Sopenharmony_ci public uint32 index; 145653a5a1b3Sopenharmony_ci public unowned string name; 145753a5a1b3Sopenharmony_ci public uint32 owner_module; 145853a5a1b3Sopenharmony_ci public uint32 client; 145953a5a1b3Sopenharmony_ci public uint32 sink; 146053a5a1b3Sopenharmony_ci public SampleSpec sample_spec; 146153a5a1b3Sopenharmony_ci public ChannelMap channel_map; 146253a5a1b3Sopenharmony_ci public CVolume volume; 146353a5a1b3Sopenharmony_ci public uint32 buffer_usec; 146453a5a1b3Sopenharmony_ci public uint32 sink_usec; 146553a5a1b3Sopenharmony_ci public unowned string resample_method; 146653a5a1b3Sopenharmony_ci public unowned string driver; 146753a5a1b3Sopenharmony_ci public int mute; 146853a5a1b3Sopenharmony_ci public Proplist proplist; 146953a5a1b3Sopenharmony_ci public int corked; 147053a5a1b3Sopenharmony_ci public int has_volume; 147153a5a1b3Sopenharmony_ci public int volume_writable; 147253a5a1b3Sopenharmony_ci } 147353a5a1b3Sopenharmony_ci 147453a5a1b3Sopenharmony_ci [CCode (cname="pa_source_output_info", has_type_id=false)] 147553a5a1b3Sopenharmony_ci public struct SourceOutputInfo { 147653a5a1b3Sopenharmony_ci public uint32 index; 147753a5a1b3Sopenharmony_ci public unowned string name; 147853a5a1b3Sopenharmony_ci public uint32 owner_module; 147953a5a1b3Sopenharmony_ci public uint32 client; 148053a5a1b3Sopenharmony_ci public uint32 source; 148153a5a1b3Sopenharmony_ci public SampleSpec sample_spec; 148253a5a1b3Sopenharmony_ci public ChannelMap channel_map; 148353a5a1b3Sopenharmony_ci public uint32 buffer_usec; 148453a5a1b3Sopenharmony_ci public uint32 source_usec; 148553a5a1b3Sopenharmony_ci public unowned string resample_method; 148653a5a1b3Sopenharmony_ci public unowned string driver; 148753a5a1b3Sopenharmony_ci public Proplist proplist; 148853a5a1b3Sopenharmony_ci public int corked; 148953a5a1b3Sopenharmony_ci public CVolume volume; 149053a5a1b3Sopenharmony_ci public int mute; 149153a5a1b3Sopenharmony_ci public int has_volume; 149253a5a1b3Sopenharmony_ci public int volume_writable; 149353a5a1b3Sopenharmony_ci } 149453a5a1b3Sopenharmony_ci 149553a5a1b3Sopenharmony_ci [CCode (cname="pa_stat_info", has_type_id=false)] 149653a5a1b3Sopenharmony_ci public struct StatInfo { 149753a5a1b3Sopenharmony_ci public uint32 memblock_total; 149853a5a1b3Sopenharmony_ci public uint32 memblock_total_size; 149953a5a1b3Sopenharmony_ci public uint32 memblock_allocated; 150053a5a1b3Sopenharmony_ci public uint32 memblock_allocated_size; 150153a5a1b3Sopenharmony_ci public uint32 scache_size; 150253a5a1b3Sopenharmony_ci } 150353a5a1b3Sopenharmony_ci 150453a5a1b3Sopenharmony_ci [CCode (cname="pa_sample_info", has_type_id=false)] 150553a5a1b3Sopenharmony_ci public struct SampleInfo { 150653a5a1b3Sopenharmony_ci public uint32 index; 150753a5a1b3Sopenharmony_ci public unowned string name; 150853a5a1b3Sopenharmony_ci public CVolume volume; 150953a5a1b3Sopenharmony_ci public SampleSpec sample_spec; 151053a5a1b3Sopenharmony_ci public ChannelMap channel_map; 151153a5a1b3Sopenharmony_ci public usec duration; 151253a5a1b3Sopenharmony_ci public uint32 bytes; 151353a5a1b3Sopenharmony_ci public bool lazy; 151453a5a1b3Sopenharmony_ci public unowned string filename; 151553a5a1b3Sopenharmony_ci public Proplist proplist; 151653a5a1b3Sopenharmony_ci } 151753a5a1b3Sopenharmony_ci 151853a5a1b3Sopenharmony_ci [CCode (cname="pa_sink_flags_t", cprefix="PA_SINK_", has_type_id=false)] 151953a5a1b3Sopenharmony_ci public enum SinkFlags { 152053a5a1b3Sopenharmony_ci HW_VOLUME_CTRL, 152153a5a1b3Sopenharmony_ci LATENCY, 152253a5a1b3Sopenharmony_ci HARDWARE, 152353a5a1b3Sopenharmony_ci NETWORK, 152453a5a1b3Sopenharmony_ci HW_MUTE_CTRL, 152553a5a1b3Sopenharmony_ci DECIBEL_VOLUME, 152653a5a1b3Sopenharmony_ci FLAT_VOLUME, 152753a5a1b3Sopenharmony_ci DYNAMIC_LATENCY 152853a5a1b3Sopenharmony_ci } 152953a5a1b3Sopenharmony_ci 153053a5a1b3Sopenharmony_ci [CCode (cname="pa_source_flags_t", cprefix="PA_SOURCE_", has_type_id=false)] 153153a5a1b3Sopenharmony_ci public enum SourceFlags { 153253a5a1b3Sopenharmony_ci HW_VOLUME_CTRL, 153353a5a1b3Sopenharmony_ci LATENCY, 153453a5a1b3Sopenharmony_ci HARDWARE, 153553a5a1b3Sopenharmony_ci NETWORK, 153653a5a1b3Sopenharmony_ci HW_MUTE_CTRL, 153753a5a1b3Sopenharmony_ci DECIBEL_VOLUME, 153853a5a1b3Sopenharmony_ci DYNAMIC_LATENCY 153953a5a1b3Sopenharmony_ci } 154053a5a1b3Sopenharmony_ci 154153a5a1b3Sopenharmony_ci [CCode (cname="pa_sink_state_t", cprefix="PA_SINK_", has_type_id=false)] 154253a5a1b3Sopenharmony_ci public enum SinkState { 154353a5a1b3Sopenharmony_ci INVALID_STATE, 154453a5a1b3Sopenharmony_ci RUNNING, 154553a5a1b3Sopenharmony_ci IDLE, 154653a5a1b3Sopenharmony_ci SUSPENDED; 154753a5a1b3Sopenharmony_ci 154853a5a1b3Sopenharmony_ci [CCode (cname="PA_SINK_IS_OPENED")] 154953a5a1b3Sopenharmony_ci public bool IS_OPENED(); 155053a5a1b3Sopenharmony_ci } 155153a5a1b3Sopenharmony_ci 155253a5a1b3Sopenharmony_ci [CCode (cname="pa_source_state_t", cprefix="PA_SOURCE_", has_type_id=false)] 155353a5a1b3Sopenharmony_ci public enum SourceState { 155453a5a1b3Sopenharmony_ci INVALID_STATE, 155553a5a1b3Sopenharmony_ci RUNNING, 155653a5a1b3Sopenharmony_ci IDLE, 155753a5a1b3Sopenharmony_ci SUSPENDED; 155853a5a1b3Sopenharmony_ci 155953a5a1b3Sopenharmony_ci [CCode (cname="PA_SOURCE_IS_OPENED")] 156053a5a1b3Sopenharmony_ci public bool IS_OPENED(); 156153a5a1b3Sopenharmony_ci } 156253a5a1b3Sopenharmony_ci 156353a5a1b3Sopenharmony_ci [CCode (cname="pa_gettimeofday")] 156453a5a1b3Sopenharmony_ci public unowned timeval? gettimeofday(out timeval tv); 156553a5a1b3Sopenharmony_ci 156653a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_diff")] 156753a5a1b3Sopenharmony_ci public usec timeval_diff(ref timeval a, ref timeval b); 156853a5a1b3Sopenharmony_ci 156953a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_cmp")] 157053a5a1b3Sopenharmony_ci public int timeval_cmp(ref timeval a, ref timeval b); 157153a5a1b3Sopenharmony_ci 157253a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_age")] 157353a5a1b3Sopenharmony_ci public usec timeval_age(ref timeval a); 157453a5a1b3Sopenharmony_ci 157553a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_add")] 157653a5a1b3Sopenharmony_ci public unowned timeval? timeval_add(ref timeval tv, usec x); 157753a5a1b3Sopenharmony_ci 157853a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_sub")] 157953a5a1b3Sopenharmony_ci public unowned timeval? timeval_sub(ref timeval tv, usec x); 158053a5a1b3Sopenharmony_ci 158153a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_store")] 158253a5a1b3Sopenharmony_ci public unowned timeval? timeval_store(out timeval tv, usec c); 158353a5a1b3Sopenharmony_ci 158453a5a1b3Sopenharmony_ci [CCode (cname="pa_timeval_load")] 158553a5a1b3Sopenharmony_ci public usec timeval_load(timeval tv); 158653a5a1b3Sopenharmony_ci 158753a5a1b3Sopenharmony_ci [CCode (cname="PA_USEC_MAX")] 158853a5a1b3Sopenharmony_ci public const usec USEC_MAX; 158953a5a1b3Sopenharmony_ci 159053a5a1b3Sopenharmony_ci [CCode (cname="PA_USEC_INVALID")] 159153a5a1b3Sopenharmony_ci public const usec USEC_INVALID; 159253a5a1b3Sopenharmony_ci 159353a5a1b3Sopenharmony_ci [CCode (cname="PA_MSEC_PER_SEC")] 159453a5a1b3Sopenharmony_ci public const usec MSEC_PER_SEC; 159553a5a1b3Sopenharmony_ci 159653a5a1b3Sopenharmony_ci [CCode (cname="PA_USEC_PER_SEC")] 159753a5a1b3Sopenharmony_ci public const usec USEC_PER_SEC; 159853a5a1b3Sopenharmony_ci 159953a5a1b3Sopenharmony_ci [CCode (cname="PA_NSEC_PER_SEC")] 160053a5a1b3Sopenharmony_ci public const uint64 NSEC_PER_SEC; 160153a5a1b3Sopenharmony_ci 160253a5a1b3Sopenharmony_ci 160353a5a1b3Sopenharmony_ci [CCode (cname="PA_USEC_PER_MSEC")] 160453a5a1b3Sopenharmony_ci public const usec USEC_PER_MSEC; 160553a5a1b3Sopenharmony_ci 160653a5a1b3Sopenharmony_ci [CCode (cname="PA_NSEC_PER_MSEC")] 160753a5a1b3Sopenharmony_ci public const uint64 NSEC_PER_MSEC; 160853a5a1b3Sopenharmony_ci 160953a5a1b3Sopenharmony_ci 161053a5a1b3Sopenharmony_ci [CCode (cname="PA_NSEC_PER_USEC")] 161153a5a1b3Sopenharmony_ci public const uint64 NSEC_PER_USEC; 161253a5a1b3Sopenharmony_ci} 1613