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/channelmap.h>
00034 #include <pulse/volume.h>
00035
00207 PA_C_DECL_BEGIN
00208
00210 typedef struct pa_sink_info {
00211 const char *name;
00212 uint32_t index;
00213 const char *description;
00214 pa_sample_spec sample_spec;
00215 pa_channel_map channel_map;
00216 uint32_t owner_module;
00217 pa_cvolume volume;
00218 int mute;
00219 uint32_t monitor_source;
00220 const char *monitor_source_name;
00221 pa_usec_t latency;
00222 const char *driver;
00223 pa_sink_flags_t flags;
00224 } pa_sink_info;
00225
00227 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00228
00230 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00231
00233 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t id, pa_sink_info_cb_t cb, void *userdata);
00234
00236 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00237
00239 typedef struct pa_source_info {
00240 const char *name ;
00241 uint32_t index;
00242 const char *description;
00243 pa_sample_spec sample_spec;
00244 pa_channel_map channel_map;
00245 uint32_t owner_module;
00246 pa_cvolume volume;
00247 int mute;
00248 uint32_t monitor_of_sink;
00249 const char *monitor_of_sink_name;
00250 pa_usec_t latency;
00251 const char *driver;
00252 pa_source_flags_t flags;
00253 } pa_source_info;
00254
00256 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00257
00259 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00260
00262 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t id, pa_source_info_cb_t cb, void *userdata);
00263
00265 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00266
00268 typedef struct pa_server_info {
00269 const char *user_name;
00270 const char *host_name;
00271 const char *server_version;
00272 const char *server_name;
00273 pa_sample_spec sample_spec;
00274 const char *default_sink_name;
00275 const char *default_source_name;
00276 uint32_t cookie;
00277 } pa_server_info;
00278
00280 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00281
00283 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00284
00286 typedef struct pa_module_info {
00287 uint32_t index;
00288 const char*name,
00289 *argument;
00290 uint32_t n_used;
00291 int auto_unload;
00292 } pa_module_info;
00293
00295 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00296
00298 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00299
00301 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00302
00304 typedef struct pa_client_info {
00305 uint32_t index;
00306 const char *name;
00307 uint32_t owner_module;
00308 const char *driver;
00309 } pa_client_info;
00310
00312 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00313
00315 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00316
00318 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00319
00321 typedef struct pa_sink_input_info {
00322 uint32_t index;
00323 const char *name;
00324 uint32_t owner_module;
00325 uint32_t client;
00326 uint32_t sink;
00327 pa_sample_spec sample_spec;
00328 pa_channel_map channel_map;
00329 pa_cvolume volume;
00330 pa_usec_t buffer_usec;
00331 pa_usec_t sink_usec;
00332 const char *resample_method;
00333 const char *driver;
00334 int mute;
00335 } pa_sink_input_info;
00336
00338 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00339
00341 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00342
00344 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00345
00347 typedef struct pa_source_output_info {
00348 uint32_t index;
00349 const char *name;
00350 uint32_t owner_module;
00351 uint32_t client;
00352 uint32_t source;
00353 pa_sample_spec sample_spec;
00354 pa_channel_map channel_map;
00355 pa_usec_t buffer_usec;
00356 pa_usec_t source_usec;
00357 const char *resample_method;
00358 const char *driver;
00359 } pa_source_output_info;
00360
00362 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00363
00365 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00366
00368 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00369
00371 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);
00372
00374 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);
00375
00377 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);
00378
00380 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);
00381
00383 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);
00384
00386 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00387
00389 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);
00390
00392 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);
00393
00395 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);
00396
00398 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);
00399
00401 typedef struct pa_stat_info {
00402 uint32_t memblock_total;
00403 uint32_t memblock_total_size;
00404 uint32_t memblock_allocated;
00405 uint32_t memblock_allocated_size;
00406 uint32_t scache_size;
00407 } pa_stat_info;
00408
00410 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00411
00413 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00414
00416 typedef struct pa_sample_info {
00417 uint32_t index;
00418 const char *name;
00419 pa_cvolume volume;
00420 pa_sample_spec sample_spec;
00421 pa_channel_map channel_map;
00422 pa_usec_t duration;
00423 uint32_t bytes;
00424 int lazy;
00425 const char *filename;
00426 } pa_sample_info;
00427
00429 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00430
00432 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00433
00435 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00436
00438 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00439
00441 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00442
00444 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00445
00447 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00448
00450 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00451
00453 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00454
00456 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00457
00459 typedef enum pa_autoload_type {
00460 PA_AUTOLOAD_SINK = 0,
00461 PA_AUTOLOAD_SOURCE = 1
00462 } pa_autoload_type_t;
00463
00465 typedef struct pa_autoload_info {
00466 uint32_t index;
00467 const char *name;
00468 pa_autoload_type_t type;
00469 const char *module;
00470 const char *argument;
00471 } pa_autoload_info;
00472
00474 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00475
00477 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);
00478
00480 pa_operation* pa_context_get_autoload_info_by_index(pa_context *c, uint32_t idx, pa_autoload_info_cb_t cb, void *userdata);
00481
00483 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata);
00484
00486 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);
00487
00489 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);
00490
00492 pa_operation* pa_context_remove_autoload_by_index(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void* userdata);
00493
00495 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);
00496
00498 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);
00499
00501 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);
00502
00504 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);
00505
00507 pa_operation* pa_context_suspend_sink_by_name(pa_context *c, char *sink_name, int suspend, pa_context_success_cb_t cb, void* userdata);
00508
00510 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00511
00513 pa_operation* pa_context_suspend_source_by_name(pa_context *c, char *source_name, int suspend, pa_context_success_cb_t cb, void* userdata);
00514
00516 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00517
00518 PA_C_DECL_END
00519
00520 #endif