introspect.h

Go to the documentation of this file.
00001 #ifndef foointrospecthfoo
00002 #define foointrospecthfoo
00003 
00004 /* $Id: introspect.h 1184 2006-08-03 22:33:11Z lennart $ */
00005 
00006 /***
00007   This file is part of PulseAudio.
00008  
00009   PulseAudio is free software; you can redistribute it and/or modify
00010   it under the terms of the GNU Lesser General Public License as published
00011   by the Free Software Foundation; either version 2 of the License,
00012   or (at your option) any later version.
00013  
00014   PulseAudio is distributed in the hope that it will be useful, but
00015   WITHOUT ANY WARRANTY; without even the implied warranty of
00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017   General Public License for more details.
00018  
00019   You should have received a copy of the GNU Lesser General Public License
00020   along with PulseAudio; if not, write to the Free Software
00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00022   USA.
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

Generated on Wed May 30 19:36:31 2007 for PulseAudio by  doxygen 1.5.1