00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 typedef int size_t;
00028
00029 typedef char * va_list;
00030 #define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
00031 #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
00032 #define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
00033 #define va_end(ap) ( ap = (va_list)0 )
00034
00035 #define CHAR_BIT 8
00036 #define SCHAR_MIN (-128)
00037 #define SCHAR_MAX 127
00038 #define UCHAR_MAX 0xff
00039
00040 #define SHRT_MIN (-32768)
00041 #define SHRT_MAX 32767
00042 #define USHRT_MAX 0xffff
00043 #define INT_MIN (-2147483647 - 1)
00044 #define INT_MAX 2147483647
00045 #define UINT_MAX 0xffffffff
00046 #define LONG_MIN (-2147483647L - 1)
00047 #define LONG_MAX 2147483647L
00048 #define ULONG_MAX 0xffffffffUL
00049
00050
00051 typedef int cmp_t(const void *, const void *);
00052 void qsort(void *a, size_t n, size_t es, cmp_t *cmp);
00053 void srand( unsigned seed );
00054 int rand( void );
00055
00056
00057 size_t strlen( const char *string );
00058 char *strcat( char *strDestination, const char *strSource );
00059 char *strcpy( char *strDestination, const char *strSource );
00060 int strcmp( const char *string1, const char *string2 );
00061 char *strchr( const char *string, int c );
00062 char *strstr( const char *string, const char *strCharSet );
00063 char *strncpy( char *strDest, const char *strSource, size_t count );
00064 int tolower( int c );
00065 int toupper( int c );
00066
00067 double atof( const char *string );
00068 double _atof( const char **stringPtr );
00069 int atoi( const char *string );
00070 int _atoi( const char **stringPtr );
00071
00072 int vsprintf( char *buffer, const char *fmt, va_list argptr );
00073 int sscanf( const char *buffer, const char *fmt, ... );
00074
00075
00076 void *memmove( void *dest, const void *src, size_t count );
00077 void *memset( void *dest, int c, size_t count );
00078 void *memcpy( void *dest, const void *src, size_t count );
00079
00080
00081 double ceil( double x );
00082 double floor( double x );
00083 double sqrt( double x );
00084 double sin( double x );
00085 double cos( double x );
00086 double atan2( double y, double x );
00087 double tan( double x );
00088 int abs( int n );
00089 double fabs( double x );
00090 double acos( double x );
00091