00001 #ifndef foomainloopsignalhfoo 00002 #define foomainloopsignalhfoo 00003 00004 /* $Id: mainloop-signal.h 2445 2008-05-15 23:34:41Z lennart $ */ 00005 00006 /*** 00007 This file is part of PulseAudio. 00008 00009 Copyright 2004-2008 Lennart Poettering 00010 Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB 00011 00012 PulseAudio is free software; you can redistribute it and/or modify 00013 it under the terms of the GNU Lesser General Public License as published 00014 by the Free Software Foundation; either version 2 of the License, 00015 or (at your option) any later version. 00016 00017 PulseAudio is distributed in the hope that it will be useful, but 00018 WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 General Public License for more details. 00021 00022 You should have received a copy of the GNU Lesser General Public License 00023 along with PulseAudio; if not, write to the Free Software 00024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00025 USA. 00026 ***/ 00027 00028 #include <pulse/mainloop-api.h> 00029 #include <pulse/cdecl.h> 00030 00031 PA_C_DECL_BEGIN 00032 00043 typedef struct pa_signal_event pa_signal_event; 00044 00045 typedef void (*pa_signal_cb_t) (pa_mainloop_api *api, pa_signal_event*e, int sig, void *userdata); 00046 00047 typedef void (*pa_signal_destroy_cb_t) (pa_mainloop_api *api, pa_signal_event*e, void *userdata); 00048 00050 int pa_signal_init(pa_mainloop_api *api); 00051 00053 void pa_signal_done(void); 00054 00056 pa_signal_event* pa_signal_new(int sig, pa_signal_cb_t callback, void *userdata); 00057 00059 void pa_signal_free(pa_signal_event *e); 00060 00062 void pa_signal_set_destroy(pa_signal_event *e, pa_signal_destroy_cb_t callback); 00063 00064 PA_C_DECL_END 00065 00066 #endif