2#define RUBY_MISSING_H 1
19#if defined(__cplusplus)
25#ifdef RUBY_ALTERNATIVE_MALLOC_HEADER
26# include RUBY_ALTERNATIVE_MALLOC_HEADER
29#if defined(HAVE_TIME_H)
33#if defined(HAVE_SYS_TIME_H)
44# define M_PI 3.14159265358979323846
47# define M_PI_2 (M_PI/2)
50#if !defined(HAVE_STRUCT_TIMEVAL)
57#if !defined(HAVE_STRUCT_TIMESPEC)
68#if !defined(HAVE_STRUCT_TIMEZONE)
134#if !defined(INFINITY) || !defined(NAN)
144# define INFINITY (rb_infinity.float_value)
145# define USE_RB_INFINITY 1
151# define NAN (rb_nan.float_value)
156# define HUGE_VAL ((double)INFINITY)
161#elif defined(HAVE_ISINF)
163#elif defined(HAVE_FINITE) && defined(HAVE_ISNAN)
164# define isinf(x) (!finite(x) && !isnan(x))
165#elif defined(__cplusplus) && __cplusplus >= 201103L
173#elif defined(HAVE_ISNAN)
175#elif defined(__cplusplus) && __cplusplus >= 201103L
183#elif defined(HAVE_ISFINITE)
186# define HAVE_ISFINITE 1
187# define isfinite(x) finite(x)
194#ifndef HAVE_NEXTAFTER
244# include <sys/types.h>
245# include <sys/socket.h>
252#ifndef HAVE_SETPROCTITLE
256#ifdef HAVE_EXPLICIT_BZERO
258#elif defined(SecureZeroMemory)
259# define explicit_bzero(b, len) SecureZeroMemory(b, len)
int ruby_getpeername(int s, struct sockaddr *name, socklen_t *namelen)
int ruby_getsockname(int s, struct sockaddr *name, socklen_t *namelen)
int ruby_shutdown(int s, int how)
Tewaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Thin wrapper to ruby/config.h.
int eaccess(const char *, int)
const union bytesequence4_or_float rb_infinity
double hypot(double, double)
char * strstr(const char *, const char *)
char * strrchr(const char *, int)
size_t strlcat(char *, const char *, size_t)
size_t strlcpy(char *, const char *, size_t)
void * memmove(void *, const void *, size_t)
char * strchr(const char *, int)
char * crypt(const char *, const char *)
double lgamma_r(double, int *)
const union bytesequence4_or_float rb_nan
double nextafter(double x, double y)
void explicit_bzero(void *b, size_t len)
void setproctitle(const char *fmt,...)
Internal header for Math.
unsigned char bytesequence[4]