PulseAudio  4.0-186-ga89ca
introspect.h
Go to the documentation of this file.
1 #ifndef foointrospecthfoo
2 #define foointrospecthfoo
3 
4 /***
5  This file is part of PulseAudio.
6 
7  Copyright 2004-2006 Lennart Poettering
8  Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 
10  PulseAudio is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published
12  by the Free Software Foundation; either version 2.1 of the License,
13  or (at your option) any later version.
14 
15  PulseAudio is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with PulseAudio; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23  USA.
24 ***/
25 
26 #include <inttypes.h>
27 
28 #include <pulse/operation.h>
29 #include <pulse/context.h>
30 #include <pulse/cdecl.h>
31 #include <pulse/gccmacro.h>
32 #include <pulse/channelmap.h>
33 #include <pulse/volume.h>
34 #include <pulse/proplist.h>
35 #include <pulse/format.h>
36 #include <pulse/version.h>
37 
194 PA_C_DECL_BEGIN
195 
201 typedef struct pa_sink_port_info {
202  const char *name;
203  const char *description;
204  uint32_t priority;
205  int available;
207 
211 typedef struct pa_sink_info {
212  const char *name;
213  uint32_t index;
214  const char *description;
217  uint32_t owner_module;
219  int mute;
220  uint32_t monitor_source;
221  const char *monitor_source_name;
223  const char *driver;
229  uint32_t n_volume_steps;
230  uint32_t card;
231  uint32_t n_ports;
234  uint8_t n_formats;
236 } pa_sink_info;
237 
239 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
240 
242 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
243 
245 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
246 
249 
251 pa_operation* pa_context_set_sink_volume_by_index(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
252 
254 pa_operation* pa_context_set_sink_volume_by_name(pa_context *c, const char *name, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
255 
257 pa_operation* pa_context_set_sink_mute_by_index(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
258 
260 pa_operation* pa_context_set_sink_mute_by_name(pa_context *c, const char *name, int mute, pa_context_success_cb_t cb, void *userdata);
261 
263 pa_operation* pa_context_suspend_sink_by_name(pa_context *c, const char *sink_name, int suspend, pa_context_success_cb_t cb, void* userdata);
264 
266 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
267 
269 pa_operation* pa_context_set_sink_port_by_index(pa_context *c, uint32_t idx, const char*port, pa_context_success_cb_t cb, void *userdata);
270 
272 pa_operation* pa_context_set_sink_port_by_name(pa_context *c, const char*name, const char*port, pa_context_success_cb_t cb, void *userdata);
273 
281 typedef struct pa_source_port_info {
282  const char *name;
283  const char *description;
284  uint32_t priority;
285  int available;
287 
291 typedef struct pa_source_info {
292  const char *name;
293  uint32_t index;
294  const char *description;
297  uint32_t owner_module;
299  int mute;
300  uint32_t monitor_of_sink;
301  const char *monitor_of_sink_name;
303  const char *driver;
309  uint32_t n_volume_steps;
310  uint32_t card;
311  uint32_t n_ports;
314  uint8_t n_formats;
317 
319 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
320 
322 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
323 
326 
329 
331 pa_operation* pa_context_set_source_volume_by_index(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
332 
334 pa_operation* pa_context_set_source_volume_by_name(pa_context *c, const char *name, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
335 
337 pa_operation* pa_context_set_source_mute_by_index(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
338 
340 pa_operation* pa_context_set_source_mute_by_name(pa_context *c, const char *name, int mute, pa_context_success_cb_t cb, void *userdata);
341 
343 pa_operation* pa_context_suspend_source_by_name(pa_context *c, const char *source_name, int suspend, pa_context_success_cb_t cb, void* userdata);
344 
346 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
347 
349 pa_operation* pa_context_set_source_port_by_index(pa_context *c, uint32_t idx, const char*port, pa_context_success_cb_t cb, void *userdata);
350 
352 pa_operation* pa_context_set_source_port_by_name(pa_context *c, const char*name, const char*port, pa_context_success_cb_t cb, void *userdata);
353 
361 typedef struct pa_server_info {
362  const char *user_name;
363  const char *host_name;
364  const char *server_version;
365  const char *server_name;
367  const char *default_sink_name;
368  const char *default_source_name;
369  uint32_t cookie;
372 
374 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
375 
378 
386 typedef struct pa_module_info {
387  uint32_t index;
388  const char*name,
389  *argument;
390  uint32_t n_used;
392  int auto_unload;
396 
398 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
399 
401 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
402 
405 
407 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
408 
410 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
411 
413 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
414 
422 typedef struct pa_client_info {
423  uint32_t index;
424  const char *name;
425  uint32_t owner_module;
426  const char *driver;
429 
431 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
432 
434 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
435 
438 
440 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
441 
449 typedef struct pa_card_profile_info {
450  const char *name;
451  const char *description;
452  uint32_t n_sinks;
453  uint32_t n_sources;
454  uint32_t priority;
462 
466 typedef struct pa_card_port_info {
467  const char *name;
468  const char *description;
469  uint32_t priority;
470  int available;
471  int direction;
472  uint32_t n_profiles;
475  int64_t latency_offset;
477 
481 typedef struct pa_card_info {
482  uint32_t index;
483  const char *name;
484  uint32_t owner_module;
485  const char *driver;
486  uint32_t n_profiles;
490  uint32_t n_ports;
492 } pa_card_info;
493 
495 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
496 
498 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
499 
501 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
502 
505 
507 pa_operation* pa_context_set_card_profile_by_index(pa_context *c, uint32_t idx, const char*profile, pa_context_success_cb_t cb, void *userdata);
508 
510 pa_operation* pa_context_set_card_profile_by_name(pa_context *c, const char*name, const char*profile, pa_context_success_cb_t cb, void *userdata);
511 
513 pa_operation* pa_context_set_port_latency_offset(pa_context *c, const char *card_name, const char *port_name, int64_t offset, pa_context_success_cb_t cb, void *userdata);
514 
522 typedef struct pa_sink_input_info {
523  uint32_t index;
524  const char *name;
525  uint32_t owner_module;
526  uint32_t client;
527  uint32_t sink;
533  const char *resample_method;
534  const char *driver;
535  int mute;
537  int corked;
542 
544 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
545 
548 
551 
553 pa_operation* pa_context_move_sink_input_by_name(pa_context *c, uint32_t idx, const char *sink_name, pa_context_success_cb_t cb, void* userdata);
554 
556 pa_operation* pa_context_move_sink_input_by_index(pa_context *c, uint32_t idx, uint32_t sink_idx, pa_context_success_cb_t cb, void* userdata);
557 
559 pa_operation* pa_context_set_sink_input_volume(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
560 
562 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
563 
565 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
566 
574 typedef struct pa_source_output_info {
575  uint32_t index;
576  const char *name;
577  uint32_t owner_module;
578  uint32_t client;
579  uint32_t source;
584  const char *resample_method;
585  const char *driver;
587  int corked;
589  int mute;
594 
596 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
597 
600 
603 
605 pa_operation* pa_context_move_source_output_by_name(pa_context *c, uint32_t idx, const char *source_name, pa_context_success_cb_t cb, void* userdata);
606 
608 pa_operation* pa_context_move_source_output_by_index(pa_context *c, uint32_t idx, uint32_t source_idx, pa_context_success_cb_t cb, void* userdata);
609 
611 pa_operation* pa_context_set_source_output_volume(pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
612 
614 pa_operation* pa_context_set_source_output_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
615 
618 
626 typedef struct pa_stat_info {
627  uint32_t memblock_total;
631  uint32_t scache_size;
632 } pa_stat_info;
633 
635 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
636 
639 
647 typedef struct pa_sample_info {
648  uint32_t index;
649  const char *name;
654  uint32_t bytes;
655  int lazy;
656  const char *filename;
659 
661 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
662 
664 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
665 
668 
671 
679 typedef enum pa_autoload_type {
680  PA_AUTOLOAD_SINK = 0,
681  PA_AUTOLOAD_SOURCE = 1
682 } pa_autoload_type_t;
683 
687 typedef struct pa_autoload_info {
688  uint32_t index;
689  const char *name;
690  pa_autoload_type_t type;
691  const char *module;
692  const char *argument;
693 } pa_autoload_info;
694 
696 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
697 
699 pa_operation* pa_context_get_autoload_info_by_name(pa_context *c, const char *name, pa_autoload_type_t type, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
700 
702 pa_operation* pa_context_get_autoload_info_by_index(pa_context *c, uint32_t idx, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
703 
705 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
706 
708 pa_operation* pa_context_add_autoload(pa_context *c, const char *name, pa_autoload_type_t type, const char *module, const char*argument, pa_context_index_cb_t, void* userdata) PA_GCC_DEPRECATED;
709 
711 pa_operation* pa_context_remove_autoload_by_name(pa_context *c, const char *name, pa_autoload_type_t type, pa_context_success_cb_t cb, void* userdata) PA_GCC_DEPRECATED;
712 
714 pa_operation* pa_context_remove_autoload_by_index(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void* userdata) PA_GCC_DEPRECATED;
715 
720 PA_C_DECL_END
721 
722 #endif