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
00207 PA_C_DECL_BEGIN
00208
00209 #define PA_PORT_DIGITAL "spdif"
00210 #define PA_PORT_ANALOG_STEREO "analog-stereo"
00211 #define PA_PORT_ANALOG_5_1 "analog-5-1"
00212 #define PA_PORT_ANALOG_4_0 "analog-4-0"
00213
00219 typedef struct pa_sink_info {
00220 const char *name;
00221 uint32_t index;
00222 const char *description;
00223 pa_sample_spec sample_spec;
00224 pa_channel_map channel_map;
00225 uint32_t owner_module;
00226 pa_cvolume volume;
00227 int mute;
00228 uint32_t monitor_source;
00229 const char *monitor_source_name;
00230 pa_usec_t latency;
00231 const char *driver;
00232 pa_sink_flags_t flags;
00233 pa_proplist *proplist;
00234 pa_usec_t configured_latency;
00235 } pa_sink_info;
00236
00238 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00239
00241 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00242
00244 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t id, pa_sink_info_cb_t cb, void *userdata);
00245
00247 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00248
00250 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);
00251
00253 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);
00254
00256 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);
00257
00259 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);
00260
00262 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);
00263
00265 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00266
00274 typedef struct pa_source_info {
00275 const char *name;
00276 uint32_t index;
00277 const char *description;
00278 pa_sample_spec sample_spec;
00279 pa_channel_map channel_map;
00280 uint32_t owner_module;
00281 pa_cvolume volume;
00282 int mute;
00283 uint32_t monitor_of_sink;
00284 const char *monitor_of_sink_name;
00285 pa_usec_t latency;
00286 const char *driver;
00287 pa_source_flags_t flags;
00288 pa_proplist *proplist;
00289 pa_usec_t configured_latency;
00290 } pa_source_info;
00291
00293 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00294
00296 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00297
00299 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t id, pa_source_info_cb_t cb, void *userdata);
00300
00302 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00303
00305 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);
00306
00308 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);
00309
00311 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);
00312
00314 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);
00315
00323 typedef struct pa_server_info {
00324 const char *user_name;
00325 const char *host_name;
00326 const char *server_version;
00327 const char *server_name;
00328 pa_sample_spec sample_spec;
00329 const char *default_sink_name;
00330 const char *default_source_name;
00331 uint32_t cookie;
00332 } pa_server_info;
00333
00335 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00336
00338 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00339
00347 typedef struct pa_module_info {
00348 uint32_t index;
00349 const char*name,
00350 *argument;
00351 uint32_t n_used;
00352 int auto_unload;
00353 } pa_module_info;
00354
00356 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00357
00359 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00360
00362 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00363
00365 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00366
00368 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00369
00371 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00372
00380 typedef struct pa_client_info {
00381 uint32_t index;
00382 const char *name;
00383 uint32_t owner_module;
00384 const char *driver;
00385 pa_proplist *proplist;
00386 } pa_client_info;
00387
00389 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00390
00392 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00393
00395 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00396
00398 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00399
00407 typedef struct pa_sink_input_info {
00408 uint32_t index;
00409 const char *name;
00410 uint32_t owner_module;
00411 uint32_t client;
00412 uint32_t sink;
00413 pa_sample_spec sample_spec;
00414 pa_channel_map channel_map;
00415 pa_cvolume volume;
00416 pa_usec_t buffer_usec;
00417 pa_usec_t sink_usec;
00418 const char *resample_method;
00419 const char *driver;
00420 int mute;
00421 pa_proplist *proplist;
00422 } pa_sink_input_info;
00423
00425 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00426
00428 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00429
00431 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00432
00434 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);
00435
00437 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);
00438
00440 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);
00441
00443 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00444
00446 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00447
00455 typedef struct pa_source_output_info {
00456 uint32_t index;
00457 const char *name;
00458 uint32_t owner_module;
00459 uint32_t client;
00460 uint32_t source;
00461 pa_sample_spec sample_spec;
00462 pa_channel_map channel_map;
00463 pa_usec_t buffer_usec;
00464 pa_usec_t source_usec;
00465 const char *resample_method;
00466 const char *driver;
00467 pa_proplist *proplist;
00468 } pa_source_output_info;
00469
00471 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00472
00474 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00475
00477 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00478
00480 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);
00481
00483 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);
00484
00486 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);
00487
00489 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00490
00492 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00493
00501 typedef struct pa_stat_info {
00502 uint32_t memblock_total;
00503 uint32_t memblock_total_size;
00504 uint32_t memblock_allocated;
00505 uint32_t memblock_allocated_size;
00506 uint32_t scache_size;
00507 } pa_stat_info;
00508
00510 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00511
00513 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00514
00522 typedef struct pa_sample_info {
00523 uint32_t index;
00524 const char *name;
00525 pa_cvolume volume;
00526 pa_sample_spec sample_spec;
00527 pa_channel_map channel_map;
00528 pa_usec_t duration;
00529 uint32_t bytes;
00530 int lazy;
00531 const char *filename;
00532 pa_proplist *proplist;
00533 } pa_sample_info;
00534
00536 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00537
00539 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00540
00542 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00543
00545 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00546
00554 typedef enum pa_autoload_type {
00555 PA_AUTOLOAD_SINK = 0,
00556 PA_AUTOLOAD_SOURCE = 1
00557 } pa_autoload_type_t;
00558
00562 typedef struct pa_autoload_info {
00563 uint32_t index;
00564 const char *name;
00565 pa_autoload_type_t type;
00566 const char *module;
00567 const char *argument;
00568 } pa_autoload_info;
00569
00571 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00572
00574 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;
00575
00577 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;
00578
00580 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00581
00583 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;
00584
00586 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;
00587
00589 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;
00590
00595 PA_C_DECL_END
00596
00597 #endif