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)
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)
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)
148# define HUGE_VAL ((double)INFINITY)
152# define HAVE_FINITE 1
153# define finite(x) isfinite(x)
160#ifndef HAVE_NEXTAFTER
171RUBY_EXTERN void *memmove(
void *,
const void *,
size_t);
190RUBY_EXTERN char *strstr(
const char *,
const char *);
194RUBY_EXTERN size_t strlcpy(
char *,
const char*,
size_t);
198RUBY_EXTERN size_t strlcat(
char *,
const char*,
size_t);
206# include <sys/types.h>
207# include <sys/socket.h>
208RUBY_EXTERN int ruby_getpeername(
int,
struct sockaddr *, socklen_t *);
209RUBY_EXTERN int ruby_getsockname(
int,
struct sockaddr *, socklen_t *);
214#ifndef HAVE_SETPROCTITLE
216RUBY_EXTERN void setproctitle(const
char *fmt, ...);
219#ifdef HAVE_EXPLICIT_BZERO
221#elif defined(SecureZeroMemory)
222# define explicit_bzero(b, len) SecureZeroMemory(b, len)
224RUBY_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" {.