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
00027
00028 #include <inttypes.h>
00029
00030 #include <pulse/operation.h>
00031 #include <pulse/context.h>
00032 #include <pulse/cdecl.h>
00033 #include <pulse/gccmacro.h>
00034 #include <pulse/channelmap.h>
00035 #include <pulse/volume.h>
00036 #include <pulse/proplist.h>
00037
00209 PA_C_DECL_BEGIN
00210
00211 #define PA_PORT_DIGITAL "spdif"
00212 #define PA_PORT_ANALOG_STEREO "analog-stereo"
00213 #define PA_PORT_ANALOG_5_1 "analog-5-1"
00214 #define PA_PORT_ANALOG_4_0 "analog-4-0"
00215
00221 typedef struct pa_sink_info {
00222 const char *name;
00223 uint32_t index;
00224 const char *description;
00225 pa_sample_spec sample_spec;
00226 pa_channel_map channel_map;
00227 uint32_t owner_module;
00228 pa_cvolume volume;
00229 int mute;
00230 uint32_t monitor_source;
00231 const char *monitor_source_name;
00232 pa_usec_t latency;
00233 const char *driver;
00234 pa_sink_flags_t flags;
00235 pa_proplist *proplist;
00236 pa_usec_t configured_latency;
00237 } pa_sink_info;
00238
00240 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00241
00243 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00244
00246 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t id, pa_sink_info_cb_t cb, void *userdata);
00247
00249 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00250
00252 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);
00253
00255 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);
00256
00258 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);
00259
00261 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);
00262
00264 pa_operation* pa_context_suspend_sink_by_name(pa_context *c, char *sink_name, int suspend, pa_context_success_cb_t cb, void* userdata);
00265
00267 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00268
00276 typedef struct pa_source_info {
00277 const char *name;
00278 uint32_t index;
00279 const char *description;
00280 pa_sample_spec sample_spec;
00281 pa_channel_map channel_map;
00282 uint32_t owner_module;
00283 pa_cvolume volume;
00284 int mute;
00285 uint32_t monitor_of_sink;
00286 const char *monitor_of_sink_name;
00287 pa_usec_t latency;
00288 const char *driver;
00289 pa_source_flags_t flags;
00290 pa_proplist *proplist;
00291 pa_usec_t configured_latency;
00292 } pa_source_info;
00293
00295 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00296
00298 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00299
00301 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t id, pa_source_info_cb_t cb, void *userdata);
00302
00304 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00305
00307 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);
00308
00310 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);
00311
00313 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);
00314
00316 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);
00317
00325 typedef struct pa_server_info {
00326 const char *user_name;
00327 const char *host_name;
00328 const char *server_version;
00329 const char *server_name;
00330 pa_sample_spec sample_spec;
00331 const char *default_sink_name;
00332 const char *default_source_name;
00333 uint32_t cookie;
00334 } pa_server_info;
00335
00337 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00338
00340 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00341
00349 typedef struct pa_module_info {
00350 uint32_t index;
00351 const char*name,
00352 *argument;
00353 uint32_t n_used;
00354 int auto_unload;
00355 } pa_module_info;
00356
00358 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00359
00361 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00362
00364 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00365
00367 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00368
00370 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00371
00373 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00374
00382 typedef struct pa_client_info {
00383 uint32_t index;
00384 const char *name;
00385 uint32_t owner_module;
00386 const char *driver;
00387 pa_proplist *proplist;
00388 } pa_client_info;
00389
00391 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00392
00394 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00395
00397 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00398
00400 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00401
00409 typedef struct pa_sink_input_info {
00410 uint32_t index;
00411 const char *name;
00412 uint32_t owner_module;
00413 uint32_t client;
00414 uint32_t sink;
00415 pa_sample_spec sample_spec;
00416 pa_channel_map channel_map;
00417 pa_cvolume volume;
00418 pa_usec_t buffer_usec;
00419 pa_usec_t sink_usec;
00420 const char *resample_method;
00421 const char *driver;
00422 int mute;
00423 pa_proplist *proplist;
00424 } pa_sink_input_info;
00425
00427 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00428
00430 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00431
00433 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00434
00436 pa_operation* pa_context_move_sink_input_by_name(pa_context *c, uint32_t idx, char *sink_name, pa_context_success_cb_t cb, void* userdata);
00437
00439 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);
00440
00442 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);
00443
00445 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00446
00448 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00449
00457 typedef struct pa_source_output_info {
00458 uint32_t index;
00459 const char *name;
00460 uint32_t owner_module;
00461 uint32_t client;
00462 uint32_t source;
00463 pa_sample_spec sample_spec;
00464 pa_channel_map channel_map;
00465 pa_usec_t buffer_usec;
00466 pa_usec_t source_usec;
00467 const char *resample_method;
00468 const char *driver;
00469 pa_proplist *proplist;
00470 } pa_source_output_info;
00471
00473 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00474
00476 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00477
00479 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00480
00482 pa_operation* pa_context_move_source_output_by_name(pa_context *c, uint32_t idx, char *source_name, pa_context_success_cb_t cb, void* userdata);
00483
00485 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);
00486
00488 pa_operation* pa_context_suspend_source_by_name(pa_context *c, char *source_name, int suspend, pa_context_success_cb_t cb, void* userdata);
00489
00491 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00492
00494 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00495
00503 typedef struct pa_stat_info {
00504 uint32_t memblock_total;
00505 uint32_t memblock_total_size;
00506 uint32_t memblock_allocated;
00507 uint32_t memblock_allocated_size;
00508 uint32_t scache_size;
00509 } pa_stat_info;
00510
00512 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00513
00515 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00516
00524 typedef struct pa_sample_info {
00525 uint32_t index;
00526 const char *name;
00527 pa_cvolume volume;
00528 pa_sample_spec sample_spec;
00529 pa_channel_map channel_map;
00530 pa_usec_t duration;
00531 uint32_t bytes;
00532 int lazy;
00533 const char *filename;
00534 pa_proplist *proplist;
00535 } pa_sample_info;
00536
00538 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00539
00541 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00542
00544 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00545
00547 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00548
00556 typedef enum pa_autoload_type {
00557 PA_AUTOLOAD_SINK = 0,
00558 PA_AUTOLOAD_SOURCE = 1
00559 } pa_autoload_type_t;
00560
00564 typedef struct pa_autoload_info {
00565 uint32_t index;
00566 const char *name;
00567 pa_autoload_type_t type;
00568 const char *module;
00569 const char *argument;
00570 } pa_autoload_info;
00571
00573 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00574
00576 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;
00577
00579 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;
00580
00582 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00583
00585 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;
00586
00588 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;
00589
00591 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;
00592
00597 PA_C_DECL_END
00598
00599 #endif