Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals

missing.h

Go to the documentation of this file.
00001 /************************************************
00002 
00003   missing.h - prototype for *.c in ./missing, and
00004               for missing timeval struct
00005 
00006   $Author: matz $
00007   $Date: 2005/06/12 16:58:41 $
00008   created at: Sat May 11 23:46:03 JST 2002
00009 
00010 ************************************************/
00011 
00012 #ifndef MISSING_H
00013 #define MISSING_H
00014 
00015 #if defined(HAVE_SYS_TIME_H)
00016 #  include <sys/time.h>
00017 #elif !defined(_WIN32)
00018 #  define time_t long
00019 struct timeval {
00020     time_t tv_sec;      /* seconds */
00021     time_t tv_usec;     /* microseconds */
00022 };
00023 #endif
00024 #if defined(HAVE_SYS_TYPES_H)
00025 #  include <sys/types.h>
00026 #endif
00027 
00028 #ifndef HAVE_ACOSH
00029 extern double acosh (double);
00030 extern double asinh (double);
00031 extern double atanh (double);
00032 #endif
00033 
00034 #ifndef HAVE_CRYPT
00035 extern char *crypt (char *, char *);
00036 #endif
00037 
00038 #ifndef HAVE_DUP2
00039 extern int dup2 (int, int);
00040 #endif
00041 
00042 #ifndef HAVE_FINITE
00043 extern int finite (double);
00044 #endif
00045 
00046 #ifndef HAVE_FLOCK
00047 extern int flock (int, int);
00048 #endif
00049 
00050 /*
00051 #ifndef HAVE_FREXP
00052 extern double frexp (double, int *);
00053 #endif
00054 */
00055 
00056 #ifndef HAVE_HYPOT
00057 extern double hypot (double, double);
00058 #endif
00059 
00060 #ifndef HAVE_ERF
00061 extern double erf (double);
00062 extern double erfc (double);
00063 #endif
00064 
00065 #ifndef HAVE_ISINF
00066 # if defined(HAVE_FINITE) && defined(HAVE_ISNAN)
00067 # define isinf(x) (!finite(x) && !isnan(x))
00068 # else
00069 extern int isinf (double);
00070 # endif
00071 #endif
00072 
00073 #ifndef HAVE_ISNAN
00074 extern int isnan (double);
00075 #endif
00076 
00077 /*
00078 #ifndef HAVE_MEMCMP
00079 extern int memcmp (char *, char *, int);
00080 #endif
00081 */
00082 
00083 #ifndef HAVE_MEMMOVE
00084 extern void *memmove (void *, void *, int);
00085 #endif
00086 
00087 /*
00088 #ifndef HAVE_MODF
00089 extern double modf (double, double *);
00090 #endif
00091 */
00092 
00093 #ifndef HAVE_STRCASECMP
00094 extern int strcasecmp (char *, char *);
00095 #endif
00096 
00097 #ifndef HAVE_STRNCASECMP
00098 extern int strncasecmp (char *, char *, int);
00099 #endif
00100 
00101 #ifndef HAVE_STRCHR
00102 extern char *strchr (char *, int);
00103 extern char *strrchr (char *, int);
00104 #endif
00105 
00106 #ifndef HAVE_STRERROR
00107 extern char *strerror (int);
00108 #endif
00109 
00110 #ifndef HAVE_STRFTIME
00111 extern size_t strftime (char *, size_t, const char *, const struct tm *);
00112 #endif
00113 
00114 #ifndef HAVE_STRSTR
00115 extern char *strstr (char *, char *);
00116 #endif
00117 
00118 /*
00119 #ifndef HAVE_STRTOL
00120 extern long strtol (char *, char **, int);
00121 #endif
00122 */
00123 
00124 #ifndef HAVE_STRTOUL
00125 extern unsigned long strtoul (char *, char **, int);
00126 #endif
00127 
00128 #ifndef HAVE_VSNPRINTF
00129 # ifdef HAVE_STDARG_PROTOTYPES
00130 #  include <stdarg.h>
00131 # else
00132 #  include <varargs.h>
00133 # endif
00134 extern int snprintf (char *, size_t n, char const *, ...);
00135 extern int vsnprintf (char *, size_t n, char const *, va_list);
00136 #endif
00137 
00138 #endif /* MISSING_H */
00139 

Generated on Wed Jan 18 23:32:04 2006 for Ruby by doxygen 1.3.5