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/version.h>
00036
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 } pa_sink_info;
00234
00236 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00237
00239 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00240
00242 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00243
00245 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00246
00248 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);
00249
00251 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);
00252
00254 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);
00255
00257 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);
00258
00260 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);
00261
00263 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00264
00266 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);
00267
00269 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);
00270
00278 typedef struct pa_source_port_info {
00279 const char *name;
00280 const char *description;
00281 uint32_t priority;
00282 } pa_source_port_info;
00283
00287 typedef struct pa_source_info {
00288 const char *name;
00289 uint32_t index;
00290 const char *description;
00291 pa_sample_spec sample_spec;
00292 pa_channel_map channel_map;
00293 uint32_t owner_module;
00294 pa_cvolume volume;
00295 int mute;
00296 uint32_t monitor_of_sink;
00297 const char *monitor_of_sink_name;
00298 pa_usec_t latency;
00299 const char *driver;
00300 pa_source_flags_t flags;
00301 pa_proplist *proplist;
00302 pa_usec_t configured_latency;
00303 pa_volume_t base_volume;
00304 pa_source_state_t state;
00305 uint32_t n_volume_steps;
00306 uint32_t card;
00307 uint32_t n_ports;
00308 pa_source_port_info** ports;
00309 pa_source_port_info* active_port;
00310 } pa_source_info;
00311
00313 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00314
00316 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00317
00319 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00320
00322 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00323
00325 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);
00326
00328 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);
00329
00331 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);
00332
00334 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);
00335
00337 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);
00338
00340 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00341
00343 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);
00344
00346 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);
00347
00355 typedef struct pa_server_info {
00356 const char *user_name;
00357 const char *host_name;
00358 const char *server_version;
00359 const char *server_name;
00360 pa_sample_spec sample_spec;
00361 const char *default_sink_name;
00362 const char *default_source_name;
00363 uint32_t cookie;
00364 pa_channel_map channel_map;
00365 } pa_server_info;
00366
00368 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00369
00371 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00372
00380 typedef struct pa_module_info {
00381 uint32_t index;
00382 const char*name,
00383 *argument;
00384 uint32_t n_used;
00386 int auto_unload;
00388 pa_proplist *proplist;
00389 } pa_module_info;
00390
00392 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00393
00395 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00396
00398 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00399
00401 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00402
00404 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00405
00407 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00408
00416 typedef struct pa_client_info {
00417 uint32_t index;
00418 const char *name;
00419 uint32_t owner_module;
00420 const char *driver;
00421 pa_proplist *proplist;
00422 } pa_client_info;
00423
00425 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00426
00428 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00429
00431 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00432
00434 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00435
00443 typedef struct pa_card_profile_info {
00444 const char *name;
00445 const char *description;
00446 uint32_t n_sinks;
00447 uint32_t n_sources;
00448 uint32_t priority;
00449 } pa_card_profile_info;
00450
00454 typedef struct pa_card_info {
00455 uint32_t index;
00456 const char *name;
00457 uint32_t owner_module;
00458 const char *driver;
00459 uint32_t n_profiles;
00460 pa_card_profile_info* profiles;
00461 pa_card_profile_info* active_profile;
00462 pa_proplist *proplist;
00463 } pa_card_info;
00464
00466 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00467
00469 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00470
00472 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00473
00475 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00476
00478 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);
00479
00481 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);
00482
00490 typedef struct pa_sink_input_info {
00491 uint32_t index;
00492 const char *name;
00493 uint32_t owner_module;
00494 uint32_t client;
00495 uint32_t sink;
00496 pa_sample_spec sample_spec;
00497 pa_channel_map channel_map;
00498 pa_cvolume volume;
00499 pa_usec_t buffer_usec;
00500 pa_usec_t sink_usec;
00501 const char *resample_method;
00502 const char *driver;
00503 int mute;
00504 pa_proplist *proplist;
00505 } pa_sink_input_info;
00506
00508 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00509
00511 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00512
00514 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00515
00517 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);
00518
00520 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);
00521
00523 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);
00524
00526 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00527
00529 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00530
00538 typedef struct pa_source_output_info {
00539 uint32_t index;
00540 const char *name;
00541 uint32_t owner_module;
00542 uint32_t client;
00543 uint32_t source;
00544 pa_sample_spec sample_spec;
00545 pa_channel_map channel_map;
00546 pa_usec_t buffer_usec;
00547 pa_usec_t source_usec;
00548 const char *resample_method;
00549 const char *driver;
00550 pa_proplist *proplist;
00551 } pa_source_output_info;
00552
00554 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00555
00557 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00558
00560 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00561
00563 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);
00564
00566 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);
00567
00569 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00570
00578 typedef struct pa_stat_info {
00579 uint32_t memblock_total;
00580 uint32_t memblock_total_size;
00581 uint32_t memblock_allocated;
00582 uint32_t memblock_allocated_size;
00583 uint32_t scache_size;
00584 } pa_stat_info;
00585
00587 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00588
00590 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00591
00599 typedef struct pa_sample_info {
00600 uint32_t index;
00601 const char *name;
00602 pa_cvolume volume;
00603 pa_sample_spec sample_spec;
00604 pa_channel_map channel_map;
00605 pa_usec_t duration;
00606 uint32_t bytes;
00607 int lazy;
00608 const char *filename;
00609 pa_proplist *proplist;
00610 } pa_sample_info;
00611
00613 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00614
00616 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00617
00619 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00620
00622 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00623
00631 typedef enum pa_autoload_type {
00632 PA_AUTOLOAD_SINK = 0,
00633 PA_AUTOLOAD_SOURCE = 1
00634 } pa_autoload_type_t;
00635
00639 typedef struct pa_autoload_info {
00640 uint32_t index;
00641 const char *name;
00642 pa_autoload_type_t type;
00643 const char *module;
00644 const char *argument;
00645 } pa_autoload_info;
00646
00648 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00649
00651 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;
00652
00654 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;
00655
00657 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00658
00660 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;
00661
00663 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;
00664
00666 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;
00667
00672 PA_C_DECL_END
00673
00674 #endif