PulseAudio  9.0
mainloop.h
Go to the documentation of this file.
00001 #ifndef foomainloophfoo
00002 #define foomainloophfoo
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, see <http://www.gnu.org/licenses/>.
00022 ***/
00023 
00024 #include <pulse/mainloop-api.h>
00025 #include <pulse/cdecl.h>
00026 
00027 PA_C_DECL_BEGIN
00028 
00029 struct pollfd;
00030 
00078 typedef struct pa_mainloop pa_mainloop;
00079 
00081 pa_mainloop *pa_mainloop_new(void);
00082 
00084 void pa_mainloop_free(pa_mainloop* m);
00085 
00089 int pa_mainloop_prepare(pa_mainloop *m, int timeout);
00090 
00092 int pa_mainloop_poll(pa_mainloop *m);
00093 
00096 int pa_mainloop_dispatch(pa_mainloop *m);
00097 
00099 int pa_mainloop_get_retval(pa_mainloop *m);
00100 
00107 int pa_mainloop_iterate(pa_mainloop *m, int block, int *retval);
00108 
00110 int pa_mainloop_run(pa_mainloop *m, int *retval);
00111 
00115 pa_mainloop_api* pa_mainloop_get_api(pa_mainloop*m);
00116 
00118 void pa_mainloop_quit(pa_mainloop *m, int retval);
00119 
00121 void pa_mainloop_wakeup(pa_mainloop *m);
00122 
00124 typedef int (*pa_poll_func)(struct pollfd *ufds, unsigned long nfds, int timeout, void*userdata);
00125 
00127 void pa_mainloop_set_poll_func(pa_mainloop *m, pa_poll_func poll_func, void *userdata);
00128 
00129 PA_C_DECL_END
00130 
00131 #endif