7 void grn_ctx_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
13 zend_function_entry groonga_functions[] = {
23 zend_module_entry groonga_module_entry = {
24 STANDARD_MODULE_HEADER,
28 PHP_MSHUTDOWN(groonga),
30 PHP_RSHUTDOWN(groonga),
33 STANDARD_MODULE_PROPERTIES
36 #ifdef COMPILE_DL_GROONGA
37 ZEND_GET_MODULE(groonga)
41 PHP_MINIT_FUNCTION(groonga)
43 REGISTER_LONG_CONSTANT(
"GRN_CTX_USE_QL",
GRN_CTX_USE_QL, CONST_PERSISTENT | CONST_CS);
44 REGISTER_LONG_CONSTANT(
"GRN_CTX_BATCH_MODE",
GRN_CTX_BATCH_MODE, CONST_PERSISTENT | CONST_CS);
45 REGISTER_LONG_CONSTANT(
"GRN_ENC_DEFAULT",
GRN_ENC_DEFAULT, CONST_PERSISTENT | CONST_CS);
46 REGISTER_LONG_CONSTANT(
"GRN_ENC_NONE",
GRN_ENC_NONE, CONST_PERSISTENT | CONST_CS);
47 REGISTER_LONG_CONSTANT(
"GRN_ENC_EUC_JP",
GRN_ENC_EUC_JP, CONST_PERSISTENT | CONST_CS);
48 REGISTER_LONG_CONSTANT(
"GRN_ENC_UTF8",
GRN_ENC_UTF8, CONST_PERSISTENT | CONST_CS);
49 REGISTER_LONG_CONSTANT(
"GRN_ENC_SJIS",
GRN_ENC_SJIS, CONST_PERSISTENT | CONST_CS);
50 REGISTER_LONG_CONSTANT(
"GRN_ENC_LATIN1",
GRN_ENC_LATIN1, CONST_PERSISTENT | CONST_CS);
51 REGISTER_LONG_CONSTANT(
"GRN_ENC_KOI8R",
GRN_ENC_KOI8R, CONST_PERSISTENT | CONST_CS);
52 REGISTER_LONG_CONSTANT(
"GRN_CTX_MORE",
GRN_CTX_MORE, CONST_PERSISTENT | CONST_CS);
53 REGISTER_LONG_CONSTANT(
"GRN_CTX_TAIL",
GRN_CTX_TAIL, CONST_PERSISTENT | CONST_CS);
54 REGISTER_LONG_CONSTANT(
"GRN_CTX_HEAD",
GRN_CTX_HEAD, CONST_PERSISTENT | CONST_CS);
55 REGISTER_LONG_CONSTANT(
"GRN_CTX_QUIET",
GRN_CTX_QUIET, CONST_PERSISTENT | CONST_CS);
56 REGISTER_LONG_CONSTANT(
"GRN_CTX_QUIT",
GRN_CTX_QUIT, CONST_PERSISTENT | CONST_CS);
57 REGISTER_LONG_CONSTANT(
"GRN_CTX_FIN",
GRN_CTX_FIN, CONST_PERSISTENT | CONST_CS);
58 le_grn_ctx = zend_register_list_destructors_ex(
59 grn_ctx_dtor, NULL,
"grn_ctx", module_number);
67 PHP_MSHUTDOWN_FUNCTION(groonga)
74 PHP_RINIT_FUNCTION(groonga)
80 PHP_RSHUTDOWN_FUNCTION(groonga)
86 PHP_MINFO_FUNCTION(groonga)
88 php_info_print_box_start(0);
89 php_printf(
"<p>Groonga</p>\n");
90 php_printf(
"<p>Version 0.2 (ctx)</p>\n");
91 php_printf(
"<p><b>Authors:</b></p>\n");
92 php_printf(
"<p>yu <yu@irx.jp> (lead)</p>\n");
93 php_info_print_box_end();
105 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"|l", &flags) == FAILURE) {
113 res_id = ZEND_REGISTER_RESOURCE(return_value, ctx, le_grn_ctx);
114 RETURN_RESOURCE(res_id);
127 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"r", &res) == FAILURE) {
131 ZEND_FETCH_RESOURCE(ctx,
grn_ctx *, &res, res_id,
"grn_ctx", le_grn_ctx);
148 char *host =
"localhost";
154 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"rs|ll", &res, &host, &host_len, &port, &flags) == FAILURE) {
158 ZEND_FETCH_RESOURCE(ctx,
grn_ctx *, &res, res_id,
"grn_ctx", le_grn_ctx);
175 unsigned int query_len, qid;
179 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"rs|l", &res, &query, &query_len, &flags) == FAILURE) {
183 ZEND_FETCH_RESOURCE(ctx,
grn_ctx *, &res, res_id,
"grn_ctx", le_grn_ctx);
196 zval *res,*ret = NULL;
202 unsigned int str_len, qid;
207 array_init(return_value);
209 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
"r", &res) == FAILURE) {
213 ZEND_FETCH_RESOURCE(ctx,
grn_ctx *, &res, res_id,
"grn_ctx", le_grn_ctx);
221 add_next_index_long(ret, flags);
222 add_next_index_stringl(ret, str, str_len, 1);
224 add_index_zval(return_value, qid, ret);