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
00192 PA_C_DECL_BEGIN
00193
00199 typedef struct pa_sink_port_info {
00200 const char *name;
00201 const char *description;
00202 uint32_t priority;
00203 } pa_sink_port_info;
00204
00208 typedef struct pa_sink_info {
00209 const char *name;
00210 uint32_t index;
00211 const char *description;
00212 pa_sample_spec sample_spec;
00213 pa_channel_map channel_map;
00214 uint32_t owner_module;
00215 pa_cvolume volume;
00216 int mute;
00217 uint32_t monitor_source;
00218 const char *monitor_source_name;
00219 pa_usec_t latency;
00220 const char *driver;
00221 pa_sink_flags_t flags;
00222 pa_proplist *proplist;
00223 pa_usec_t configured_latency;
00224 pa_volume_t base_volume;
00225 pa_sink_state_t state;
00226 uint32_t n_volume_steps;
00227 uint32_t card;
00228 uint32_t n_ports;
00229 pa_sink_port_info** ports;
00230 pa_sink_port_info* active_port;
00231 } pa_sink_info;
00232
00234 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00235
00237 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00238
00240 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00241
00243 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00244
00246 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);
00247
00249 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);
00250
00252 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);
00253
00255 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);
00256
00258 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);
00259
00261 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00262
00264 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);
00265
00267 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);
00268
00276 typedef struct pa_source_port_info {
00277 const char *name;
00278 const char *description;
00279 uint32_t priority;
00280 } pa_source_port_info;
00281
00285 typedef struct pa_source_info {
00286 const char *name;
00287 uint32_t index;
00288 const char *description;
00289 pa_sample_spec sample_spec;
00290 pa_channel_map channel_map;
00291 uint32_t owner_module;
00292 pa_cvolume volume;
00293 int mute;
00294 uint32_t monitor_of_sink;
00295 const char *monitor_of_sink_name;
00296 pa_usec_t latency;
00297 const char *driver;
00298 pa_source_flags_t flags;
00299 pa_proplist *proplist;
00300 pa_usec_t configured_latency;
00301 pa_volume_t base_volume;
00302 pa_source_state_t state;
00303 uint32_t n_volume_steps;
00304 uint32_t card;
00305 uint32_t n_ports;
00306 pa_source_port_info** ports;
00307 pa_source_port_info* active_port;
00308 } pa_source_info;
00309
00311 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00312
00314 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00315
00317 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00318
00320 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00321
00323 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);
00324
00326 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);
00327
00329 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);
00330
00332 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);
00333
00335 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);
00336
00338 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00339
00341 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);
00342
00344 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);
00345
00353 typedef struct pa_server_info {
00354 const char *user_name;
00355 const char *host_name;
00356 const char *server_version;
00357 const char *server_name;
00358 pa_sample_spec sample_spec;
00359 const char *default_sink_name;
00360 const char *default_source_name;
00361 uint32_t cookie;
00362 pa_channel_map channel_map;
00363 } pa_server_info;
00364
00366 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00367
00369 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00370
00378 typedef struct pa_module_info {
00379 uint32_t index;
00380 const char*name,
00381 *argument;
00382 uint32_t n_used;
00384 int auto_unload;
00386 pa_proplist *proplist;
00387 } pa_module_info;
00388
00390 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00391
00393 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00394
00396 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00397
00399 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00400
00402 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00403
00405 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00406
00414 typedef struct pa_client_info {
00415 uint32_t index;
00416 const char *name;
00417 uint32_t owner_module;
00418 const char *driver;
00419 pa_proplist *proplist;
00420 } pa_client_info;
00421
00423 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00424
00426 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00427
00429 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00430
00432 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00433
00441 typedef struct pa_card_profile_info {
00442 const char *name;
00443 const char *description;
00444 uint32_t n_sinks;
00445 uint32_t n_sources;
00446 uint32_t priority;
00447 } pa_card_profile_info;
00448
00452 typedef struct pa_card_info {
00453 uint32_t index;
00454 const char *name;
00455 uint32_t owner_module;
00456 const char *driver;
00457 uint32_t n_profiles;
00458 pa_card_profile_info* profiles;
00459 pa_card_profile_info* active_profile;
00460 pa_proplist *proplist;
00461 } pa_card_info;
00462
00464 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00465
00467 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00468
00470 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00471
00473 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00474
00476 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);
00477
00479 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);
00480
00488 typedef struct pa_sink_input_info {
00489 uint32_t index;
00490 const char *name;
00491 uint32_t owner_module;
00492 uint32_t client;
00493 uint32_t sink;
00494 pa_sample_spec sample_spec;
00495 pa_channel_map channel_map;
00496 pa_cvolume volume;
00497 pa_usec_t buffer_usec;
00498 pa_usec_t sink_usec;
00499 const char *resample_method;
00500 const char *driver;
00501 int mute;
00502 pa_proplist *proplist;
00503 } pa_sink_input_info;
00504
00506 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00507
00509 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00510
00512 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00513
00515 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);
00516
00518 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);
00519
00521 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);
00522
00524 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00525
00527 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00528
00536 typedef struct pa_source_output_info {
00537 uint32_t index;
00538 const char *name;
00539 uint32_t owner_module;
00540 uint32_t client;
00541 uint32_t source;
00542 pa_sample_spec sample_spec;
00543 pa_channel_map channel_map;
00544 pa_usec_t buffer_usec;
00545 pa_usec_t source_usec;
00546 const char *resample_method;
00547 const char *driver;
00548 pa_proplist *proplist;
00549 } pa_source_output_info;
00550
00552 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00553
00555 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00556
00558 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00559
00561 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);
00562
00564 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);
00565
00567 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00568
00576 typedef struct pa_stat_info {
00577 uint32_t memblock_total;
00578 uint32_t memblock_total_size;
00579 uint32_t memblock_allocated;
00580 uint32_t memblock_allocated_size;
00581 uint32_t scache_size;
00582 } pa_stat_info;
00583
00585 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00586
00588 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00589
00597 typedef struct pa_sample_info {
00598 uint32_t index;
00599 const char *name;
00600 pa_cvolume volume;
00601 pa_sample_spec sample_spec;
00602 pa_channel_map channel_map;
00603 pa_usec_t duration;
00604 uint32_t bytes;
00605 int lazy;
00606 const char *filename;
00607 pa_proplist *proplist;
00608 } pa_sample_info;
00609
00611 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00612
00614 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00615
00617 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00618
00620 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00621
00629 typedef enum pa_autoload_type {
00630 PA_AUTOLOAD_SINK = 0,
00631 PA_AUTOLOAD_SOURCE = 1
00632 } pa_autoload_type_t;
00633
00637 typedef struct pa_autoload_info {
00638 uint32_t index;
00639 const char *name;
00640 pa_autoload_type_t type;
00641 const char *module;
00642 const char *argument;
00643 } pa_autoload_info;
00644
00646 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00647
00649 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;
00650
00652 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;
00653
00655 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00656
00658 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;
00659
00661 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;
00662
00664 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;
00665
00670 PA_C_DECL_END
00671
00672 #endif