Annotation of embedaddon/php/ext/skeleton/skeleton.c, revision 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>