• Main Page
  • Related Pages
  • Data Structures
  • Files
  • Examples
  • File List
  • Globals

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.1 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 #include <pulse/version.h>
00036 
00194 PA_C_DECL_BEGIN
00195 
00201 typedef struct pa_sink_port_info {
00202     const char *name;                   
00203     const char *description;            
00204     uint32_t priority;                  
00205 } pa_sink_port_info;
00206 
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_proplist *proplist;             
00225     pa_usec_t configured_latency;      
00226     pa_volume_t base_volume;           
00227     pa_sink_state_t state;             
00228     uint32_t n_volume_steps;           
00229     uint32_t card;                     
00230     uint32_t n_ports;                  
00231     pa_sink_port_info** ports;         
00232     pa_sink_port_info* active_port;    
00233 } pa_sink_info;
00234 
00236 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00237 
00239 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00240 
00242 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00243 
00245 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00246 
00248 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);
00249 
00251 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);
00252 
00254 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);
00255 
00257 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);
00258 
00260 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);
00261 
00263 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend,  pa_context_success_cb_t cb, void* userdata);
00264 
00266 pa_operation* pa_context_set_sink_port_by_index(pa_context *c, uint32_t idx, const char*port, pa_context_success_cb_t cb, void *userdata);
00267 
00269 pa_operation* pa_context_set_sink_port_by_name(pa_context *c, const char*name, const char*port, pa_context_success_cb_t cb, void *userdata);
00270 
00278 typedef struct pa_source_port_info {
00279     const char *name;                   
00280     const char *description;            
00281     uint32_t priority;                  
00282 } pa_source_port_info;
00283 
00287 typedef struct pa_source_info {
00288     const char *name;                   
00289     uint32_t index;                     
00290     const char *description;            
00291     pa_sample_spec sample_spec;         
00292     pa_channel_map channel_map;         
00293     uint32_t owner_module;              
00294     pa_cvolume volume;                  
00295     int mute;                           
00296     uint32_t monitor_of_sink;           
00297     const char *monitor_of_sink_name;   
00298     pa_usec_t latency;                  
00299     const char *driver;                 
00300     pa_source_flags_t flags;            
00301     pa_proplist *proplist;              
00302     pa_usec_t configured_latency;       
00303     pa_volume_t base_volume;            
00304     pa_source_state_t state;            
00305     uint32_t n_volume_steps;            
00306     uint32_t card;                      
00307     uint32_t n_ports;                   
00308     pa_source_port_info** ports;        
00309     pa_source_port_info* active_port;   
00310 } pa_source_info;
00311 
00313 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00314 
00316 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00317 
00319 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00320 
00322 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00323 
00325 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);
00326 
00328 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);
00329 
00331 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);
00332 
00334 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);
00335 
00337 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);
00338 
00340 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00341 
00343 pa_operation* pa_context_set_source_port_by_index(pa_context *c, uint32_t idx, const char*port, pa_context_success_cb_t cb, void *userdata);
00344 
00346 pa_operation* pa_context_set_source_port_by_name(pa_context *c, const char*name, const char*port, pa_context_success_cb_t cb, void *userdata);
00347 
00355 typedef struct pa_server_info {
00356     const char *user_name;              
00357     const char *host_name;              
00358     const char *server_version;         
00359     const char *server_name;            
00360     pa_sample_spec sample_spec;         
00361     const char *default_sink_name;      
00362     const char *default_source_name;    
00363     uint32_t cookie;                    
00364     pa_channel_map channel_map;         
00365 } pa_server_info;
00366 
00368 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00369 
00371 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00372 
00380 typedef struct pa_module_info {
00381     uint32_t index;                     
00382     const char*name,                    
00383         *argument;                      
00384     uint32_t n_used;                    
00386     int auto_unload;                    
00388     pa_proplist *proplist;              
00389 } pa_module_info;
00390 
00392 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00393 
00395 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00396 
00398 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00399 
00401 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00402 
00404 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00405 
00407 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00408 
00416 typedef struct pa_client_info {
00417     uint32_t index;                      
00418     const char *name;                    
00419     uint32_t owner_module;               
00420     const char *driver;                  
00421     pa_proplist *proplist;               
00422 } pa_client_info;
00423 
00425 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00426 
00428 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00429 
00431 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_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 
00443 typedef struct pa_card_profile_info {
00444     const char *name;                   
00445     const char *description;            
00446     uint32_t n_sinks;                   
00447     uint32_t n_sources;                 
00448     uint32_t priority;                  
00449 } pa_card_profile_info;
00450 
00454 typedef struct pa_card_info {
00455     uint32_t index;                      
00456     const char *name;                    
00457     uint32_t owner_module;               
00458     const char *driver;                  
00459     uint32_t n_profiles;                 
00460     pa_card_profile_info* profiles;      
00461     pa_card_profile_info* active_profile; 
00462     pa_proplist *proplist;               
00463 } pa_card_info;
00464 
00466 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00467 
00469 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00470 
00472 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00473 
00475 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00476 
00478 pa_operation* pa_context_set_card_profile_by_index(pa_context *c, uint32_t idx, const char*profile, pa_context_success_cb_t cb, void *userdata);
00479 
00481 pa_operation* pa_context_set_card_profile_by_name(pa_context *c, const char*name, const char*profile, pa_context_success_cb_t cb, void *userdata);
00482 
00490 typedef struct pa_sink_input_info {
00491     uint32_t index;                      
00492     const char *name;                    
00493     uint32_t owner_module;               
00494     uint32_t client;                     
00495     uint32_t sink;                       
00496     pa_sample_spec sample_spec;          
00497     pa_channel_map channel_map;          
00498     pa_cvolume volume;                   
00499     pa_usec_t buffer_usec;               
00500     pa_usec_t sink_usec;                 
00501     const char *resample_method;         
00502     const char *driver;                  
00503     int mute;                            
00504     pa_proplist *proplist;               
00505 } pa_sink_input_info;
00506 
00508 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00509 
00511 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00512 
00514 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00515 
00517 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);
00518 
00520 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);
00521 
00523 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);
00524 
00526 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00527 
00529 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00530 
00538 typedef struct pa_source_output_info {
00539     uint32_t index;                      
00540     const char *name;                    
00541     uint32_t owner_module;               
00542     uint32_t client;                     
00543     uint32_t source;                     
00544     pa_sample_spec sample_spec;          
00545     pa_channel_map channel_map;          
00546     pa_usec_t buffer_usec;               
00547     pa_usec_t source_usec;               
00548     const char *resample_method;         
00549     const char *driver;                  
00550     pa_proplist *proplist;               
00551 } pa_source_output_info;
00552 
00554 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00555 
00557 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00558 
00560 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00561 
00563 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);
00564 
00566 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);
00567 
00569 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00570 
00578 typedef struct pa_stat_info {
00579     uint32_t memblock_total;           
00580     uint32_t memblock_total_size;      
00581     uint32_t memblock_allocated;       
00582     uint32_t memblock_allocated_size;  
00583     uint32_t scache_size;              
00584 } pa_stat_info;
00585 
00587 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00588 
00590 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00591 
00599 typedef struct pa_sample_info {
00600     uint32_t index;                       
00601     const char *name;                     
00602     pa_cvolume volume;                    
00603     pa_sample_spec sample_spec;           
00604     pa_channel_map channel_map;           
00605     pa_usec_t duration;                   
00606     uint32_t bytes;                       
00607     int lazy;                             
00608     const char *filename;                 
00609     pa_proplist *proplist;                
00610 } pa_sample_info;
00611 
00613 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00614 
00616 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00617 
00619 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00620 
00622 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00623 
00631 typedef enum pa_autoload_type {
00632     PA_AUTOLOAD_SINK = 0,
00633     PA_AUTOLOAD_SOURCE = 1
00634 } pa_autoload_type_t;
00635 
00639 typedef struct pa_autoload_info {
00640     uint32_t index;               
00641     const char *name;             
00642     pa_autoload_type_t type;      
00643     const char *module;           
00644     const char *argument;         
00645 } pa_autoload_info;
00646 
00648 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00649 
00651 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;
00652 
00654 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;
00655 
00657 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00658 
00660 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;
00661 
00663 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;
00664 
00666 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;
00667 
00672 PA_C_DECL_END
00673 
00674 #endif

Generated on Fri Nov 26 2010 for PulseAudio by  doxygen 1.7.2