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_info {
00200 const char *name;
00201 uint32_t index;
00202 const char *description;
00203 pa_sample_spec sample_spec;
00204 pa_channel_map channel_map;
00205 uint32_t owner_module;
00206 pa_cvolume volume;
00207 int mute;
00208 uint32_t monitor_source;
00209 const char *monitor_source_name;
00210 pa_usec_t latency;
00211 const char *driver;
00212 pa_sink_flags_t flags;
00213 pa_proplist *proplist;
00214 pa_usec_t configured_latency;
00215 pa_volume_t base_volume;
00216 pa_sink_state_t state;
00217 uint32_t n_volume_steps;
00218 uint32_t card;
00219 } pa_sink_info;
00220
00222 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00223
00225 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00226
00228 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00229
00231 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00232
00234 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);
00235
00237 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);
00238
00240 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);
00241
00243 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);
00244
00246 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);
00247
00249 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00250
00258 typedef struct pa_source_info {
00259 const char *name;
00260 uint32_t index;
00261 const char *description;
00262 pa_sample_spec sample_spec;
00263 pa_channel_map channel_map;
00264 uint32_t owner_module;
00265 pa_cvolume volume;
00266 int mute;
00267 uint32_t monitor_of_sink;
00268 const char *monitor_of_sink_name;
00269 pa_usec_t latency;
00270 const char *driver;
00271 pa_source_flags_t flags;
00272 pa_proplist *proplist;
00273 pa_usec_t configured_latency;
00274 pa_volume_t base_volume;
00275 pa_source_state_t state;
00276 uint32_t n_volume_steps;
00277 uint32_t card;
00278 } pa_source_info;
00279
00281 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00282
00284 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00285
00287 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00288
00290 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00291
00293 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);
00294
00296 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);
00297
00299 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);
00300
00302 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);
00303
00311 typedef struct pa_server_info {
00312 const char *user_name;
00313 const char *host_name;
00314 const char *server_version;
00315 const char *server_name;
00316 pa_sample_spec sample_spec;
00317 const char *default_sink_name;
00318 const char *default_source_name;
00319 uint32_t cookie;
00320 pa_channel_map channel_map;
00321 } pa_server_info;
00322
00324 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00325
00327 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00328
00336 typedef struct pa_module_info {
00337 uint32_t index;
00338 const char*name,
00339 *argument;
00340 uint32_t n_used;
00342 int auto_unload;
00344 pa_proplist *proplist;
00345 } pa_module_info;
00346
00348 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00349
00351 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00352
00354 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00355
00357 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00358
00360 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00361
00363 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00364
00372 typedef struct pa_client_info {
00373 uint32_t index;
00374 const char *name;
00375 uint32_t owner_module;
00376 const char *driver;
00377 pa_proplist *proplist;
00378 } pa_client_info;
00379
00381 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00382
00384 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00385
00387 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00388
00390 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00391
00399 typedef struct pa_card_profile_info {
00400 const char *name;
00401 const char *description;
00402 uint32_t n_sinks;
00403 uint32_t n_sources;
00404 } pa_card_profile_info;
00405
00409 typedef struct pa_card_info {
00410 uint32_t index;
00411 const char *name;
00412 uint32_t owner_module;
00413 const char *driver;
00414 uint32_t n_profiles;
00415 pa_card_profile_info* profiles;
00416 pa_card_profile_info* active_profile;
00417 pa_proplist *proplist;
00418 } pa_card_info;
00419
00421 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00422
00424 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00425
00427 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00428
00430 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00431
00433 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);
00434
00436 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);
00437
00445 typedef struct pa_sink_input_info {
00446 uint32_t index;
00447 const char *name;
00448 uint32_t owner_module;
00449 uint32_t client;
00450 uint32_t sink;
00451 pa_sample_spec sample_spec;
00452 pa_channel_map channel_map;
00453 pa_cvolume volume;
00454 pa_usec_t buffer_usec;
00455 pa_usec_t sink_usec;
00456 const char *resample_method;
00457 const char *driver;
00458 int mute;
00459 pa_proplist *proplist;
00460 } pa_sink_input_info;
00461
00463 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00464
00466 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00467
00469 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00470
00472 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);
00473
00475 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);
00476
00478 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);
00479
00481 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00482
00484 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00485
00493 typedef struct pa_source_output_info {
00494 uint32_t index;
00495 const char *name;
00496 uint32_t owner_module;
00497 uint32_t client;
00498 uint32_t source;
00499 pa_sample_spec sample_spec;
00500 pa_channel_map channel_map;
00501 pa_usec_t buffer_usec;
00502 pa_usec_t source_usec;
00503 const char *resample_method;
00504 const char *driver;
00505 pa_proplist *proplist;
00506 } pa_source_output_info;
00507
00509 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00510
00512 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00513
00515 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00516
00518 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);
00519
00521 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);
00522
00524 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);
00525
00527 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00528
00530 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00531
00539 typedef struct pa_stat_info {
00540 uint32_t memblock_total;
00541 uint32_t memblock_total_size;
00542 uint32_t memblock_allocated;
00543 uint32_t memblock_allocated_size;
00544 uint32_t scache_size;
00545 } pa_stat_info;
00546
00548 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00549
00551 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00552
00560 typedef struct pa_sample_info {
00561 uint32_t index;
00562 const char *name;
00563 pa_cvolume volume;
00564 pa_sample_spec sample_spec;
00565 pa_channel_map channel_map;
00566 pa_usec_t duration;
00567 uint32_t bytes;
00568 int lazy;
00569 const char *filename;
00570 pa_proplist *proplist;
00571 } pa_sample_info;
00572
00574 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00575
00577 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00578
00580 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00581
00583 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00584
00592 typedef enum pa_autoload_type {
00593 PA_AUTOLOAD_SINK = 0,
00594 PA_AUTOLOAD_SOURCE = 1
00595 } pa_autoload_type_t;
00596
00600 typedef struct pa_autoload_info {
00601 uint32_t index;
00602 const char *name;
00603 pa_autoload_type_t type;
00604 const char *module;
00605 const char *argument;
00606 } pa_autoload_info;
00607
00609 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00610
00612 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;
00613
00615 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;
00616
00618 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00619
00621 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;
00622
00624 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;
00625
00627 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;
00628
00633 PA_C_DECL_END
00634
00635 #endif