00001 #ifndef foointrospecthfoo
00002 #define foointrospecthfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <inttypes.h>
00027
00028 #include <pulse/operation.h>
00029 #include <pulse/context.h>
00030 #include <pulse/cdecl.h>
00031 #include <pulse/gccmacro.h>
00032 #include <pulse/channelmap.h>
00033 #include <pulse/volume.h>
00034 #include <pulse/proplist.h>
00035 #include <pulse/format.h>
00036 #include <pulse/version.h>
00037
00194 PA_C_DECL_BEGIN
00195
00201 typedef struct pa_sink_port_info {
00202 const char *name;
00203 const char *description;
00204 uint32_t priority;
00205 } pa_sink_port_info;
00206
00210 typedef struct pa_sink_info {
00211 const char *name;
00212 uint32_t index;
00213 const char *description;
00214 pa_sample_spec sample_spec;
00215 pa_channel_map channel_map;
00216 uint32_t owner_module;
00217 pa_cvolume volume;
00218 int mute;
00219 uint32_t monitor_source;
00220 const char *monitor_source_name;
00221 pa_usec_t latency;
00222 const char *driver;
00223 pa_sink_flags_t flags;
00224 pa_proplist *proplist;
00225 pa_usec_t configured_latency;
00226 pa_volume_t base_volume;
00227 pa_sink_state_t state;
00228 uint32_t n_volume_steps;
00229 uint32_t card;
00230 uint32_t n_ports;
00231 pa_sink_port_info** ports;
00232 pa_sink_port_info* active_port;
00233 uint8_t n_formats;
00234 pa_format_info **formats;
00235 } pa_sink_info;
00236
00238 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00239
00241 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00242
00244 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00245
00247 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00248
00250 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);
00251
00253 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);
00254
00256 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);
00257
00259 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);
00260
00262 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);
00263
00265 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00266
00268 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);
00269
00271 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);
00272
00280 typedef struct pa_source_port_info {
00281 const char *name;
00282 const char *description;
00283 uint32_t priority;
00284 } pa_source_port_info;
00285
00289 typedef struct pa_source_info {
00290 const char *name;
00291 uint32_t index;
00292 const char *description;
00293 pa_sample_spec sample_spec;
00294 pa_channel_map channel_map;
00295 uint32_t owner_module;
00296 pa_cvolume volume;
00297 int mute;
00298 uint32_t monitor_of_sink;
00299 const char *monitor_of_sink_name;
00300 pa_usec_t latency;
00301 const char *driver;
00302 pa_source_flags_t flags;
00303 pa_proplist *proplist;
00304 pa_usec_t configured_latency;
00305 pa_volume_t base_volume;
00306 pa_source_state_t state;
00307 uint32_t n_volume_steps;
00308 uint32_t card;
00309 uint32_t n_ports;
00310 pa_source_port_info** ports;
00311 pa_source_port_info* active_port;
00312 uint8_t n_formats;
00313 pa_format_info **formats;
00314 } pa_source_info;
00315
00317 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00318
00320 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00321
00323 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00324
00326 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00327
00329 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);
00330
00332 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);
00333
00335 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);
00336
00338 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);
00339
00341 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);
00342
00344 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00345
00347 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);
00348
00350 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);
00351
00359 typedef struct pa_server_info {
00360 const char *user_name;
00361 const char *host_name;
00362 const char *server_version;
00363 const char *server_name;
00364 pa_sample_spec sample_spec;
00365 const char *default_sink_name;
00366 const char *default_source_name;
00367 uint32_t cookie;
00368 pa_channel_map channel_map;
00369 } pa_server_info;
00370
00372 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00373
00375 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00376
00384 typedef struct pa_module_info {
00385 uint32_t index;
00386 const char*name,
00387 *argument;
00388 uint32_t n_used;
00390 int auto_unload;
00392 pa_proplist *proplist;
00393 } pa_module_info;
00394
00396 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00397
00399 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00400
00402 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00403
00405 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00406
00408 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00409
00411 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00412
00420 typedef struct pa_client_info {
00421 uint32_t index;
00422 const char *name;
00423 uint32_t owner_module;
00424 const char *driver;
00425 pa_proplist *proplist;
00426 } pa_client_info;
00427
00429 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00430
00432 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00433
00435 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00436
00438 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00439
00447 typedef struct pa_card_profile_info {
00448 const char *name;
00449 const char *description;
00450 uint32_t n_sinks;
00451 uint32_t n_sources;
00452 uint32_t priority;
00453 } pa_card_profile_info;
00454
00458 typedef struct pa_card_info {
00459 uint32_t index;
00460 const char *name;
00461 uint32_t owner_module;
00462 const char *driver;
00463 uint32_t n_profiles;
00464 pa_card_profile_info* profiles;
00465 pa_card_profile_info* active_profile;
00466 pa_proplist *proplist;
00467 } pa_card_info;
00468
00470 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00471
00473 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00474
00476 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00477
00479 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00480
00482 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);
00483
00485 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);
00486
00494 typedef struct pa_sink_input_info {
00495 uint32_t index;
00496 const char *name;
00497 uint32_t owner_module;
00498 uint32_t client;
00499 uint32_t sink;
00500 pa_sample_spec sample_spec;
00501 pa_channel_map channel_map;
00502 pa_cvolume volume;
00503 pa_usec_t buffer_usec;
00504 pa_usec_t sink_usec;
00505 const char *resample_method;
00506 const char *driver;
00507 int mute;
00508 pa_proplist *proplist;
00509 int corked;
00510 int has_volume;
00511 int volume_writable;
00512 pa_format_info *format;
00513 } pa_sink_input_info;
00514
00516 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00517
00519 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00520
00522 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00523
00525 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);
00526
00528 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);
00529
00531 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);
00532
00534 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00535
00537 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00538
00546 typedef struct pa_source_output_info {
00547 uint32_t index;
00548 const char *name;
00549 uint32_t owner_module;
00550 uint32_t client;
00551 uint32_t source;
00552 pa_sample_spec sample_spec;
00553 pa_channel_map channel_map;
00554 pa_usec_t buffer_usec;
00555 pa_usec_t source_usec;
00556 const char *resample_method;
00557 const char *driver;
00558 pa_proplist *proplist;
00559 int corked;
00560 pa_cvolume volume;
00561 int mute;
00562 int has_volume;
00563 int volume_writable;
00564 pa_format_info *format;
00565 } pa_source_output_info;
00566
00568 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00569
00571 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00572
00574 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00575
00577 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);
00578
00580 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);
00581
00583 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);
00584
00586 pa_operation* pa_context_set_source_output_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00587
00589 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00590
00598 typedef struct pa_stat_info {
00599 uint32_t memblock_total;
00600 uint32_t memblock_total_size;
00601 uint32_t memblock_allocated;
00602 uint32_t memblock_allocated_size;
00603 uint32_t scache_size;
00604 } pa_stat_info;
00605
00607 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00608
00610 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00611
00619 typedef struct pa_sample_info {
00620 uint32_t index;
00621 const char *name;
00622 pa_cvolume volume;
00623 pa_sample_spec sample_spec;
00624 pa_channel_map channel_map;
00625 pa_usec_t duration;
00626 uint32_t bytes;
00627 int lazy;
00628 const char *filename;
00629 pa_proplist *proplist;
00630 } pa_sample_info;
00631
00633 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00634
00636 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00637
00639 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00640
00642 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00643
00651 typedef enum pa_autoload_type {
00652 PA_AUTOLOAD_SINK = 0,
00653 PA_AUTOLOAD_SOURCE = 1
00654 } pa_autoload_type_t;
00655
00659 typedef struct pa_autoload_info {
00660 uint32_t index;
00661 const char *name;
00662 pa_autoload_type_t type;
00663 const char *module;
00664 const char *argument;
00665 } pa_autoload_info;
00666
00668 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00669
00671 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;
00672
00674 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;
00675
00677 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00678
00680 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;
00681
00683 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;
00684
00686 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;
00687
00692 PA_C_DECL_END
00693
00694 #endif