introspect.h

Go to the documentation of this file.
00001 #ifndef foointrospecthfoo
00002 #define foointrospecthfoo
00003 
00004 /***
00005   This file is part of PulseAudio.
00006 
00007   Copyright 2004-2006 Lennart Poettering
00008   Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
00009 
00010   PulseAudio is free software; you can redistribute it and/or modify
00011   it under the terms of the GNU Lesser General Public License as published
00012   by the Free Software Foundation; either version 2 of the License,
00013   or (at your option) any later version.
00014 
00015   PulseAudio is distributed in the hope that it will be useful, but
00016   WITHOUT ANY WARRANTY; without even the implied warranty of
00017   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018   General Public License for more details.
00019 
00020   You should have received a copy of the GNU Lesser General Public License
00021   along with PulseAudio; if not, write to the Free Software
00022   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00023   USA.
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 
00211 PA_C_DECL_BEGIN
00212 
00218 typedef struct pa_sink_info {
00219     const char *name;                  
00220     uint32_t index;                    
00221     const char *description;           
00222     pa_sample_spec sample_spec;        
00223     pa_channel_map channel_map;        
00224     uint32_t owner_module;             
00225     pa_cvolume volume;                 
00226     int mute;                          
00227     uint32_t monitor_source;           
00228     const char *monitor_source_name;   
00229     pa_usec_t latency;                 
00230     const char *driver;                
00231     pa_sink_flags_t flags;             
00232     pa_proplist *proplist;             
00233     pa_usec_t configured_latency;      
00234 } pa_sink_info;
00235 
00237 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00238 
00240 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00241 
00243 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t id, pa_sink_info_cb_t cb, void *userdata);
00244 
00246 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00247 
00249 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);
00250 
00252 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);
00253 
00255 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);
00256 
00258 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);
00259 
00261 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);
00262 
00264 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend,  pa_context_success_cb_t cb, void* userdata);
00265 
00273 typedef struct pa_source_info {
00274     const char *name;                   
00275     uint32_t index;                     
00276     const char *description;            
00277     pa_sample_spec sample_spec;         
00278     pa_channel_map channel_map;         
00279     uint32_t owner_module;              
00280     pa_cvolume volume;                  
00281     int mute;                           
00282     uint32_t monitor_of_sink;           
00283     const char *monitor_of_sink_name;   
00284     pa_usec_t latency;                  
00285     const char *driver;                 
00286     pa_source_flags_t flags;            
00287     pa_proplist *proplist;              
00288     pa_usec_t configured_latency;       
00289 } pa_source_info;
00290 
00292 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00293 
00295 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00296 
00298 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t id, pa_source_info_cb_t cb, void *userdata);
00299 
00301 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00302 
00304 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);
00305 
00307 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);
00308 
00310 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);
00311 
00313 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);
00314 
00322 typedef struct pa_server_info {
00323     const char *user_name;              
00324     const char *host_name;              
00325     const char *server_version;         
00326     const char *server_name;            
00327     pa_sample_spec sample_spec;         
00328     const char *default_sink_name;      
00329     const char *default_source_name;    
00330     uint32_t cookie;                    
00331 } pa_server_info;
00332 
00334 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00335 
00337 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00338 
00346 typedef struct pa_module_info {
00347     uint32_t index;                     
00348     const char*name,                    
00349         *argument;                      
00350     uint32_t n_used;                    
00351     int auto_unload;                    
00352 } pa_module_info;
00353 
00355 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00356 
00358 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00359 
00361 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00362 
00364 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00365 
00367 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00368 
00370 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00371 
00379 typedef struct pa_client_info {
00380     uint32_t index;                      
00381     const char *name;                    
00382     uint32_t owner_module;               
00383     const char *driver;                  
00384     pa_proplist *proplist;               
00385 } pa_client_info;
00386 
00388 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00389 
00391 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00392 
00394 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00395 
00397 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00398 
00406 typedef struct pa_sink_input_info {
00407     uint32_t index;                      
00408     const char *name;                    
00409     uint32_t owner_module;               
00410     uint32_t client;                     
00411     uint32_t sink;                       
00412     pa_sample_spec sample_spec;          
00413     pa_channel_map channel_map;          
00414     pa_cvolume volume;                   
00415     pa_usec_t buffer_usec;               
00416     pa_usec_t sink_usec;                 
00417     const char *resample_method;         
00418     const char *driver;                  
00419     int mute;                            
00420     pa_proplist *proplist;               
00421 } pa_sink_input_info;
00422 
00424 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00425 
00427 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00428 
00430 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00431 
00433 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);
00434 
00436 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);
00437 
00439 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);
00440 
00442 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00443 
00445 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00446 
00454 typedef struct pa_source_output_info {
00455     uint32_t index;                      
00456     const char *name;                    
00457     uint32_t owner_module;               
00458     uint32_t client;                     
00459     uint32_t source;                     
00460     pa_sample_spec sample_spec;          
00461     pa_channel_map channel_map;          
00462     pa_usec_t buffer_usec;               
00463     pa_usec_t source_usec;               
00464     const char *resample_method;         
00465     const char *driver;                  
00466     pa_proplist *proplist;               
00467 } pa_source_output_info;
00468 
00470 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00471 
00473 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00474 
00476 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00477 
00479 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);
00480 
00482 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);
00483 
00485 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);
00486 
00488 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00489 
00491 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00492 
00500 typedef struct pa_stat_info {
00501     uint32_t memblock_total;           
00502     uint32_t memblock_total_size;      
00503     uint32_t memblock_allocated;       
00504     uint32_t memblock_allocated_size;  
00505     uint32_t scache_size;              
00506 } pa_stat_info;
00507 
00509 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00510 
00512 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00513 
00521 typedef struct pa_sample_info {
00522     uint32_t index;                       
00523     const char *name;                     
00524     pa_cvolume volume;                    
00525     pa_sample_spec sample_spec;           
00526     pa_channel_map channel_map;           
00527     pa_usec_t duration;                   
00528     uint32_t bytes;                       
00529     int lazy;                             
00530     const char *filename;                 
00531     pa_proplist *proplist;                
00532 } pa_sample_info;
00533 
00535 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00536 
00538 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00539 
00541 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00542 
00544 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00545 
00553 typedef enum pa_autoload_type {
00554     PA_AUTOLOAD_SINK = 0,
00555     PA_AUTOLOAD_SOURCE = 1
00556 } pa_autoload_type_t;
00557 
00561 typedef struct pa_autoload_info {
00562     uint32_t index;               
00563     const char *name;             
00564     pa_autoload_type_t type;      
00565     const char *module;           
00566     const char *argument;         
00567 } pa_autoload_info;
00568 
00570 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00571 
00573 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;
00574 
00576 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;
00577 
00579 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00580 
00582 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;
00583 
00585 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;
00586 
00588 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;
00589 
00594 PA_C_DECL_END
00595 
00596 #endif

Generated on Tue Sep 16 10:58:58 2008 for PulseAudio by  doxygen 1.5.4