542 lines
11 KiB
C
542 lines
11 KiB
C
/*
|
|
Raydium - CQFD Corp.
|
|
http://raydium.org/
|
|
License: GPL - GNU General Public License, see "gpl.txt" file.
|
|
*/
|
|
|
|
// C prototype to PHP function wrappers:
|
|
// PHP_ReturnType_Arg1TypeArg2Type...(function to wrap)
|
|
// v stands for: void
|
|
// i stands for: int
|
|
// f stands for: float
|
|
// s stands for: char *
|
|
// svaria stands for: (char *, ...)
|
|
// Don't forget to register your functions, too ! (see register.c or docs)
|
|
|
|
#ifndef PHP_WRAPPERS_C
|
|
#define PHP_WRAPPERS_C
|
|
|
|
// use this macro when registering your functions
|
|
#define C2PHP ZEND_FN
|
|
|
|
// void f(void)
|
|
#define PHP_v_v(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
fname();\
|
|
}
|
|
|
|
// void f(int)
|
|
#define PHP_v_i(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long a;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"l", &a) == FAILURE) return;\
|
|
fname(a);\
|
|
}
|
|
|
|
// void f(float)
|
|
#define PHP_v_f(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
double a;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"d", &a) == FAILURE) return;\
|
|
fname(a);\
|
|
}
|
|
|
|
// int f(void)
|
|
#define PHP_i_v(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
RETURN_LONG(fname());\
|
|
}
|
|
|
|
// int f(int)
|
|
#define PHP_i_i(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long a;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"l", &a) == FAILURE) return;\
|
|
RETURN_LONG(fname(a));\
|
|
}
|
|
|
|
// int f(int, int)
|
|
#define PHP_i_ii(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long a,b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ll", &a, &b) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b));\
|
|
}
|
|
|
|
// void f(int, int)
|
|
#define PHP_v_ii(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long a,b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ll", &a, &b) == FAILURE) return;\
|
|
fname(a,b);\
|
|
}
|
|
|
|
// void f(int,float)
|
|
#define PHP_v_if(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long a;\
|
|
double b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ld", &a, &b) == FAILURE) return;\
|
|
fname(a,b);\
|
|
}
|
|
|
|
// int f(int,float)
|
|
#define PHP_i_if(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long a;\
|
|
double b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ld", &a, &b) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b));\
|
|
}
|
|
|
|
// void f(float, float, float) - double, too
|
|
#define PHP_v_fff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
double a,b,c;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ddd", &a, &b, &c) == FAILURE) return;\
|
|
fname(a,b,c);\
|
|
}
|
|
|
|
// void f(float, float, float, float)
|
|
#define PHP_v_ffff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
double a,b,c,d;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"dddd", &a, &b, &c, &d) == FAILURE) return;\
|
|
fname(a,b,c,d);\
|
|
}
|
|
|
|
// int f(char *)
|
|
#define PHP_i_s(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"s", &a, &s_len) == FAILURE) return;\
|
|
RETURN_LONG(fname(a));\
|
|
}
|
|
|
|
// int f(char *, char*)
|
|
#define PHP_i_ss(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
char *b;\
|
|
long s_len;\
|
|
long s_len2;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ss", &a, &s_len, &b, &s_len2) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b));\
|
|
}
|
|
|
|
// float f(char *, int)
|
|
#define PHP_f_si(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
long b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sl", &a, &s_len, &b) == FAILURE) return;\
|
|
RETURN_DOUBLE(fname(a,b));\
|
|
}
|
|
|
|
// int f(char *, int)
|
|
#define PHP_i_si(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
long b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sl", &a, &s_len, &b) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b));\
|
|
}
|
|
|
|
// int f(char *, int, int)
|
|
#define PHP_i_sii(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
long b,c;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sll", &a, &s_len, &b, &c) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c));\
|
|
}
|
|
|
|
|
|
// void f(char *)
|
|
#define PHP_v_s(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"s", &a, &s_len) == FAILURE) return;\
|
|
fname(a);\
|
|
}
|
|
|
|
// int f(char *, char*, char *)
|
|
#define PHP_i_sss(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
char *b;\
|
|
char *c;\
|
|
long s_len;\
|
|
long s_len2;\
|
|
long s_len3;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sss", &a, &s_len, &b, &s_len2, &c, &s_len3) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c));\
|
|
}
|
|
|
|
// void f(char *, char*, char *)
|
|
#define PHP_v_sss(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
char *b;\
|
|
char *c;\
|
|
long s_len;\
|
|
long s_len2;\
|
|
long s_len3;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sss", &a, &s_len, &b, &s_len2, &c, &s_len3) == FAILURE) return;\
|
|
fname(a,b,c));\
|
|
}
|
|
|
|
// void f(char *, ...) - (printf style)
|
|
#define PHP_v_svaria(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"s", &a, &s_len) == FAILURE) return;\
|
|
fname("%s",a);\
|
|
}
|
|
|
|
|
|
// int f(char *, int, float, float, char *)
|
|
#define PHP_i_siffs(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long s_len1;\
|
|
long s_len2;\
|
|
char *a;\
|
|
long b;\
|
|
double c,d;\
|
|
char *e;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sldds", &a, &s_len1, &b, &c, &d, &e, &s_len2) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e));\
|
|
}
|
|
|
|
// int f(char *, int, float, float, char *, int)
|
|
#define PHP_i_siffsi(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long s_len1;\
|
|
long s_len2;\
|
|
char *a;\
|
|
long b;\
|
|
double c,d;\
|
|
char *e;\
|
|
long f;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"slddsl", &a, &s_len1, &b, &c, &d, &e, &s_len2, &f) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f));\
|
|
}
|
|
|
|
// int f(char *, int, float, float, char *, float, float, float)
|
|
#define PHP_i_siffsfff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long s_len1;\
|
|
long s_len2;\
|
|
char *a;\
|
|
long b;\
|
|
double c,d;\
|
|
char *e;\
|
|
double f,g,h;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"slddsddd", &a, &s_len1, &b, &c, &d, &e, &s_len2, &f, &g, &h) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f,g,h));\
|
|
}
|
|
|
|
|
|
// int f(char *, int, float, float, int, int, char *)
|
|
#define PHP_i_siffiis(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long s_len1;\
|
|
long s_len2;\
|
|
char *a;\
|
|
long b;\
|
|
double c,d;\
|
|
long e,f;\
|
|
char *g;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"slddlls", &a, &s_len1, &b, &c, &d, &e, &f, &g, &s_len2) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f,g));\
|
|
}
|
|
|
|
#define PHP_i_siffiii(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long s_len1;\
|
|
char *a;\
|
|
long b;\
|
|
double c,d;\
|
|
long e,f;\
|
|
long g;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"slddlll", &a, &s_len1, &b, &c, &d, &e, &f, &g) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f,g));\
|
|
}
|
|
|
|
// int f(char *, int, float, float, float, float, int, int, char *)
|
|
#define PHP_i_siffffiis(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
long s_len1;\
|
|
long s_len2;\
|
|
char *a;\
|
|
long b;\
|
|
double c,d,e,f;\
|
|
long g,h;\
|
|
char *i;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"slddddlls", &a, &s_len1, &b, &c, &d, &e, &f, &g, &h, &i, &s_len2) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f,g,h,i));\
|
|
}
|
|
|
|
|
|
// void f(char *, int)
|
|
#define PHP_v_si(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
long b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sl", &a, &s_len, &b) == FAILURE) return;\
|
|
fname(a,b);\
|
|
}
|
|
|
|
// int f(char *, float)
|
|
#define PHP_i_sf(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
double b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sd", &a, &s_len, &b) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b));\
|
|
}
|
|
|
|
|
|
// int f(char *, float, float)
|
|
#define PHP_i_sff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
double b,c;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sdd", &a, &s_len, &b, &c) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c));\
|
|
}
|
|
|
|
// void f(char *, float, float)
|
|
#define PHP_v_sff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
double b,c;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sdd", &a, &s_len, &b, &c) == FAILURE) return;\
|
|
fname(a,b,c);\
|
|
}
|
|
|
|
// void f(char *, float, float, float)
|
|
#define PHP_v_sfff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
double b,c,d;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sddd", &a, &s_len, &b, &c, &d) == FAILURE) return;\
|
|
fname(a,b,c,d);\
|
|
}
|
|
|
|
// void f(char *, float, float, float, float, float, float)
|
|
#define PHP_v_sffffff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len;\
|
|
double b,c,d;\
|
|
double e,f,g;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sdddddd", &a, &s_len, &b, &c, &d, &e, &f, &g) == FAILURE) return;\
|
|
fname(a,b,c,d,e,f,g);\
|
|
}
|
|
|
|
|
|
// void f(char *, char *, int)
|
|
#define PHP_v_ssi(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
long c;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ssl", &a, &s_len1, &b, &s_len2, &c) == FAILURE) return;\
|
|
fname(a,b,c);\
|
|
}
|
|
|
|
// void f(char *, char *, float)
|
|
#define PHP_v_ssf(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
double c;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ssd", &a, &s_len1, &b, &s_len2, &b, &c) == FAILURE) return;\
|
|
fname(a,b,c);\
|
|
}
|
|
|
|
// void f(char *, char *, float, float, float)
|
|
#define PHP_v_ssfff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
double c,d,e;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ssddd", &a, &s_len1, &b, &s_len2, &c, &d, &e) == FAILURE) return;\
|
|
fname(a,b,c,d,e);\
|
|
}
|
|
|
|
|
|
// void f(char *, char *)
|
|
#define PHP_v_ss(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ss", &a, &s_len1, &b, &s_len2, &b) == FAILURE) return;\
|
|
fname(a,b);\
|
|
}
|
|
|
|
|
|
// void f(char *, float)
|
|
#define PHP_v_sf(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
double b;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sd", &a, &s_len1, &b) == FAILURE) return;\
|
|
fname(a,b);\
|
|
}
|
|
|
|
// int f(char *, char *, char *, float, float, float, float, float, float)
|
|
#define PHP_i_sssffffff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
char *c;\
|
|
long s_len3;\
|
|
double d,e,f;\
|
|
double g,h,i;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sssdddddd", &a, &s_len1, &b, &s_len2,&c, &s_len3, &d, &e ,&f, &g, &h, &i) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f,g,h,i));\
|
|
}
|
|
|
|
// int f(char *, float, float, float, float)
|
|
#define PHP_i_sffff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
double b,c,d,e;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sdddd", &a, &s_len1, &b, &c, &d, &e) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e));\
|
|
}
|
|
|
|
// int f(char *, char *, float, float, float, float)
|
|
#define PHP_i_ssffff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
double c,d,e,f;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"ssdddd", &a, &s_len1, &b, &s_len2, &c, &d, &e ,&f) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f));\
|
|
}
|
|
|
|
// int f(char *, char *, float, float, float, float)
|
|
#define PHP_i_sssffff(fname)\
|
|
ZEND_FUNCTION(fname)\
|
|
{\
|
|
char *a;\
|
|
long s_len1;\
|
|
char *b;\
|
|
long s_len2;\
|
|
char *c;\
|
|
long s_len3;\
|
|
double d,e,f;\
|
|
double g;\
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,\
|
|
"sssdddd", &a, &s_len1, &b, &s_len2,&c, &s_len3, &d, &e ,&f, &g) == FAILURE) return;\
|
|
RETURN_LONG(fname(a,b,c,d,e,f,g));\
|
|
}
|
|
|
|
#endif
|