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 } pa_sink_info;
00219
00221 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00222
00224 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00225
00227 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00228
00230 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00231
00233 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);
00234
00236 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);
00237
00239 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);
00240
00242 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);
00243
00245 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);
00246
00248 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00249
00257 typedef struct pa_source_info {
00258 const char *name;
00259 uint32_t index;
00260 const char *description;
00261 pa_sample_spec sample_spec;
00262 pa_channel_map channel_map;
00263 uint32_t owner_module;
00264 pa_cvolume volume;
00265 int mute;
00266 uint32_t monitor_of_sink;
00267 const char *monitor_of_sink_name;
00268 pa_usec_t latency;
00269 const char *driver;
00270 pa_source_flags_t flags;
00271 pa_proplist *proplist;
00272 pa_usec_t configured_latency;
00273 pa_volume_t base_volume;
00274 pa_source_state_t state;
00275 uint32_t n_volume_steps;
00276 } pa_source_info;
00277
00279 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00280
00282 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00283
00285 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00286
00288 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00289
00291 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);
00292
00294 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);
00295
00297 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);
00298
00300 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);
00301
00309 typedef struct pa_server_info {
00310 const char *user_name;
00311 const char *host_name;
00312 const char *server_version;
00313 const char *server_name;
00314 pa_sample_spec sample_spec;
00315 const char *default_sink_name;
00316 const char *default_source_name;
00317 uint32_t cookie;
00318 } pa_server_info;
00319
00321 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00322
00324 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00325
00333 typedef struct pa_module_info {
00334 uint32_t index;
00335 const char*name,
00336 *argument;
00337 uint32_t n_used;
00339 int auto_unload;
00341 pa_proplist *proplist;
00342 } pa_module_info;
00343
00345 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00346
00348 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00349
00351 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00352
00354 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00355
00357 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00358
00360 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00361
00369 typedef struct pa_client_info {
00370 uint32_t index;
00371 const char *name;
00372 uint32_t owner_module;
00373 const char *driver;
00374 pa_proplist *proplist;
00375 } pa_client_info;
00376
00378 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00379
00381 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00382
00384 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00385
00387 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00388
00396 typedef struct pa_card_profile_info {
00397 const char *name;
00398 const char *description;
00399 } pa_card_profile_info;
00400
00404 typedef struct pa_card_info {
00405 uint32_t index;
00406 const char *name;
00407 uint32_t owner_module;
00408 const char *driver;
00409 uint32_t n_profiles;
00410 pa_card_profile_info* profiles;
00411 pa_card_profile_info* active_profile;
00412 pa_proplist *proplist;
00413 } pa_card_info;
00414
00416 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00417
00419 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00420
00422 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00423
00425 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00426
00428 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);
00429
00431 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);
00432
00440 typedef struct pa_sink_input_info {
00441 uint32_t index;
00442 const char *name;
00443 uint32_t owner_module;
00444 uint32_t client;
00445 uint32_t sink;
00446 pa_sample_spec sample_spec;
00447 pa_channel_map channel_map;
00448 pa_cvolume volume;
00449 pa_usec_t buffer_usec;
00450 pa_usec_t sink_usec;
00451 const char *resample_method;
00452 const char *driver;
00453 int mute;
00454 pa_proplist *proplist;
00455 } pa_sink_input_info;
00456
00458 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00459
00461 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00462
00464 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00465
00467 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);
00468
00470 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);
00471
00473 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);
00474
00476 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00477
00479 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00480
00488 typedef struct pa_source_output_info {
00489 uint32_t index;
00490 const char *name;
00491 uint32_t owner_module;
00492 uint32_t client;
00493 uint32_t source;
00494 pa_sample_spec sample_spec;
00495 pa_channel_map channel_map;
00496 pa_usec_t buffer_usec;
00497 pa_usec_t source_usec;
00498 const char *resample_method;
00499 const char *driver;
00500 pa_proplist *proplist;
00501 } pa_source_output_info;
00502
00504 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00505
00507 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00508
00510 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00511
00513 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);
00514
00516 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);
00517
00519 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);
00520
00522 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00523
00525 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00526
00534 typedef struct pa_stat_info {
00535 uint32_t memblock_total;
00536 uint32_t memblock_total_size;
00537 uint32_t memblock_allocated;
00538 uint32_t memblock_allocated_size;
00539 uint32_t scache_size;
00540 } pa_stat_info;
00541
00543 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00544
00546 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00547
00555 typedef struct pa_sample_info {
00556 uint32_t index;
00557 const char *name;
00558 pa_cvolume volume;
00559 pa_sample_spec sample_spec;
00560 pa_channel_map channel_map;
00561 pa_usec_t duration;
00562 uint32_t bytes;
00563 int lazy;
00564 const char *filename;
00565 pa_proplist *proplist;
00566 } pa_sample_info;
00567
00569 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00570
00572 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00573
00575 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00576
00578 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00579
00587 typedef enum pa_autoload_type {
00588 PA_AUTOLOAD_SINK = 0,
00589 PA_AUTOLOAD_SOURCE = 1
00590 } pa_autoload_type_t;
00591
00595 typedef struct pa_autoload_info {
00596 uint32_t index;
00597 const char *name;
00598 pa_autoload_type_t type;
00599 const char *module;
00600 const char *argument;
00601 } pa_autoload_info;
00602
00604 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00605
00607 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;
00608
00610 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;
00611
00613 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00614
00616 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;
00617
00619 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;
00620
00622 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;
00623
00628 PA_C_DECL_END
00629
00630 #endif