PulseAudio  9.0
mainloop-signal.h
Go to the documentation of this file.
00001 #ifndef foomainloopsignalhfoo
00002 #define foomainloopsignalhfoo
00003 
00004 /***
00005   This file is part of PulseAudio.
00006 
00007   Copyright 2004-2008 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 
00039 typedef struct pa_signal_event pa_signal_event;
00040 
00042 typedef void (*pa_signal_cb_t) (pa_mainloop_api *api, pa_signal_event*e, int sig, void *userdata);
00043 
00045 typedef void (*pa_signal_destroy_cb_t) (pa_mainloop_api *api, pa_signal_event*e, void *userdata);
00046 
00048 int pa_signal_init(pa_mainloop_api *api);
00049 
00051 void pa_signal_done(void);
00052 
00054 pa_signal_event* pa_signal_new(int sig, pa_signal_cb_t callback, void *userdata);
00055 
00057 void pa_signal_free(pa_signal_event *e);
00058 
00060 void pa_signal_set_destroy(pa_signal_event *e, pa_signal_destroy_cb_t callback);
00061 
00062 PA_C_DECL_END
00063 
00064 #endif