freebsd-nq/include/iosignal.h
Cy Schubert b5e14a1344 Vendor import ntp 4.2.8.
Reviewed by:	roberto
Security:	VUXML: 4033d826-87dd-11e4-9079-3c970e169bc2
Security:	http://www.kb.cert.org/vuls/id/852879
Security:	CVE-2014-9293
Security	CVE-2014-9294
Security	CVE-2014-9295
Security	CVE-2014-9296
2014-12-20 22:52:39 +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 */