2 #define RUBY_MISSING_H 1
12 #include "ruby/internal/config.h"
18 #if defined(__cplusplus)
24 #ifdef RUBY_ALTERNATIVE_MALLOC_HEADER
25 # include RUBY_ALTERNATIVE_MALLOC_HEADER
28 #if defined(HAVE_TIME_H)
32 #if defined(HAVE_SYS_TIME_H)
33 # include <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)
84 RUBY_EXTERN char *crypt(
const char *,
const char *);
118 #ifndef HAVE_LGAMMA_R
126 #if !defined(INFINITY) || !defined(NAN)
128 unsigned char bytesequence[4];
136 # define INFINITY (rb_infinity.float_value)
137 # define USE_RB_INFINITY 1
143 # define NAN (rb_nan.float_value)
144 # define USE_RB_NAN 1
148 # define HUGE_VAL ((double)INFINITY)
152 # define HAVE_FINITE 1
153 # define finite(x) isfinite(x)
160 #ifndef HAVE_NEXTAFTER
171 RUBY_EXTERN void *memmove(
void *,
const void *,
size_t);
185 #ifndef HAVE_STRERROR
190 RUBY_EXTERN char *strstr(
const char *,
const char *);
194 RUBY_EXTERN size_t strlcpy(
char *,
const char*,
size_t);
198 RUBY_EXTERN size_t strlcat(
char *,
const char*,
size_t);
206 # include <sys/types.h>
207 # include <sys/socket.h>
208 RUBY_EXTERN int ruby_getpeername(
int,
struct sockaddr *, socklen_t *);
209 RUBY_EXTERN int ruby_getsockname(
int,
struct sockaddr *, socklen_t *);
214 #ifndef HAVE_SETPROCTITLE
216 RUBY_EXTERN void setproctitle(const
char *fmt, ...);
219 #ifdef HAVE_EXPLICIT_BZERO
221 #elif defined(SecureZeroMemory)
222 # define explicit_bzero(b, len) SecureZeroMemory(b, len)
224 RUBY_EXTERN void explicit_bzero(
void *b,
size_t len);
Tweaking visibility of C variables/functions.
#define RUBY_EXTERN
Declaration of externally visible global variables.
#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" {.