iosignal.h revision 285612
1#ifndef IOSIGNAL_H 2#define IOSIGNAL_H 3 4#include "ntp_refclock.h" 5 6 /* 7 * Some systems (MOST) define SIGPOLL == SIGIO, others SIGIO == SIGPOLL, and 8 * a few have separate SIGIO and SIGPOLL signals. This code checks for the 9 * SIGIO == SIGPOLL case at compile time. 10 * Do not define USE_SIGPOLL or USE_SIGIO. 11 * these are interal only to iosignal.c and ntpd/work_fork.c! 12 */ 13#if defined(USE_SIGPOLL) 14# undef USE_SIGPOLL 15#endif 16#if defined(USE_SIGIO) 17# undef USE_SIGIO 18#endif 19 20/* type of input handler function - only shared between iosignal.c and ntp_io.c */ 21typedef void (input_handler_t)(l_fp *); 22 23#if defined(HAVE_SIGNALED_IO) 24# if defined(USE_TTY_SIGPOLL) || defined(USE_UDP_SIGPOLL) 25# define USE_SIGPOLL 26# endif 27 28# if !defined(USE_TTY_SIGPOLL) || !defined(USE_UDP_SIGPOLL) 29# define USE_SIGIO 30# endif 31 32# if defined(USE_SIGIO) && defined(USE_SIGPOLL) 33# if SIGIO == SIGPOLL 34# define USE_SIGIO 35# undef USE_SIGPOLL 36# endif /* SIGIO == SIGPOLL */ 37# endif /* USE_SIGIO && USE_SIGPOLL */ 38 39#define USING_SIGIO() using_sigio 40 41extern int using_sigio; 42 43extern void block_sigio (void); 44extern void unblock_sigio (void); 45extern int init_clock_sig (struct refclockio *); 46extern void init_socket_sig (int); 47extern void set_signal (input_handler_t *); 48 49# define BLOCKIO() block_sigio() 50# define UNBLOCKIO() unblock_sigio() 51 52#else /* !HAVE_SIGNALED_IO follows */ 53# define BLOCKIO() do {} while (0) 54# define UNBLOCKIO() do {} while (0) 55# define USING_SIGIO() FALSE 56#endif 57 58#endif /* IOSIGNAL_H */ 59