freebsd-skq/contrib/ntp/include/iosignal.h
Cy Schubert 2b15cb3d09 MFV ntp 4.2.8p1 (r258945, r275970, r276091, r276092, r276093, r278284)
Thanks to roberto for providing pointers to wedge this into HEAD.

Approved by:	roberto
2015-03-30 13:30:15 +00:00

59 lines
1.5 KiB
C

#ifndef IOSIGNAL_H
#define IOSIGNAL_H
#include "ntp_refclock.h"
/*
* Some systems (MOST) define SIGPOLL == SIGIO, others SIGIO == SIGPOLL, and
* a few have separate SIGIO and SIGPOLL signals. This code checks for the
* SIGIO == SIGPOLL case at compile time.
* Do not define USE_SIGPOLL or USE_SIGIO.
* these are interal only to iosignal.c and ntpd/work_fork.c!
*/
#if defined(USE_SIGPOLL)
# undef USE_SIGPOLL
#endif
#if defined(USE_SIGIO)
# undef USE_SIGIO
#endif
/* type of input handler function - only shared between iosignal.c and ntp_io.c */
typedef void (input_handler_t)(l_fp *);
#if defined(HAVE_SIGNALED_IO)
# if defined(USE_TTY_SIGPOLL) || defined(USE_UDP_SIGPOLL)
# define USE_SIGPOLL
# endif
# if !defined(USE_TTY_SIGPOLL) || !defined(USE_UDP_SIGPOLL)
# define USE_SIGIO
# endif
# if defined(USE_SIGIO) && defined(USE_SIGPOLL)
# if SIGIO == SIGPOLL
# define USE_SIGIO
# undef USE_SIGPOLL
# endif /* SIGIO == SIGPOLL */
# endif /* USE_SIGIO && USE_SIGPOLL */
#define USING_SIGIO() using_sigio
extern int using_sigio;
extern void block_sigio (void);
extern void unblock_sigio (void);
extern int init_clock_sig (struct refclockio *);
extern void init_socket_sig (int);
extern void set_signal (input_handler_t *);
# define BLOCKIO() block_sigio()
# define UNBLOCKIO() unblock_sigio()
#else /* !HAVE_SIGNALED_IO follows */
# define BLOCKIO() do {} while (0)
# define UNBLOCKIO() do {} while (0)
# define USING_SIGIO() FALSE
#endif
#endif /* IOSIGNAL_H */