ManiaDrive/raydium/php_wrappers.c
2025-01-26 18:33:45 +01:00

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