• 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 
00192 PA_C_DECL_BEGIN
00193 
00199 typedef struct pa_sink_port_info {
00200     const char *name;                   
00201     const char *description;            
00202     uint32_t priority;                  
00203 } pa_sink_port_info;
00204 
00208 typedef struct pa_sink_info {
00209     const char *name;                  
00210     uint32_t index;                    
00211     const char *description;           
00212     pa_sample_spec sample_spec;        
00213     pa_channel_map channel_map;        
00214     uint32_t owner_module;             
00215     pa_cvolume volume;                 
00216     int mute;                          
00217     uint32_t monitor_source;           
00218     const char *monitor_source_name;   
00219     pa_usec_t latency;                 
00220     const char *driver;                
00221     pa_sink_flags_t flags;             
00222     pa_proplist *proplist;             
00223     pa_usec_t configured_latency;      
00224     pa_volume_t base_volume;           
00225     pa_sink_state_t state;             
00226     uint32_t n_volume_steps;           
00227     uint32_t card;                     
00228     uint32_t n_ports;                  
00229     pa_sink_port_info** ports;         
00230     pa_sink_port_info* active_port;    
00231 } pa_sink_info;
00232 
00234 typedef void (*pa_sink_info_cb_t)(pa_context *c, const pa_sink_info *i, int eol, void *userdata);
00235 
00237 pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_sink_info_cb_t cb, void *userdata);
00238 
00240 pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_sink_info_cb_t cb, void *userdata);
00241 
00243 pa_operation* pa_context_get_sink_info_list(pa_context *c, pa_sink_info_cb_t cb, void *userdata);
00244 
00246 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);
00247 
00249 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);
00250 
00252 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);
00253 
00255 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);
00256 
00258 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);
00259 
00261 pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int suspend,  pa_context_success_cb_t cb, void* userdata);
00262 
00264 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);
00265 
00267 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);
00268 
00276 typedef struct pa_source_port_info {
00277     const char *name;                   
00278     const char *description;            
00279     uint32_t priority;                  
00280 } pa_source_port_info;
00281 
00285 typedef struct pa_source_info {
00286     const char *name;                   
00287     uint32_t index;                     
00288     const char *description;            
00289     pa_sample_spec sample_spec;         
00290     pa_channel_map channel_map;         
00291     uint32_t owner_module;              
00292     pa_cvolume volume;                  
00293     int mute;                           
00294     uint32_t monitor_of_sink;           
00295     const char *monitor_of_sink_name;   
00296     pa_usec_t latency;                  
00297     const char *driver;                 
00298     pa_source_flags_t flags;            
00299     pa_proplist *proplist;              
00300     pa_usec_t configured_latency;       
00301     pa_volume_t base_volume;            
00302     pa_source_state_t state;            
00303     uint32_t n_volume_steps;            
00304     uint32_t card;                      
00305     uint32_t n_ports;                   
00306     pa_source_port_info** ports;        
00307     pa_source_port_info* active_port;   
00308 } pa_source_info;
00309 
00311 typedef void (*pa_source_info_cb_t)(pa_context *c, const pa_source_info *i, int eol, void *userdata);
00312 
00314 pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name, pa_source_info_cb_t cb, void *userdata);
00315 
00317 pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, pa_source_info_cb_t cb, void *userdata);
00318 
00320 pa_operation* pa_context_get_source_info_list(pa_context *c, pa_source_info_cb_t cb, void *userdata);
00321 
00323 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);
00324 
00326 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);
00327 
00329 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);
00330 
00332 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);
00333 
00335 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);
00336 
00338 pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, int suspend, pa_context_success_cb_t cb, void* userdata);
00339 
00341 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);
00342 
00344 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);
00345 
00353 typedef struct pa_server_info {
00354     const char *user_name;              
00355     const char *host_name;              
00356     const char *server_version;         
00357     const char *server_name;            
00358     pa_sample_spec sample_spec;         
00359     const char *default_sink_name;      
00360     const char *default_source_name;    
00361     uint32_t cookie;                    
00362     pa_channel_map channel_map;         
00363 } pa_server_info;
00364 
00366 typedef void (*pa_server_info_cb_t) (pa_context *c, const pa_server_info*i, void *userdata);
00367 
00369 pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, void *userdata);
00370 
00378 typedef struct pa_module_info {
00379     uint32_t index;                     
00380     const char*name,                    
00381         *argument;                      
00382     uint32_t n_used;                    
00384     int auto_unload;                    
00386     pa_proplist *proplist;              
00387 } pa_module_info;
00388 
00390 typedef void (*pa_module_info_cb_t) (pa_context *c, const pa_module_info*i, int eol, void *userdata);
00391 
00393 pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_info_cb_t cb, void *userdata);
00394 
00396 pa_operation* pa_context_get_module_info_list(pa_context *c, pa_module_info_cb_t cb, void *userdata);
00397 
00399 typedef void (*pa_context_index_cb_t)(pa_context *c, uint32_t idx, void *userdata);
00400 
00402 pa_operation* pa_context_load_module(pa_context *c, const char*name, const char *argument, pa_context_index_cb_t cb, void *userdata);
00403 
00405 pa_operation* pa_context_unload_module(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00406 
00414 typedef struct pa_client_info {
00415     uint32_t index;                      
00416     const char *name;                    
00417     uint32_t owner_module;               
00418     const char *driver;                  
00419     pa_proplist *proplist;               
00420 } pa_client_info;
00421 
00423 typedef void (*pa_client_info_cb_t) (pa_context *c, const pa_client_info*i, int eol, void *userdata);
00424 
00426 pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_info_cb_t cb, void *userdata);
00427 
00429 pa_operation* pa_context_get_client_info_list(pa_context *c, pa_client_info_cb_t cb, void *userdata);
00430 
00432 pa_operation* pa_context_kill_client(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00433 
00441 typedef struct pa_card_profile_info {
00442     const char *name;                   
00443     const char *description;            
00444     uint32_t n_sinks;                   
00445     uint32_t n_sources;                 
00446     uint32_t priority;                  
00447 } pa_card_profile_info;
00448 
00452 typedef struct pa_card_info {
00453     uint32_t index;                      
00454     const char *name;                    
00455     uint32_t owner_module;               
00456     const char *driver;                  
00457     uint32_t n_profiles;                 
00458     pa_card_profile_info* profiles;      
00459     pa_card_profile_info* active_profile; 
00460     pa_proplist *proplist;               
00461 } pa_card_info;
00462 
00464 typedef void (*pa_card_info_cb_t) (pa_context *c, const pa_card_info*i, int eol, void *userdata);
00465 
00467 pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_card_info_cb_t cb, void *userdata);
00468 
00470 pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char *name, pa_card_info_cb_t cb, void *userdata);
00471 
00473 pa_operation* pa_context_get_card_info_list(pa_context *c, pa_card_info_cb_t cb, void *userdata);
00474 
00476 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);
00477 
00479 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);
00480 
00488 typedef struct pa_sink_input_info {
00489     uint32_t index;                      
00490     const char *name;                    
00491     uint32_t owner_module;               
00492     uint32_t client;                     
00493     uint32_t sink;                       
00494     pa_sample_spec sample_spec;          
00495     pa_channel_map channel_map;          
00496     pa_cvolume volume;                   
00497     pa_usec_t buffer_usec;               
00498     pa_usec_t sink_usec;                 
00499     const char *resample_method;         
00500     const char *driver;                  
00501     int mute;                            
00502     pa_proplist *proplist;               
00503 } pa_sink_input_info;
00504 
00506 typedef void (*pa_sink_input_info_cb_t) (pa_context *c, const pa_sink_input_info *i, int eol, void *userdata);
00507 
00509 pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
00510 
00512 pa_operation* pa_context_get_sink_input_info_list(pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
00513 
00515 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);
00516 
00518 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);
00519 
00521 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);
00522 
00524 pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mute, pa_context_success_cb_t cb, void *userdata);
00525 
00527 pa_operation* pa_context_kill_sink_input(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00528 
00536 typedef struct pa_source_output_info {
00537     uint32_t index;                      
00538     const char *name;                    
00539     uint32_t owner_module;               
00540     uint32_t client;                     
00541     uint32_t source;                     
00542     pa_sample_spec sample_spec;          
00543     pa_channel_map channel_map;          
00544     pa_usec_t buffer_usec;               
00545     pa_usec_t source_usec;               
00546     const char *resample_method;         
00547     const char *driver;                  
00548     pa_proplist *proplist;               
00549 } pa_source_output_info;
00550 
00552 typedef void (*pa_source_output_info_cb_t) (pa_context *c, const pa_source_output_info *i, int eol, void *userdata);
00553 
00555 pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_source_output_info_cb_t cb, void *userdata);
00556 
00558 pa_operation* pa_context_get_source_output_info_list(pa_context *c, pa_source_output_info_cb_t cb, void *userdata);
00559 
00561 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);
00562 
00564 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);
00565 
00567 pa_operation* pa_context_kill_source_output(pa_context *c, uint32_t idx, pa_context_success_cb_t cb, void *userdata);
00568 
00576 typedef struct pa_stat_info {
00577     uint32_t memblock_total;           
00578     uint32_t memblock_total_size;      
00579     uint32_t memblock_allocated;       
00580     uint32_t memblock_allocated_size;  
00581     uint32_t scache_size;              
00582 } pa_stat_info;
00583 
00585 typedef void (*pa_stat_info_cb_t) (pa_context *c, const pa_stat_info *i, void *userdata);
00586 
00588 pa_operation* pa_context_stat(pa_context *c, pa_stat_info_cb_t cb, void *userdata);
00589 
00597 typedef struct pa_sample_info {
00598     uint32_t index;                       
00599     const char *name;                     
00600     pa_cvolume volume;                    
00601     pa_sample_spec sample_spec;           
00602     pa_channel_map channel_map;           
00603     pa_usec_t duration;                   
00604     uint32_t bytes;                       
00605     int lazy;                             
00606     const char *filename;                 
00607     pa_proplist *proplist;                
00608 } pa_sample_info;
00609 
00611 typedef void (*pa_sample_info_cb_t)(pa_context *c, const pa_sample_info *i, int eol, void *userdata);
00612 
00614 pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name, pa_sample_info_cb_t cb, void *userdata);
00615 
00617 pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, pa_sample_info_cb_t cb, void *userdata);
00618 
00620 pa_operation* pa_context_get_sample_info_list(pa_context *c, pa_sample_info_cb_t cb, void *userdata);
00621 
00629 typedef enum pa_autoload_type {
00630     PA_AUTOLOAD_SINK = 0,
00631     PA_AUTOLOAD_SOURCE = 1
00632 } pa_autoload_type_t;
00633 
00637 typedef struct pa_autoload_info {
00638     uint32_t index;               
00639     const char *name;             
00640     pa_autoload_type_t type;      
00641     const char *module;           
00642     const char *argument;         
00643 } pa_autoload_info;
00644 
00646 typedef void (*pa_autoload_info_cb_t)(pa_context *c, const pa_autoload_info *i, int eol, void *userdata);
00647 
00649 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;
00650 
00652 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;
00653 
00655 pa_operation* pa_context_get_autoload_info_list(pa_context *c, pa_autoload_info_cb_t cb, void *userdata) PA_GCC_DEPRECATED;
00656 
00658 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;
00659 
00661 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;
00662 
00664 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;
00665 
00670 PA_C_DECL_END
00671 
00672 #endif

Generated on Thu Sep 9 2010 22:49:59 for PulseAudio by  doxygen 1.7.1