13#include <sys/select.h>
19#include <sys/socket.h>
25#ifndef SINGULAR_SI_SIGNALS_H
26#define SINGULAR_SI_SIGNALS_H
28#define SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, newfunc, func, decl, args, err_domain) \
29static inline return_type newfunc decl \
35 } while((res err_domain) && (errno == EINTR));\
39#define SI_EINTR_SAVE_FUNC(return_type, func, decl, args) \
40 SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, < 0)
42#define SI_EINTR_SAVE_SCANF(return_type, func, decl, args) \
43 SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, == EOF)
80#define SI_GET_FIFTH(_4,_3, _2, _1, N, ...) N
81#define si_open(...) SI_GET_FIFTH(X,##__VA_ARGS__, si_open2, si_open1)(__VA_ARGS__)
111static inline unsigned int
133int si_scanf(
const char *format, ...)
157 (
const char *str,
const char *format,
va_list ap),
161si_sscanf(
const char *str,
const char *format, ...)
184#ifdef HAVE_SIGINTERRUPT
188#define si_siginterrupt(arg1, arg2)
199#undef SI_EINTR_SAVE_FUNC
void select(const ListCFList &ppi, int length, ListCFList &ppi1, ListCFList &ppi2)
void rem(unsigned long *a, unsigned long *q, unsigned long p, int °a, int degq)
int status int void size_t count write
#define SI_EINTR_SAVE_FUNC(return_type, func, decl, args)
#define SI_EINTR_SAVE_SCANF(return_type, func, decl, args)
#define SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, newfunc, func, decl, args, err_domain)
int status int void size_t count int const void size_t count const char int flags
int status int void size_t count
int status int void * buf
int status int void size_t count int const void size_t count open
int status int void size_t count int const void size_t count si_open1
int status int void size_t count int const void size_t count const char * pathname