Annotation of embedaddon/php/ext/skeleton/skeleton.c, revision 1.1.1.1

1.1       misho       1: /* __header_here__ */
                      2: 
                      3: #ifdef HAVE_CONFIG_H
                      4: #include "config.h"
                      5: #endif
                      6: 
                      7: #include "php.h"
                      8: #include "php_ini.h"
                      9: #include "ext/standard/info.h"
                     10: #include "php_extname.h"
                     11: 
                     12: /* If you declare any globals in php_extname.h uncomment this:
                     13: ZEND_DECLARE_MODULE_GLOBALS(extname)
                     14: */
                     15: 
                     16: /* True global resources - no need for thread safety here */
                     17: static int le_extname;
                     18: 
                     19: /* {{{ extname_functions[]
                     20:  *
                     21:  * Every user visible function must have an entry in extname_functions[].
                     22:  */
                     23: const zend_function_entry extname_functions[] = {
                     24:        PHP_FE(confirm_extname_compiled,        NULL)           /* For testing, remove later. */
                     25:        /* __function_entries_here__ */
                     26:        PHP_FE_END      /* Must be the last line in extname_functions[] */
                     27: };
                     28: /* }}} */
                     29: 
                     30: /* {{{ extname_module_entry
                     31:  */
                     32: zend_module_entry extname_module_entry = {
                     33: #if ZEND_MODULE_API_NO >= 20010901
                     34:        STANDARD_MODULE_HEADER,
                     35: #endif
                     36:        "extname",
                     37:        extname_functions,
                     38:        PHP_MINIT(extname),
                     39:        PHP_MSHUTDOWN(extname),
                     40:        PHP_RINIT(extname),             /* Replace with NULL if there's nothing to do at request start */
                     41:        PHP_RSHUTDOWN(extname), /* Replace with NULL if there's nothing to do at request end */
                     42:        PHP_MINFO(extname),
                     43: #if ZEND_MODULE_API_NO >= 20010901
                     44:        "0.1", /* Replace with version number for your extension */
                     45: #endif
                     46:        STANDARD_MODULE_PROPERTIES
                     47: };
                     48: /* }}} */
                     49: 
                     50: #ifdef COMPILE_DL_EXTNAME
                     51: ZEND_GET_MODULE(extname)
                     52: #endif
                     53: 
                     54: /* {{{ PHP_INI
                     55:  */
                     56: /* Remove comments and fill if you need to have entries in php.ini
                     57: PHP_INI_BEGIN()
                     58:     STD_PHP_INI_ENTRY("extname.global_value",      "42", PHP_INI_ALL, OnUpdateLong, global_value, zend_extname_globals, extname_globals)
                     59:     STD_PHP_INI_ENTRY("extname.global_string", "foobar", PHP_INI_ALL, OnUpdateString, global_string, zend_extname_globals, extname_globals)
                     60: PHP_INI_END()
                     61: */
                     62: /* }}} */
                     63: 
                     64: /* {{{ php_extname_init_globals
                     65:  */
                     66: /* Uncomment this function if you have INI entries
                     67: static void php_extname_init_globals(zend_extname_globals *extname_globals)
                     68: {
                     69:        extname_globals->global_value = 0;
                     70:        extname_globals->global_string = NULL;
                     71: }
                     72: */
                     73: /* }}} */
                     74: 
                     75: /* {{{ PHP_MINIT_FUNCTION
                     76:  */
                     77: PHP_MINIT_FUNCTION(extname)
                     78: {
                     79:        /* If you have INI entries, uncomment these lines 
                     80:        REGISTER_INI_ENTRIES();
                     81:        */
                     82:        return SUCCESS;
                     83: }
                     84: /* }}} */
                     85: 
                     86: /* {{{ PHP_MSHUTDOWN_FUNCTION
                     87:  */
                     88: PHP_MSHUTDOWN_FUNCTION(extname)
                     89: {
                     90:        /* uncomment this line if you have INI entries
                     91:        UNREGISTER_INI_ENTRIES();
                     92:        */
                     93:        return SUCCESS;
                     94: }
                     95: /* }}} */
                     96: 
                     97: /* Remove if there's nothing to do at request start */
                     98: /* {{{ PHP_RINIT_FUNCTION
                     99:  */
                    100: PHP_RINIT_FUNCTION(extname)
                    101: {
                    102:        return SUCCESS;
                    103: }
                    104: /* }}} */
                    105: 
                    106: /* Remove if there's nothing to do at request end */
                    107: /* {{{ PHP_RSHUTDOWN_FUNCTION
                    108:  */
                    109: PHP_RSHUTDOWN_FUNCTION(extname)
                    110: {
                    111:        return SUCCESS;
                    112: }
                    113: /* }}} */
                    114: 
                    115: /* {{{ PHP_MINFO_FUNCTION
                    116:  */
                    117: PHP_MINFO_FUNCTION(extname)
                    118: {
                    119:        php_info_print_table_start();
                    120:        php_info_print_table_header(2, "extname support", "enabled");
                    121:        php_info_print_table_end();
                    122: 
                    123:        /* Remove comments if you have entries in php.ini
                    124:        DISPLAY_INI_ENTRIES();
                    125:        */
                    126: }
                    127: /* }}} */
                    128: 
                    129: 
                    130: /* Remove the following function when you have succesfully modified config.m4
                    131:    so that your module can be compiled into PHP, it exists only for testing
                    132:    purposes. */
                    133: 
                    134: /* Every user-visible function in PHP should document itself in the source */
                    135: /* {{{ proto string confirm_extname_compiled(string arg)
                    136:    Return a string to confirm that the module is compiled in */
                    137: PHP_FUNCTION(confirm_extname_compiled)
                    138: {
                    139:        char *arg = NULL;
                    140:        int arg_len, len;
                    141:        char *strg;
                    142: 
                    143:        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
                    144:                return;
                    145:        }
                    146: 
                    147:        len = spprintf(&strg, 0, "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "extname", arg);
                    148:        RETURN_STRINGL(strg, len, 0);
                    149: }
                    150: /* }}} */
                    151: /* The previous line is meant for vim and emacs, so it can correctly fold and 
                    152:    unfold functions in source code. See the corresponding marks just before 
                    153:    function definition, where the functions purpose is also documented. Please 
                    154:    follow this convention for the convenience of others editing your code.
                    155: */
                    156: 
                    157: /* __function_stubs_here__ */
                    158: 
                    159: /*
                    160:  * Local variables:
                    161:  * tab-width: 4
                    162:  * c-basic-offset: 4
                    163:  * End:
                    164:  * vim600: noet sw=4 ts=4 fdm=marker
                    165:  * vim<600: noet sw=4 ts=4
                    166:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>