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 #include <inttypes.h>
00026
00027 #include <pulse/operation.h>
00028 #include <pulse/context.h>
00029 #include <pulse/cdecl.h>
00030 #include <pulse/channelmap.h>
00031 #include <pulse/volume.h>
00032
00204 PA_C_DECL_BEGIN
00205
00207 typedef struct pa_sink_info {
00208 const char *name;
00209 uint32_t index;
00210 const char *description;
00211 pa_sample_spec sample_spec;
00212 pa_channel_map channel_map;
00213 uint32_t owner_module;
00214 pa_cvolume volume;
00215 int mute;
00216 uint32_t monitor_source;
00217 const char *monitor_source_name;
00218 pa_usec_t latency;
00219 const char *driver;
00220 pa_sink_flags_t flags;
00221 } pa_sink_info;
00222
00224 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00225
00227 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00228
00230 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t id, pa_sink_info_cb_t cb, void *userdata);
00231
00233 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00234
00236 typedef struct pa_source_info {
00237 const char *name ;
00238 uint32_t index;
00239 const char *description;
00240 pa_sample_spec sample_spec;
00241 pa_channel_map channel_map;
00242 uint32_t owner_module;
00243 pa_cvolume volume;
00244 int mute;
00245 uint32_t monitor_of_sink;
00246 const char *monitor_of_sink_name;
00247 pa_usec_t latency;
00248 const char *driver;
00249 pa_source_flags_t flags;
00250 } pa_source_info;
00251
00253 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00254
00256 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00257
00259 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t id, pa_source_info_cb_t cb, void *userdata);
00260
00262 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00263
00265 typedef struct pa_server_info {
00266 const char *user_name;
00267 const char *host_name;
00268 const char *server_version;
00269 const char *server_name;
00270 pa_sample_spec sample_spec;
00271 const char *default_sink_name;
00272 const char *default_source_name;
00273 uint32_t cookie;
00274 } pa_server_info;
00275
00277 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00278
00280 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00281
00283 typedef struct pa_module_info {
00284 uint32_t index;
00285 const char*name,
00286 *argument;
00287 uint32_t n_used;
00288 int auto_unload;
00289 } pa_module_info;
00290
00292 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00293
00295 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00296
00298 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00299
00301 typedef struct pa_client_info {
00302 uint32_t index;
00303 const char *name;
00304 uint32_t owner_module;
00305 const char *driver;
00306 } pa_client_info;
00307
00309 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00310
00312 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00313
00315 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00316
00318 typedef struct pa_sink_input_info {
00319 uint32_t index;
00320 const char *name;
00321 uint32_t owner_module;
00322 uint32_t client;
00323 uint32_t sink;
00324 pa_sample_spec sample_spec;
00325 pa_channel_map channel_map;
00326 pa_cvolume volume;
00327 pa_usec_t buffer_usec;
00328 pa_usec_t sink_usec;
00329 const char *resample_method;
00330 const char *driver;
00331 } pa_sink_input_info;
00332
00334 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00335
00337 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00338
00340 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00341
00343 typedef struct pa_source_output_info {
00344 uint32_t index;
00345 const char *name;
00346 uint32_t owner_module;
00347 uint32_t client;
00348 uint32_t source;
00349 pa_sample_spec sample_spec;
00350 pa_channel_map channel_map;
00351 pa_usec_t buffer_usec;
00352 pa_usec_t source_usec;
00353 const char *resample_method;
00354 const char *driver;
00355 } pa_source_output_info;
00356
00358 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00359
00361 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00362
00364 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00365
00367 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);
00368
00370 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);
00371
00373 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);
00374
00376 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);
00377
00379 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);
00380
00382 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);
00383
00385 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);
00386
00388 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);
00389
00391 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);
00392
00394 typedef struct pa_stat_info {
00395 uint32_t memblock_total;
00396 uint32_t memblock_total_size;
00397 uint32_t memblock_allocated;
00398 uint32_t memblock_allocated_size;
00399 uint32_t scache_size;
00400 } pa_stat_info;
00401
00403 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00404
00406 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00407
00409 typedef struct pa_sample_info {
00410 uint32_t index;
00411 const char *name;
00412 pa_cvolume volume;
00413 pa_sample_spec sample_spec;
00414 pa_channel_map channel_map;
00415 pa_usec_t duration;
00416 uint32_t bytes;
00417 int lazy;
00418 const char *filename;
00419 } pa_sample_info;
00420
00422 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00423
00425 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00426
00428 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00429
00431 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00432
00434 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00435
00437 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00438
00440 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00441
00443 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00444
00446 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00447
00449 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00450
00452 typedef enum pa_autoload_type {
00453 PA_AUTOLOAD_SINK = 0,
00454 PA_AUTOLOAD_SOURCE = 1
00455 } pa_autoload_type_t;
00456
00458 typedef struct pa_autoload_info {
00459 uint32_t index;
00460 const char *name;
00461 pa_autoload_type_t type;
00462 const char *module;
00463 const char *argument;
00464 } pa_autoload_info;
00465
00467 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00468
00470 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);
00471
00473 pa_operation* pa_context_get_autoload_info_by_index(pa_context *c, uint32_t idx, pa_autoload_info_cb_t cb, void *userdata);
00474
00476 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata);
00477
00479 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);
00480
00482 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);
00483
00485 pa_operation* pa_context_remove_autoload_by_index(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void* userdata);
00486
00488 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);
00489
00491 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);
00492
00494 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);
00495
00497 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);
00498
00499 PA_C_DECL_END
00500
00501 #endif