11 #ifndef RUBY_MISSING_H
12 #define RUBY_MISSING_H 1
14 #if defined(__cplusplus)
21 #include "ruby/config.h"
25 #include RUBY_EXTCONF_H
28 #if !defined(HAVE_STRUCT_TIMEVAL) || !defined(HAVE_STRUCT_TIMESPEC)
29 #if defined(HAVE_TIME_H)
32 #if defined(HAVE_SYS_TIME_H)
33 # include <sys/time.h>
37 #ifndef RUBY_SYMBOL_EXPORT_BEGIN
38 # define RUBY_SYMBOL_EXPORT_BEGIN
39 # define RUBY_SYMBOL_EXPORT_END
42 #if !defined(HAVE_STRUCT_TIMEVAL)
49 #if !defined(HAVE_STRUCT_TIMESPEC)
56 #if !defined(HAVE_STRUCT_TIMEZONE)
67 #define RUBY_EXTERN extern
121 #ifndef HAVE_LGAMMA_R
129 #if !defined(INFINITY) || !defined(NAN)
137 # define HAVE_INFINITY
141 # define INFINITY (rb_infinity.float_value)
149 # define NAN (rb_nan.float_value)
154 # if defined(HAVE_FINITE) && defined(HAVE_ISNAN)
155 # ifdef HAVE_IEEEFP_H
158 # define isinf(x) (!finite(x) && !isnan(x))
192 #ifndef HAVE_STRERROR
223 #include <sys/types.h>
224 #include <sys/socket.h>
231 #ifndef HAVE_SETPROCTITLE
237 #if defined(__cplusplus)
RUBY_EXTERN int flock(int, int)
RUBY_EXTERN double erfc(double)
RUBY_EXTERN double erf(double)
int ruby_getpeername(int s, struct sockaddr *name, socklen_t *namelen)
RUBY_EXTERN int finite(double)
int ruby_getsockname(int s, struct sockaddr *name, socklen_t *namelen)
RUBY_EXTERN int signbit(double x)
RUBY_EXTERN void * memmove(void *, const void *, size_t)
RUBY_EXTERN double asinh(double)
RUBY_EXTERN double round(double)
RUBY_EXTERN size_t strlcpy(char *, const char *, size_t)
RUBY_EXTERN size_t strlcat(char *, const char *, size_t)
RUBY_SYMBOL_EXPORT_BEGIN RUBY_EXTERN double acosh(double)
RUBY_EXTERN double atanh(double)
RUBY_EXTERN double hypot(double, double)
RUBY_EXTERN int eaccess(const char *, int)
#define RUBY_SYMBOL_EXPORT_END
RUBY_EXTERN char * crypt(const char *, const char *)
char * strchr(char *, char)
#define RUBY_SYMBOL_EXPORT_BEGIN
RUBY_EXTERN double lgamma_r(double, int *)
RUBY_EXTERN int isinf(double)
RUBY_EXTERN void setproctitle(const char *fmt,...)
RUBY_EXTERN char * strerror(int)
int ruby_shutdown(int s, int how)
RUBY_EXTERN double tgamma(double)
RUBY_EXTERN char * strstr(const char *, const char *)
RUBY_EXTERN int dup2(int, int)
RUBY_EXTERN union bytesequence4_or_float rb_nan
RUBY_EXTERN double cbrt(double)
unsigned char bytesequence[4]
RUBY_EXTERN union bytesequence4_or_float rb_infinity
char * strrchr(const char *, const char)