# PaCkAgE DaTaStReAm php 1 45912 # end of header 0707010008117b000081a40000000000000000000000014dc22385000000c60000010000010007ffffffffffffffff0000000c00000000php/pkginfoPKG=php NAME=php 5.3.6 SPARC 64bit Solaris 10 VERSION=5.3.6 PSTAMP=4th May 2011 EMAIL=http://php.net/downloads.php DESC=PHP scripting language ARCH=sparc CATEGORY=application CLASSES=none BASEDIR=/ 0707010008117a000081a40000000000000000000000014dc223850000b2fb0000010000010007ffffffffffffffff0000000b00000000php/pkgmap: 1 45912 1 d none /opt ? ? ? 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/bin 0755 root root 1 f none /usr/local/bin/pear 0755 root root 799 62128 1304492787 1 f none /usr/local/bin/peardev 0755 root root 820 63863 1304492787 1 f none /usr/local/bin/pecl 0755 root root 736 56562 1304492787 1 s none /usr/local/bin/phar=/usr/local/bin/phar.phar 1 f none /usr/local/bin/phar.phar 0755 root root 14796 38596 1304492788 1 f none /usr/local/bin/php 0755 root root 16013992 44586 1304492747 1 f none /usr/local/bin/php-config 0755 root root 3539 37688 1304492782 1 f none /usr/local/bin/phpize 0755 root root 4503 36811 1304492782 1 d none /usr/local/etc 0755 root root 1 f none /usr/local/etc/pear.conf 0644 root root 1118 26664 1304492788 1 d none /usr/local/include 0755 root root 1 d none /usr/local/include/php 0755 root root 1 d none /usr/local/include/php/TSRM 0755 root root 1 f none /usr/local/include/php/TSRM/TSRM.h 0644 root root 5337 37352 1304492778 1 f none /usr/local/include/php/TSRM/acconfig.h 0644 root root 16 1210 1304492778 1 f none /usr/local/include/php/TSRM/readdir.h 0644 root root 1102 22854 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_config.h 0644 root root 32 2749 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_config.w32.h 0644 root root 328 26029 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_config_common.h 0644 root root 1462 49255 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_nw.h 0644 root root 1384 23761 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_strtok_r.h 0644 root root 115 9536 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_virtual_cwd.h 0644 root root 12061 43893 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_win32.h 0644 root root 3247 46832 1304492778 1 d none /usr/local/include/php/Zend 0755 root root 1 f none /usr/local/include/php/Zend/acconfig.h 0644 root root 3464 59494 1304492775 1 f none /usr/local/include/php/Zend/zend.h 0644 root root 24589 1272 1304492775 1 f none /usr/local/include/php/Zend/zend_API.h 0644 root root 38662 13584 1304492775 1 f none /usr/local/include/php/Zend/zend_alloc.h 0644 root root 12512 28928 1304492775 1 f none /usr/local/include/php/Zend/zend_build.h 0644 root root 1627 44397 1304492775 1 f none /usr/local/include/php/Zend/zend_builtin_functions.h 0644 root root 1681 48084 1304492775 1 f none /usr/local/include/php/Zend/zend_closures.h 0644 root root 1850 64044 1304492775 1 f none /usr/local/include/php/Zend/zend_compile.h 0644 root root 29717 38996 1304492775 1 f none /usr/local/include/php/Zend/zend_config.h 0644 root root 107 8464 1304492776 1 f none /usr/local/include/php/Zend/zend_config.nw.h 0644 root root 2556 51243 1304492776 1 f none /usr/local/include/php/Zend/zend_config.w32.h 0644 root root 3125 35718 1304492776 1 f none /usr/local/include/php/Zend/zend_constants.h 0644 root root 5067 11333 1304492776 1 f none /usr/local/include/php/Zend/zend_dynamic_array.h 0644 root root 1964 8615 1304492776 1 f none /usr/local/include/php/Zend/zend_errors.h 0644 root root 2199 14600 1304492776 1 f none /usr/local/include/php/Zend/zend_exceptions.h 0644 root root 3076 37288 1304492776 1 f none /usr/local/include/php/Zend/zend_execute.h 0644 root root 13221 14149 1304492776 1 f none /usr/local/include/php/Zend/zend_extensions.h 0644 root root 4663 48158 1304492776 1 f none /usr/local/include/php/Zend/zend_fast_cache.h 0644 root root 4176 32557 1304492776 1 f none /usr/local/include/php/Zend/zend_float.h 0644 root root 15707 48285 1304492776 1 f none /usr/local/include/php/Zend/zend_gc.h 0644 root root 7453 28602 1304492776 1 f none /usr/local/include/php/Zend/zend_globals.h 0644 root root 7346 28030 1304492776 1 f none /usr/local/include/php/Zend/zend_globals_macros.h 0644 root root 3285 56268 1304492776 1 f none /usr/local/include/php/Zend/zend_hash.h 0644 root root 17413 45175 1304492776 1 f none /usr/local/include/php/Zend/zend_highlight.h 0644 root root 2527 51740 1304492776 1 f none /usr/local/include/php/Zend/zend_indent.h 0644 root root 1521 33270 1304492776 1 f none /usr/local/include/php/Zend/zend_ini.h 0644 root root 10089 44662 1304492776 1 f none /usr/local/include/php/Zend/zend_ini_parser.h 0644 root root 2695 14993 1304492776 1 f none /usr/local/include/php/Zend/zend_ini_scanner.h 0644 root root 2007 10167 1304492776 1 f none /usr/local/include/php/Zend/zend_ini_scanner_defs.h 0644 root root 254 18992 1304492776 1 f none /usr/local/include/php/Zend/zend_interfaces.h 0644 root root 4132 9344 1304492776 1 f none /usr/local/include/php/Zend/zend_istdiostream.h 0644 root root 1703 49143 1304492776 1 f none /usr/local/include/php/Zend/zend_iterators.h 0644 root root 3747 35952 1304492776 1 f none /usr/local/include/php/Zend/zend_language_parser.h 0644 root root 7777 15479 1304492776 1 f none /usr/local/include/php/Zend/zend_language_scanner.h 0644 root root 2495 56246 1304492776 1 f none /usr/local/include/php/Zend/zend_language_scanner_defs.h 0644 root root 326 24608 1304492776 1 f none /usr/local/include/php/Zend/zend_list.h 0644 root root 5213 31386 1304492776 1 f none /usr/local/include/php/Zend/zend_llist.h 0644 root root 4027 1303 1304492777 1 f none /usr/local/include/php/Zend/zend_modules.h 0644 root root 5094 3850 1304492777 1 f none /usr/local/include/php/Zend/zend_multibyte.h 0644 root root 3861 44773 1304492777 1 f none /usr/local/include/php/Zend/zend_multiply.h 0644 root root 2562 30888 1304492777 1 f none /usr/local/include/php/Zend/zend_object_handlers.h 0644 root root 8681 19232 1304492777 1 f none /usr/local/include/php/Zend/zend_objects.h 0644 root root 2267 36174 1304492777 1 f none /usr/local/include/php/Zend/zend_objects_API.h 0644 root root 4406 36631 1304492777 1 f none /usr/local/include/php/Zend/zend_operators.h 0644 root root 15816 64895 1304492777 1 f none /usr/local/include/php/Zend/zend_ptr_stack.h 0644 root root 4135 56193 1304492777 1 f none /usr/local/include/php/Zend/zend_qsort.h 0644 root root 1512 35318 1304492777 1 f none /usr/local/include/php/Zend/zend_stack.h 0644 root root 2431 48537 1304492777 1 f none /usr/local/include/php/Zend/zend_static_allocator.h 0644 root root 1918 5917 1304492777 1 f none /usr/local/include/php/Zend/zend_stream.h 0644 root root 3001 23208 1304492777 1 f none /usr/local/include/php/Zend/zend_strtod.h 0644 root root 1829 64402 1304492777 1 f none /usr/local/include/php/Zend/zend_ts_hash.h 0644 root root 7077 1527 1304492777 1 f none /usr/local/include/php/Zend/zend_types.h 0644 root root 2368 46037 1304492777 1 f none /usr/local/include/php/Zend/zend_variables.h 0644 root root 4088 3397 1304492777 1 f none /usr/local/include/php/Zend/zend_vm.h 0644 root root 1435 31557 1304492777 1 f none /usr/local/include/php/Zend/zend_vm_def.h 0644 root root 134565 6076 1304492777 1 f none /usr/local/include/php/Zend/zend_vm_execute.h 0644 root root 1061735 34920 1304492777 1 f none /usr/local/include/php/Zend/zend_vm_opcodes.h 0644 root root 7914 56088 1304492777 1 d none /usr/local/include/php/ext 0755 root root 1 d none /usr/local/include/php/ext/date 0755 root root 1 d none /usr/local/include/php/ext/date/lib 0755 root root 1 f none /usr/local/include/php/ext/date/lib/timelib.h 0644 root root 5886 40128 1304492758 1 f none /usr/local/include/php/ext/date/lib/timelib_config.h 0644 root root 80 6423 1304492758 1 f none /usr/local/include/php/ext/date/lib/timelib_structs.h 0644 root root 6341 33034 1304492758 1 f none /usr/local/include/php/ext/date/php_date.h 0644 root root 5748 64150 1304492758 1 d none /usr/local/include/php/ext/dom 0755 root root 1 f none /usr/local/include/php/ext/dom/xml_common.h 0644 root root 3765 20346 1304492760 1 d none /usr/local/include/php/ext/ereg 0755 root root 1 f none /usr/local/include/php/ext/ereg/php_ereg.h 0644 root root 2001 9744 1304492758 1 f none /usr/local/include/php/ext/ereg/php_regex.h 0644 root root 2078 10764 1304492758 1 d none /usr/local/include/php/ext/ereg/regex 0755 root root 1 f none /usr/local/include/php/ext/ereg/regex/cclass.h 0644 root root 992 6590 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/cname.h 0644 root root 2070 6899 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/regex.h 0644 root root 2165 33927 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/regex2.h 0644 root root 5536 42460 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/utils.h 0644 root root 501 39192 1304492759 1 d none /usr/local/include/php/ext/filter 0755 root root 1 f none /usr/local/include/php/ext/filter/php_filter.h 0644 root root 3609 15613 1304492760 1 d none /usr/local/include/php/ext/gd 0755 root root 1 f none /usr/local/include/php/ext/gd/gdcache.h 0644 root root 2866 38464 1304492760 1 d none /usr/local/include/php/ext/gd/libgd 0755 root root 1 f none /usr/local/include/php/ext/gd/libgd/gd.h 0644 root root 26208 12437 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gd_compat.h 0644 root root 1762 21786 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gd_intern.h 0644 root root 261 17896 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gd_io.h 0644 root root 950 13099 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdcache.h 0644 root root 2716 27851 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontg.h 0644 root root 529 43358 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontl.h 0644 root root 527 43410 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontmb.h 0644 root root 495 40471 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfonts.h 0644 root root 491 40278 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontt.h 0644 root root 522 42891 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdhelpers.h 0644 root root 1351 52229 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/jisx0208.h 0644 root root 71350 42899 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/wbmp.h 0644 root root 1283 32935 1304492762 1 f none /usr/local/include/php/ext/gd/php_gd.h 0644 root root 6228 17604 1304492760 1 d none /usr/local/include/php/ext/hash 0755 root root 1 f none /usr/local/include/php/ext/hash/php_hash.h 0644 root root 5123 21471 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_adler32.h 0644 root root 1881 63017 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_crc32.h 0644 root root 1955 3953 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_gost.h 0644 root root 1794 56034 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_haval.h 0644 root root 2315 26590 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_md.h 0644 root root 3945 40298 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_ripemd.h 0644 root root 3123 28815 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_salsa.h 0644 root root 1969 4204 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_sha.h 0644 root root 3934 27471 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_snefru.h 0644 root root 1911 65000 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_tiger.h 0644 root root 2057 12281 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_types.h 0644 root root 2196 24122 1304492764 1 f none /usr/local/include/php/ext/hash/php_hash_whirlpool.h 0644 root root 1828 57892 1304492763 1 d none /usr/local/include/php/ext/iconv 0755 root root 1 f none /usr/local/include/php/ext/iconv/php_have_bsd_iconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_glibc_iconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_ibm_iconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_iconv.h 0644 root root 21 1547 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_libiconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_iconv.h 0644 root root 4149 47589 1304492765 1 f none /usr/local/include/php/ext/iconv/php_iconv_aliased_libiconv.h 0644 root root 1 10 1304492765 1 f none /usr/local/include/php/ext/iconv/php_iconv_supports_errno.h 0644 root root 31 2396 1304492765 1 f none /usr/local/include/php/ext/iconv/php_php_iconv_h_path.h 0644 root root 54 4613 1304492765 1 f none /usr/local/include/php/ext/iconv/php_php_iconv_impl.h 0644 root root 1 10 1304492765 1 d none /usr/local/include/php/ext/json 0755 root root 1 f none /usr/local/include/php/ext/json/php_json.h 0644 root root 2408 40044 1304492765 1 d none /usr/local/include/php/ext/libxml 0755 root root 1 f none /usr/local/include/php/ext/libxml/php_libxml.h 0644 root root 4406 28001 1304492759 1 d none /usr/local/include/php/ext/pcre 0755 root root 1 f none /usr/local/include/php/ext/pcre/php_pcre.h 0644 root root 3280 57860 1304492759 1 d none /usr/local/include/php/ext/pdo 0755 root root 1 f none /usr/local/include/php/ext/pdo/php_pdo.h 0644 root root 3138 34471 1304492788 1 f none /usr/local/include/php/ext/pdo/php_pdo_driver.h 0644 root root 24209 8692 1304492788 1 d none /usr/local/include/php/ext/session 0755 root root 1 f none /usr/local/include/php/ext/session/mod_files.h 0644 root root 1343 20957 1304492765 1 f none /usr/local/include/php/ext/session/mod_user.h 0644 root root 1336 20433 1304492766 1 f none /usr/local/include/php/ext/session/php_session.h 0644 root root 8261 51721 1304492765 1 d none /usr/local/include/php/ext/sockets 0755 root root 1 f none /usr/local/include/php/ext/sockets/php_sockets.h 0644 root root 3849 31586 1304492766 1 d none /usr/local/include/php/ext/spl 0755 root root 1 f none /usr/local/include/php/ext/spl/php_spl.h 0644 root root 2825 10191 1304492766 1 f none /usr/local/include/php/ext/spl/spl_array.h 0644 root root 1825 62113 1304492766 1 f none /usr/local/include/php/ext/spl/spl_directory.h 0644 root root 6008 61896 1304492766 1 f none /usr/local/include/php/ext/spl/spl_dllist.h 0644 root root 1628 43752 1304492767 1 f none /usr/local/include/php/ext/spl/spl_engine.h 0644 root root 2417 46769 1304492766 1 f none /usr/local/include/php/ext/spl/spl_exceptions.h 0644 root root 2266 38955 1304492767 1 f none /usr/local/include/php/ext/spl/spl_fixedarray.h 0644 root root 1583 38205 1304492768 1 f none /usr/local/include/php/ext/spl/spl_functions.h 0644 root root 4550 39639 1304492767 1 f none /usr/local/include/php/ext/spl/spl_heap.h 0644 root root 1668 47292 1304492767 1 f none /usr/local/include/php/ext/spl/spl_iterators.h 0644 root root 5529 27271 1304492767 1 f none /usr/local/include/php/ext/spl/spl_observer.h 0644 root root 1697 50265 1304492767 1 d none /usr/local/include/php/ext/sqlite 0755 root root 1 d none /usr/local/include/php/ext/sqlite/libsqlite 0755 root root 1 d none /usr/local/include/php/ext/sqlite/libsqlite/src 0755 root root 1 f none /usr/local/include/php/ext/sqlite/libsqlite/src/sqlite.h 0644 root root 38776 52809 1304492768 1 d none /usr/local/include/php/ext/sqlite3 0755 root root 1 d none /usr/local/include/php/ext/sqlite3/libsqlite 0755 root root 1 f none /usr/local/include/php/ext/sqlite3/libsqlite/sqlite3.h 0644 root root 295268 23423 1304492760 1 d none /usr/local/include/php/ext/standard 0755 root root 1 f none /usr/local/include/php/ext/standard/base64.h 0644 root root 1658 45110 1304492770 1 f none /usr/local/include/php/ext/standard/basic_functions.h 0644 root root 7007 42670 1304492770 1 f none /usr/local/include/php/ext/standard/crc32.h 0644 root root 4940 63771 1304492770 1 f none /usr/local/include/php/ext/standard/credits.h 0644 root root 1784 48850 1304492770 1 f none /usr/local/include/php/ext/standard/credits_ext.h 0644 root root 5622 64237 1304492770 1 f none /usr/local/include/php/ext/standard/credits_sapi.h 0644 root root 1574 60152 1304492770 1 f none /usr/local/include/php/ext/standard/crypt_freesec.h 0644 root root 1002 17346 1304492770 1 f none /usr/local/include/php/ext/standard/css.h 0644 root root 1282 15329 1304492771 1 f none /usr/local/include/php/ext/standard/cyr_convert.h 0644 root root 1320 17706 1304492771 1 f none /usr/local/include/php/ext/standard/datetime.h 0644 root root 1446 25595 1304492771 1 f none /usr/local/include/php/ext/standard/dl.h 0644 root root 1652 41986 1304492771 1 f none /usr/local/include/php/ext/standard/exec.h 0644 root root 1748 54050 1304492771 1 f none /usr/local/include/php/ext/standard/file.h 0644 root root 4453 16353 1304492771 1 f none /usr/local/include/php/ext/standard/flock_compat.h 0644 root root 2172 20546 1304492771 1 f none /usr/local/include/php/ext/standard/fsock.h 0644 root root 1655 39420 1304492771 1 f none /usr/local/include/php/ext/standard/head.h 0644 root root 1673 48793 1304492771 1 f none /usr/local/include/php/ext/standard/html.h 0644 root root 2260 32445 1304492771 1 f none /usr/local/include/php/ext/standard/info.h 0644 root root 3753 11131 1304492771 1 f none /usr/local/include/php/ext/standard/md5.h 0644 root root 2212 26307 1304492771 1 f none /usr/local/include/php/ext/standard/microtime.h 0644 root root 1414 25860 1304492771 1 f none /usr/local/include/php/ext/standard/pack.h 0644 root root 1323 17892 1304492771 1 f none /usr/local/include/php/ext/standard/pageinfo.h 0644 root root 1513 34345 1304492771 1 f none /usr/local/include/php/ext/standard/php_array.h 0644 root root 4430 6593 1304492771 1 f none /usr/local/include/php/ext/standard/php_assert.h 0644 root root 1479 30770 1304492771 1 f none /usr/local/include/php/ext/standard/php_browscap.h 0644 root root 1380 22404 1304492771 1 f none /usr/local/include/php/ext/standard/php_crypt.h 0644 root root 1610 36644 1304492771 1 f none /usr/local/include/php/ext/standard/php_crypt_r.h 0644 root root 2178 27015 1304492771 1 f none /usr/local/include/php/ext/standard/php_dir.h 0644 root root 1653 43842 1304492771 1 f none /usr/local/include/php/ext/standard/php_dns.h 0644 root root 2932 12600 1304492771 1 f none /usr/local/include/php/ext/standard/php_ext_syslog.h 0644 root root 1603 40934 1304492771 1 f none /usr/local/include/php/ext/standard/php_filestat.h 0644 root root 3410 53060 1304492771 1 f none /usr/local/include/php/ext/standard/php_fopen_wrappers.h 0644 root root 2000 12724 1304492771 1 f none /usr/local/include/php/ext/standard/php_ftok.h 0644 root root 1312 17299 1304492771 1 f none /usr/local/include/php/ext/standard/php_http.h 0644 root root 1838 60464 1304492771 1 f none /usr/local/include/php/ext/standard/php_image.h 0644 root root 2435 37145 1304492772 1 f none /usr/local/include/php/ext/standard/php_incomplete_class.h 0644 root root 2571 53828 1304492772 1 f none /usr/local/include/php/ext/standard/php_iptc.h 0644 root root 1322 18008 1304492772 1 f none /usr/local/include/php/ext/standard/php_lcg.h 0644 root root 1583 40325 1304492772 1 f none /usr/local/include/php/ext/standard/php_link.h 0644 root root 1419 23438 1304492772 1 f none /usr/local/include/php/ext/standard/php_mail.h 0644 root root 1455 29201 1304492772 1 f none /usr/local/include/php/ext/standard/php_math.h 0644 root root 4687 61812 1304492772 1 f none /usr/local/include/php/ext/standard/php_metaphone.h 0644 root root 1296 16193 1304492772 1 f none /usr/local/include/php/ext/standard/php_rand.h 0644 root root 2651 45111 1304492772 1 f none /usr/local/include/php/ext/standard/php_smart_str.h 0644 root root 6584 10198 1304492772 1 f none /usr/local/include/php/ext/standard/php_smart_str_public.h 0644 root root 1379 23783 1304492772 1 f none /usr/local/include/php/ext/standard/php_standard.h 0644 root root 2293 34209 1304492772 1 f none /usr/local/include/php/ext/standard/php_string.h 0644 root root 6170 31798 1304492772 1 f none /usr/local/include/php/ext/standard/php_type.h 0644 root root 1640 44520 1304492772 1 f none /usr/local/include/php/ext/standard/php_uuencode.h 0644 root root 1549 36361 1304492772 1 f none /usr/local/include/php/ext/standard/php_var.h 0644 root root 5639 20384 1304492772 1 f none /usr/local/include/php/ext/standard/php_versioning.h 0644 root root 1460 30997 1304492772 1 f none /usr/local/include/php/ext/standard/proc_open.h 0644 root root 1900 4067 1304492772 1 f none /usr/local/include/php/ext/standard/quot_print.h 0644 root root 1592 43197 1304492772 1 f none /usr/local/include/php/ext/standard/scanf.h 0644 root root 2369 28917 1304492772 1 f none /usr/local/include/php/ext/standard/sha1.h 0644 root root 1795 55825 1304492772 1 f none /usr/local/include/php/ext/standard/streamsfuncs.h 0644 root root 2864 23963 1304492772 1 f none /usr/local/include/php/ext/standard/uniqid.h 0644 root root 1318 17308 1304492772 1 f none /usr/local/include/php/ext/standard/url.h 0644 root root 2316 34943 1304492772 1 f none /usr/local/include/php/ext/standard/url_scanner_ex.h 0644 root root 2195 29048 1304492772 1 f none /usr/local/include/php/ext/standard/winver.h 0644 root root 3330 23071 1304492772 1 d none /usr/local/include/php/ext/xml 0755 root root 1 f none /usr/local/include/php/ext/xml/expat_compat.h 0644 root root 6143 26328 1304492773 1 f none /usr/local/include/php/ext/xml/php_xml.h 0644 root root 4624 41219 1304492773 1 d none /usr/local/include/php/include 0755 root root 1 d none /usr/local/include/php/main 0755 root root 1 f none /usr/local/include/php/main/SAPI.h 0644 root root 9804 24761 1304492780 1 f none /usr/local/include/php/main/build-defs.h 0644 root root 5104 36977 1304492780 1 f none /usr/local/include/php/main/fopen_wrappers.h 0644 root root 2711 4346 1304492780 1 f none /usr/local/include/php/main/logos.h 0644 root root 56039 56307 1304492780 1 f none /usr/local/include/php/main/php.h 0644 root root 12259 29865 1304492780 1 f none /usr/local/include/php/main/php3_compat.h 0644 root root 4613 8602 1304492780 1 f none /usr/local/include/php/main/php_compat.h 0644 root root 18113 21852 1304492780 1 f none /usr/local/include/php/main/php_config.h 0644 root root 60506 43863 1304492780 1 f none /usr/local/include/php/main/php_content_types.h 0644 root root 1565 38761 1304492780 1 f none /usr/local/include/php/main/php_getopt.h 0644 root root 2121 21137 1304492780 1 f none /usr/local/include/php/main/php_globals.h 0644 root root 4323 24237 1304492780 1 f none /usr/local/include/php/main/php_ini.h 0644 root root 3805 29676 1304492780 1 f none /usr/local/include/php/main/php_logos.h 0644 root root 1587 41225 1304492780 1 f none /usr/local/include/php/main/php_main.h 0644 root root 2765 16233 1304492780 1 f none /usr/local/include/php/main/php_memory_streams.h 0644 root root 3387 2544 1304492781 1 f none /usr/local/include/php/main/php_network.h 0644 root root 9469 48153 1304492781 1 f none /usr/local/include/php/main/php_open_temporary_file.h 0644 root root 1806 60911 1304492781 1 f none /usr/local/include/php/main/php_output.h 0644 root root 4763 61062 1304492781 1 f none /usr/local/include/php/main/php_reentrancy.h 0644 root root 3745 23050 1304492781 1 f none /usr/local/include/php/main/php_scandir.h 0644 root root 1982 7012 1304492781 1 f none /usr/local/include/php/main/php_streams.h 0644 root root 29240 46795 1304492781 1 f none /usr/local/include/php/main/php_syslog.h 0644 root root 1624 42685 1304492781 1 f none /usr/local/include/php/main/php_ticks.h 0644 root root 1610 42145 1304492781 1 f none /usr/local/include/php/main/php_variables.h 0644 root root 2097 16119 1304492781 1 f none /usr/local/include/php/main/php_version.h 0644 root root 264 20905 1304492781 1 f none /usr/local/include/php/main/rfc1867.h 0644 root root 2582 63201 1304492781 1 f none /usr/local/include/php/main/safe_mode.h 0644 root root 1819 56924 1304492781 1 f none /usr/local/include/php/main/snprintf.h 0644 root root 7077 22839 1304492781 1 f none /usr/local/include/php/main/spprintf.h 0644 root root 2119 20753 1304492781 1 d none /usr/local/include/php/main/streams 0755 root root 1 f none /usr/local/include/php/main/streams/php_stream_context.h 0644 root root 6395 64713 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_filter_api.h 0644 root root 7273 20263 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_glob_wrapper.h 0644 root root 2179 27192 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_mmap.h 0644 root root 3565 14313 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_plain_wrapper.h 0644 root root 3842 43167 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_transport.h 0644 root root 6775 27956 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_userspace.h 0644 root root 1615 44273 1304492782 1 f none /usr/local/include/php/main/streams/php_streams_int.h 0644 root root 3087 35691 1304492782 1 f none /usr/local/include/php/main/win32_internal_function_disabled.h 0644 root root 1668 44341 1304492781 1 f none /usr/local/include/php/main/win95nt.h 0644 root root 2740 60424 1304492781 1 d none /usr/local/lib 0755 root root 1 d none /usr/local/lib/php 0755 root root 1 d none /usr/local/lib/php/.channels 0755 root root 1 d none /usr/local/lib/php/.channels/.alias 0755 root root 1 f none /usr/local/lib/php/.channels/.alias/pear.txt 0644 root root 12 1171 1304492784 1 f none /usr/local/lib/php/.channels/.alias/pecl.txt 0644 root root 12 1167 1304492784 1 f none /usr/local/lib/php/.channels/.alias/phpdocs.txt 0644 root root 11 1057 1304492784 1 f none /usr/local/lib/php/.channels/__uri.reg 0644 root root 293 22958 1304492784 1 f none /usr/local/lib/php/.channels/doc.php.net.reg 0644 root root 559 44531 1304492784 1 f none /usr/local/lib/php/.channels/pear.php.net.reg 0644 root root 578 46454 1304492784 1 f none /usr/local/lib/php/.channels/pecl.php.net.reg 0644 root root 581 46713 1304492784 1 f none /usr/local/lib/php/.depdb 0644 root root 2437 62643 1304492788 1 f none /usr/local/lib/php/.depdblock 0644 root root 0 0 1304492788 1 f none /usr/local/lib/php/.filemap 0644 root root 8267 62379 1304492788 1 f none /usr/local/lib/php/.lock 0644 root root 0 0 1304492787 1 d none /usr/local/lib/php/.registry 0755 root root 1 d none /usr/local/lib/php/.registry/.channel.__uri 0755 root root 1 d none /usr/local/lib/php/.registry/.channel.doc.php.net 0755 root root 1 d none /usr/local/lib/php/.registry/.channel.pecl.php.net 0755 root root 1 f none /usr/local/lib/php/.registry/archive_tar.reg 0644 root root 11030 34549 1304492784 1 f none /usr/local/lib/php/.registry/console_getopt.reg 0644 root root 6518 61639 1304492784 1 f none /usr/local/lib/php/.registry/pear.reg 0644 root root 83503 3503 1304492788 1 f none /usr/local/lib/php/.registry/structures_graph.reg 0644 root root 19658 10362 1304492785 1 f none /usr/local/lib/php/.registry/xml_util.reg 0644 root root 25333 46629 1304492785 1 d none /usr/local/lib/php/Archive 0755 root root 1 f none /usr/local/lib/php/Archive/Tar.php 0644 root root 64332 37024 1304492784 1 d none /usr/local/lib/php/Console 0755 root root 1 f none /usr/local/lib/php/Console/Getopt.php 0644 root root 13469 42627 1304492784 1 d none /usr/local/lib/php/OS 0755 root root 1 f none /usr/local/lib/php/OS/Guess.php 0644 root root 10652 64621 1304492787 1 d none /usr/local/lib/php/PEAR 0755 root root 1 f none /usr/local/lib/php/PEAR.php 0644 root root 33897 12973 1304492787 1 f none /usr/local/lib/php/PEAR/Autoloader.php 0644 root root 6565 43457 1304492787 1 f none /usr/local/lib/php/PEAR/Builder.php 0644 root root 16475 43422 1304492787 1 d none /usr/local/lib/php/PEAR/ChannelFile 0755 root root 1 f none /usr/local/lib/php/PEAR/ChannelFile.php 0644 root root 50923 47666 1304492787 1 f none /usr/local/lib/php/PEAR/ChannelFile/Parser.php 0644 root root 1778 3843 1304492787 1 d none /usr/local/lib/php/PEAR/Command 0755 root root 1 f none /usr/local/lib/php/PEAR/Command.php 0644 root root 12699 14229 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Auth.php 0644 root root 2654 13953 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Auth.xml 0644 root root 1228 45820 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Build.php 0644 root root 2347 42315 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Build.xml 0644 root root 260 22723 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Channels.php 0644 root root 33535 14258 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Channels.xml 0644 root root 4218 47577 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Common.php 0644 root root 8292 30379 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Config.php 0644 root root 15422 5850 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Config.xml 0644 root root 3382 41603 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Install.php 0644 root root 50838 57862 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Install.xml 0644 root root 8574 18185 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Mirror.php 0644 root root 4594 18123 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Mirror.xml 0644 root root 617 55020 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Package.php 0644 root root 40253 22519 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Package.xml 0644 root root 7222 25087 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Pickle.php 0644 root root 15982 35572 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Pickle.xml 0644 root root 1179 38432 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Registry.php 0644 root root 46350 646 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Registry.xml 0644 root root 1790 22068 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Remote.php 0644 root root 30070 41925 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Remote.xml 0644 root root 3311 26837 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Test.php 0644 root root 11958 57541 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Test.xml 0644 root root 1641 7831 1304492787 1 f none /usr/local/lib/php/PEAR/Common.php 0644 root root 25773 61354 1304492787 1 f none /usr/local/lib/php/PEAR/Config.php 0644 root root 67882 64854 1304492787 1 f none /usr/local/lib/php/PEAR/Dependency2.php 0644 root root 50511 19089 1304492787 1 f none /usr/local/lib/php/PEAR/DependencyDB.php 0644 root root 24238 11233 1304492787 1 d none /usr/local/lib/php/PEAR/Downloader 0755 root root 1 f none /usr/local/lib/php/PEAR/Downloader.php 0644 root root 66575 40941 1304492787 1 f none /usr/local/lib/php/PEAR/Downloader/Package.php 0644 root root 76198 43539 1304492787 1 f none /usr/local/lib/php/PEAR/ErrorStack.php 0644 root root 33961 13896 1304492787 1 f none /usr/local/lib/php/PEAR/Exception.php 0644 root root 14006 61074 1304492787 1 f none /usr/local/lib/php/PEAR/FixPHP5PEARWarnings.php 0644 root root 153 11670 1304492787 1 d none /usr/local/lib/php/PEAR/Frontend 0755 root root 1 f none /usr/local/lib/php/PEAR/Frontend.php 0644 root root 6719 39624 1304492787 1 f none /usr/local/lib/php/PEAR/Frontend/CLI.php 0644 root root 25742 9245 1304492787 1 d none /usr/local/lib/php/PEAR/Installer 0755 root root 1 f none /usr/local/lib/php/PEAR/Installer.php 0644 root root 70863 36453 1304492787 1 d none /usr/local/lib/php/PEAR/Installer/Role 0755 root root 1 f none /usr/local/lib/php/PEAR/Installer/Role.php 0644 root root 7988 53230 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Cfg.php 0644 root root 4034 29149 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Cfg.xml 0644 root root 421 39111 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Common.php 0644 root root 6299 13627 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Data.php 0644 root root 851 789 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Data.xml 0644 root root 402 37127 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Doc.php 0644 root root 848 489 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Doc.xml 0644 root root 401 37027 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Ext.php 0644 root root 848 570 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Ext.xml 0644 root root 322 29582 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Php.php 0644 root root 848 543 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Php.xml 0644 root root 429 39902 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Script.php 0644 root root 857 1542 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Script.xml 0644 root root 432 40201 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Src.php 0644 root root 949 8114 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Src.xml 0644 root root 290 26283 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Test.php 0644 root root 851 903 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Test.xml 0644 root root 402 37165 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Www.php 0644 root root 844 310 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Www.xml 0644 root root 420 39048 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile.php 0644 root root 15898 14049 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile/Generator 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile/Generator/v1.php 0644 root root 50402 41492 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/Generator/v2.php 0644 root root 33520 19614 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile/Parser 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile/Parser/v1.php 0644 root root 16588 4895 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/Parser/v2.php 0644 root root 3213 42113 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/v1.php 0644 root root 51184 24041 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile/v2 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile/v2.php 0644 root root 69502 58131 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/v2/Validator.php 0644 root root 86121 31845 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/v2/rw.php 0644 root root 63112 43712 1304492787 1 f none /usr/local/lib/php/PEAR/Packager.php 0644 root root 7785 18751 1304492787 1 d none /usr/local/lib/php/PEAR/REST 0755 root root 1 f none /usr/local/lib/php/PEAR/REST.php 0644 root root 16538 60662 1304492787 1 f none /usr/local/lib/php/PEAR/REST/10.php 0644 root root 32645 17676 1304492787 1 f none /usr/local/lib/php/PEAR/REST/11.php 0644 root root 11308 6671 1304492787 1 f none /usr/local/lib/php/PEAR/REST/13.php 0644 root root 11620 10650 1304492787 1 f none /usr/local/lib/php/PEAR/Registry.php 0644 root root 75860 40984 1304492787 1 f none /usr/local/lib/php/PEAR/RunTest.php 0644 root root 35962 45106 1304492787 1 d none /usr/local/lib/php/PEAR/Task 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Common.php 0644 root root 6110 13581 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Postinstallscript 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Postinstallscript.php 0644 root root 14418 12622 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Postinstallscript/rw.php 0644 root root 5833 46982 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Replace 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Replace.php 0644 root root 6810 14052 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Replace/rw.php 0644 root root 1613 57569 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Unixeol 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Unixeol.php 0644 root root 2273 45896 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Unixeol/rw.php 0644 root root 1373 38840 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Windowseol 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Windowseol.php 0644 root root 2269 45798 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Windowseol/rw.php 0644 root root 1394 41129 1304492787 1 f none /usr/local/lib/php/PEAR/Validate.php 0644 root root 22061 40427 1304492787 1 d none /usr/local/lib/php/PEAR/Validator 0755 root root 1 f none /usr/local/lib/php/PEAR/Validator/PECL.php 0644 root root 2173 32463 1304492787 1 f none /usr/local/lib/php/PEAR/XMLParser.php 0644 root root 7169 48316 1304492787 1 f none /usr/local/lib/php/PEAR5.php 0644 root root 1087 20603 1304492787 1 d none /usr/local/lib/php/Structures 0755 root root 1 d none /usr/local/lib/php/Structures/Graph 0755 root root 1 f none /usr/local/lib/php/Structures/Graph.php 0644 root root 5747 24959 1304492785 1 d none /usr/local/lib/php/Structures/Graph/Manipulator 0755 root root 1 f none /usr/local/lib/php/Structures/Graph/Manipulator/AcyclicTest.php 0644 root root 5744 30242 1304492785 1 f none /usr/local/lib/php/Structures/Graph/Manipulator/TopologicalSorter.php 0644 root root 6694 45862 1304492785 1 f none /usr/local/lib/php/Structures/Graph/Node.php 0644 root root 11048 30713 1304492785 1 f none /usr/local/lib/php/System.php 0644 root root 19967 62304 1304492787 1 d none /usr/local/lib/php/XML 0755 root root 1 f none /usr/local/lib/php/XML/Util.php 0644 root root 30440 53652 1304492785 1 d none /usr/local/lib/php/build 0755 root root 1 f none /usr/local/lib/php/build/Makefile.global 0644 root root 5498 22477 1304492748 1 f none /usr/local/lib/php/build/acinclude.m4 0644 root root 75979 1711 1304492748 1 f none /usr/local/lib/php/build/config.guess 0755 root root 44892 23949 1304492748 1 f none /usr/local/lib/php/build/config.sub 0755 root root 33387 42120 1304492748 1 f none /usr/local/lib/php/build/libtool.m4 0644 root root 230324 8547 1304492748 1 f none /usr/local/lib/php/build/ltmain.sh 0644 root root 199728 29169 1304492748 1 f none /usr/local/lib/php/build/mkdep.awk 0644 root root 2272 17033 1304492748 1 f none /usr/local/lib/php/build/phpize.m4 0644 root root 4639 35636 1304492748 1 f none /usr/local/lib/php/build/run-tests.php 0644 root root 69309 17938 1304492748 1 f none /usr/local/lib/php/build/scan_makefile_in.awk 0644 root root 410 29019 1304492748 1 f none /usr/local/lib/php/build/shtool 0755 root root 65467 40759 1304492748 1 d none /usr/local/lib/php/data 0755 root root 1 d none /usr/local/lib/php/data/PEAR 0755 root root 1 f none /usr/local/lib/php/data/PEAR/package.dtd 0644 root root 3391 37669 1304492787 1 f none /usr/local/lib/php/data/PEAR/template.spec 0644 root root 2005 41492 1304492787 1 d none /usr/local/lib/php/data/Structures_Graph 0755 root root 1 f none /usr/local/lib/php/data/Structures_Graph/LICENSE 0644 root root 26430 8501 1304492785 1 d none /usr/local/lib/php/doc 0755 root root 1 d none /usr/local/lib/php/doc/Archive_Tar 0755 root root 1 d none /usr/local/lib/php/doc/Archive_Tar/docs 0755 root root 1 f none /usr/local/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt 0644 root root 18363 42700 1304492784 1 d none /usr/local/lib/php/doc/PEAR 0755 root root 1 f none /usr/local/lib/php/doc/PEAR/INSTALL 0644 root root 2217 63663 1304492787 1 f none /usr/local/lib/php/doc/PEAR/LICENSE 0644 root root 1477 50946 1304492787 1 f none /usr/local/lib/php/doc/PEAR/README 0644 root root 1189 36408 1304492787 1 d none /usr/local/lib/php/doc/Structures_Graph 0755 root root 1 d none /usr/local/lib/php/doc/Structures_Graph/docs 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/generate.sh 0644 root root 365 31831 1304492785 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/html 0755 root root 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph.html 0644 root root 8891 56254 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html 0644 root root 3848 47398 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html 0644 root root 4193 14339 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Node.html 0644 root root 20537 9343 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html 0644 root root 3890 45143 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html 0644 root root 4437 26621 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Node_php.html 0644 root root 3310 60002 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_php.html 0644 root root 4231 63225 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/tutorial_Structures_Graph.pkg.html 0644 root root 4678 15136 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/classtrees_Structures_Graph.html 0644 root root 1368 51677 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/elementindex.html 0644 root root 15623 63283 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/elementindex_Structures_Graph.html 0644 root root 15952 33295 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/errors.html 0644 root root 725 58228 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/index.html 0644 root root 1009 15383 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/li_Structures_Graph.html 0644 root root 2544 5567 1304492785 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/html/media 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/media/banner.css 0644 root root 393 30727 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/media/stylesheet.css 0644 root root 4996 30326 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/packages.html 0644 root root 929 1827 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/todolist.html 0644 root root 876 5677 1304492785 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/tutorials 0755 root root 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/tutorials/Structures_Graph 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/tutorials/Structures_Graph/Structures_Graph.pkg 0644 root root 4044 26071 1304492785 1 d none /usr/local/lib/php/doc/XML_Util 0755 root root 1 d none /usr/local/lib/php/doc/XML_Util/examples 0755 root root 1 f none /usr/local/lib/php/doc/XML_Util/examples/example.php 0644 root root 9213 38187 1304492785 1 f none /usr/local/lib/php/doc/XML_Util/examples/example2.php 0644 root root 4897 48706 1304492785 1 f none /usr/local/lib/php/pearcmd.php 0644 root root 14436 3616 1304492787 1 f none /usr/local/lib/php/peclcmd.php 0644 root root 934 6486 1304492787 1 d none /usr/local/lib/php/test 0755 root root 1 d none /usr/local/lib/php/test/Structures_Graph 0755 root root 1 d none /usr/local/lib/php/test/Structures_Graph/tests 0755 root root 1 f none /usr/local/lib/php/test/Structures_Graph/tests/AllTests.php 0644 root root 3340 5242 1304492785 1 d none /usr/local/lib/php/test/Structures_Graph/tests/testCase 0755 root root 1 f none /usr/local/lib/php/test/Structures_Graph/tests/testCase/BasicGraph.php 0644 root root 9097 25804 1304492785 1 d none /usr/local/lib/php/test/XML_Util 0755 root root 1 d none /usr/local/lib/php/test/XML_Util/tests 0755 root root 1 f none /usr/local/lib/php/test/XML_Util/tests/AllTests.php 0644 root root 3632 23755 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_apiVersion.phpt 0644 root root 449 34704 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_attributesToString.phpt 0644 root root 3631 17955 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_collapseEmptyTags.phpt 0644 root root 1795 13118 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createCDataSection.phpt 0644 root root 494 38676 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createComment.phpt 0644 root root 471 36399 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createEndElement.phpt 0644 root root 696 55132 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createStartElement.phpt 0644 root root 3773 36699 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createTag.phpt 0644 root root 5916 3444 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createTagFromArray.phpt 0644 root root 9305 36544 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_getDocTypeDeclaration.phpt 0644 root root 1516 53150 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_getXmlDeclaration.phpt 0644 root root 1167 27570 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_isValidName.phpt 0644 root root 1410 45839 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_raiseError.phpt 0644 root root 502 38519 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_replaceEntities.phpt 0644 root root 3248 61763 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_reverseEntities.phpt 0644 root root 3233 58945 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_splitQualifiedName.phpt 0644 root root 983 15045 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBug_4950.phpt 0644 root root 675 52660 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBug_5392.phpt 0644 root root 1097 23405 1304492785 1 d none /usr/local/man 0755 root root 1 d none /usr/local/man/man1 0755 root root 1 f none /usr/local/man/man1/php-config.1 0644 root root 1679 8899 1304492783 1 f none /usr/local/man/man1/php.1 0644 root root 8708 65177 1304492747 1 f none /usr/local/man/man1/phpize.1 0644 root root 1015 17417 1304492783 1 d none /var ? ? ? 1 d none /var/opt ? ? ? 1 i checkinstall 785 2565 1304568706 1 i pkginfo 198 15582 1304568709 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!0707010008117b000081a40000000000000000000000014dc22385000000c60000010000010007ffffffffffffffff0000000800000000pkginfoPKG=php NAME=php 5.3.6 SPARC 64bit Solaris 10 VERSION=5.3.6 PSTAMP=4th May 2011 EMAIL=http://php.net/downloads.php DESC=PHP scripting language ARCH=sparc CATEGORY=application CLASSES=none BASEDIR=/ 0707010008117a000081a40000000000000000000000014dc223850000b2fb0000010000010007ffffffffffffffff0000000700000000pkgmap: 1 45912 1 d none /opt ? ? ? 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/bin 0755 root root 1 f none /usr/local/bin/pear 0755 root root 799 62128 1304492787 1 f none /usr/local/bin/peardev 0755 root root 820 63863 1304492787 1 f none /usr/local/bin/pecl 0755 root root 736 56562 1304492787 1 s none /usr/local/bin/phar=/usr/local/bin/phar.phar 1 f none /usr/local/bin/phar.phar 0755 root root 14796 38596 1304492788 1 f none /usr/local/bin/php 0755 root root 16013992 44586 1304492747 1 f none /usr/local/bin/php-config 0755 root root 3539 37688 1304492782 1 f none /usr/local/bin/phpize 0755 root root 4503 36811 1304492782 1 d none /usr/local/etc 0755 root root 1 f none /usr/local/etc/pear.conf 0644 root root 1118 26664 1304492788 1 d none /usr/local/include 0755 root root 1 d none /usr/local/include/php 0755 root root 1 d none /usr/local/include/php/TSRM 0755 root root 1 f none /usr/local/include/php/TSRM/TSRM.h 0644 root root 5337 37352 1304492778 1 f none /usr/local/include/php/TSRM/acconfig.h 0644 root root 16 1210 1304492778 1 f none /usr/local/include/php/TSRM/readdir.h 0644 root root 1102 22854 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_config.h 0644 root root 32 2749 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_config.w32.h 0644 root root 328 26029 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_config_common.h 0644 root root 1462 49255 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_nw.h 0644 root root 1384 23761 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_strtok_r.h 0644 root root 115 9536 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_virtual_cwd.h 0644 root root 12061 43893 1304492778 1 f none /usr/local/include/php/TSRM/tsrm_win32.h 0644 root root 3247 46832 1304492778 1 d none /usr/local/include/php/Zend 0755 root root 1 f none /usr/local/include/php/Zend/acconfig.h 0644 root root 3464 59494 1304492775 1 f none /usr/local/include/php/Zend/zend.h 0644 root root 24589 1272 1304492775 1 f none /usr/local/include/php/Zend/zend_API.h 0644 root root 38662 13584 1304492775 1 f none /usr/local/include/php/Zend/zend_alloc.h 0644 root root 12512 28928 1304492775 1 f none /usr/local/include/php/Zend/zend_build.h 0644 root root 1627 44397 1304492775 1 f none /usr/local/include/php/Zend/zend_builtin_functions.h 0644 root root 1681 48084 1304492775 1 f none /usr/local/include/php/Zend/zend_closures.h 0644 root root 1850 64044 1304492775 1 f none /usr/local/include/php/Zend/zend_compile.h 0644 root root 29717 38996 1304492775 1 f none /usr/local/include/php/Zend/zend_config.h 0644 root root 107 8464 1304492776 1 f none /usr/local/include/php/Zend/zend_config.nw.h 0644 root root 2556 51243 1304492776 1 f none /usr/local/include/php/Zend/zend_config.w32.h 0644 root root 3125 35718 1304492776 1 f none /usr/local/include/php/Zend/zend_constants.h 0644 root root 5067 11333 1304492776 1 f none /usr/local/include/php/Zend/zend_dynamic_array.h 0644 root root 1964 8615 1304492776 1 f none /usr/local/include/php/Zend/zend_errors.h 0644 root root 2199 14600 1304492776 1 f none /usr/local/include/php/Zend/zend_exceptions.h 0644 root root 3076 37288 1304492776 1 f none /usr/local/include/php/Zend/zend_execute.h 0644 root root 13221 14149 1304492776 1 f none /usr/local/include/php/Zend/zend_extensions.h 0644 root root 4663 48158 1304492776 1 f none /usr/local/include/php/Zend/zend_fast_cache.h 0644 root root 4176 32557 1304492776 1 f none /usr/local/include/php/Zend/zend_float.h 0644 root root 15707 48285 1304492776 1 f none /usr/local/include/php/Zend/zend_gc.h 0644 root root 7453 28602 1304492776 1 f none /usr/local/include/php/Zend/zend_globals.h 0644 root root 7346 28030 1304492776 1 f none /usr/local/include/php/Zend/zend_globals_macros.h 0644 root root 3285 56268 1304492776 1 f none /usr/local/include/php/Zend/zend_hash.h 0644 root root 17413 45175 1304492776 1 f none /usr/local/include/php/Zend/zend_highlight.h 0644 root root 2527 51740 1304492776 1 f none /usr/local/include/php/Zend/zend_indent.h 0644 root root 1521 33270 1304492776 1 f none /usr/local/include/php/Zend/zend_ini.h 0644 root root 10089 44662 1304492776 1 f none /usr/local/include/php/Zend/zend_ini_parser.h 0644 root root 2695 14993 1304492776 1 f none /usr/local/include/php/Zend/zend_ini_scanner.h 0644 root root 2007 10167 1304492776 1 f none /usr/local/include/php/Zend/zend_ini_scanner_defs.h 0644 root root 254 18992 1304492776 1 f none /usr/local/include/php/Zend/zend_interfaces.h 0644 root root 4132 9344 1304492776 1 f none /usr/local/include/php/Zend/zend_istdiostream.h 0644 root root 1703 49143 1304492776 1 f none /usr/local/include/php/Zend/zend_iterators.h 0644 root root 3747 35952 1304492776 1 f none /usr/local/include/php/Zend/zend_language_parser.h 0644 root root 7777 15479 1304492776 1 f none /usr/local/include/php/Zend/zend_language_scanner.h 0644 root root 2495 56246 1304492776 1 f none /usr/local/include/php/Zend/zend_language_scanner_defs.h 0644 root root 326 24608 1304492776 1 f none /usr/local/include/php/Zend/zend_list.h 0644 root root 5213 31386 1304492776 1 f none /usr/local/include/php/Zend/zend_llist.h 0644 root root 4027 1303 1304492777 1 f none /usr/local/include/php/Zend/zend_modules.h 0644 root root 5094 3850 1304492777 1 f none /usr/local/include/php/Zend/zend_multibyte.h 0644 root root 3861 44773 1304492777 1 f none /usr/local/include/php/Zend/zend_multiply.h 0644 root root 2562 30888 1304492777 1 f none /usr/local/include/php/Zend/zend_object_handlers.h 0644 root root 8681 19232 1304492777 1 f none /usr/local/include/php/Zend/zend_objects.h 0644 root root 2267 36174 1304492777 1 f none /usr/local/include/php/Zend/zend_objects_API.h 0644 root root 4406 36631 1304492777 1 f none /usr/local/include/php/Zend/zend_operators.h 0644 root root 15816 64895 1304492777 1 f none /usr/local/include/php/Zend/zend_ptr_stack.h 0644 root root 4135 56193 1304492777 1 f none /usr/local/include/php/Zend/zend_qsort.h 0644 root root 1512 35318 1304492777 1 f none /usr/local/include/php/Zend/zend_stack.h 0644 root root 2431 48537 1304492777 1 f none /usr/local/include/php/Zend/zend_static_allocator.h 0644 root root 1918 5917 1304492777 1 f none /usr/local/include/php/Zend/zend_stream.h 0644 root root 3001 23208 1304492777 1 f none /usr/local/include/php/Zend/zend_strtod.h 0644 root root 1829 64402 1304492777 1 f none /usr/local/include/php/Zend/zend_ts_hash.h 0644 root root 7077 1527 1304492777 1 f none /usr/local/include/php/Zend/zend_types.h 0644 root root 2368 46037 1304492777 1 f none /usr/local/include/php/Zend/zend_variables.h 0644 root root 4088 3397 1304492777 1 f none /usr/local/include/php/Zend/zend_vm.h 0644 root root 1435 31557 1304492777 1 f none /usr/local/include/php/Zend/zend_vm_def.h 0644 root root 134565 6076 1304492777 1 f none /usr/local/include/php/Zend/zend_vm_execute.h 0644 root root 1061735 34920 1304492777 1 f none /usr/local/include/php/Zend/zend_vm_opcodes.h 0644 root root 7914 56088 1304492777 1 d none /usr/local/include/php/ext 0755 root root 1 d none /usr/local/include/php/ext/date 0755 root root 1 d none /usr/local/include/php/ext/date/lib 0755 root root 1 f none /usr/local/include/php/ext/date/lib/timelib.h 0644 root root 5886 40128 1304492758 1 f none /usr/local/include/php/ext/date/lib/timelib_config.h 0644 root root 80 6423 1304492758 1 f none /usr/local/include/php/ext/date/lib/timelib_structs.h 0644 root root 6341 33034 1304492758 1 f none /usr/local/include/php/ext/date/php_date.h 0644 root root 5748 64150 1304492758 1 d none /usr/local/include/php/ext/dom 0755 root root 1 f none /usr/local/include/php/ext/dom/xml_common.h 0644 root root 3765 20346 1304492760 1 d none /usr/local/include/php/ext/ereg 0755 root root 1 f none /usr/local/include/php/ext/ereg/php_ereg.h 0644 root root 2001 9744 1304492758 1 f none /usr/local/include/php/ext/ereg/php_regex.h 0644 root root 2078 10764 1304492758 1 d none /usr/local/include/php/ext/ereg/regex 0755 root root 1 f none /usr/local/include/php/ext/ereg/regex/cclass.h 0644 root root 992 6590 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/cname.h 0644 root root 2070 6899 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/regex.h 0644 root root 2165 33927 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/regex2.h 0644 root root 5536 42460 1304492759 1 f none /usr/local/include/php/ext/ereg/regex/utils.h 0644 root root 501 39192 1304492759 1 d none /usr/local/include/php/ext/filter 0755 root root 1 f none /usr/local/include/php/ext/filter/php_filter.h 0644 root root 3609 15613 1304492760 1 d none /usr/local/include/php/ext/gd 0755 root root 1 f none /usr/local/include/php/ext/gd/gdcache.h 0644 root root 2866 38464 1304492760 1 d none /usr/local/include/php/ext/gd/libgd 0755 root root 1 f none /usr/local/include/php/ext/gd/libgd/gd.h 0644 root root 26208 12437 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gd_compat.h 0644 root root 1762 21786 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gd_intern.h 0644 root root 261 17896 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gd_io.h 0644 root root 950 13099 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdcache.h 0644 root root 2716 27851 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontg.h 0644 root root 529 43358 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontl.h 0644 root root 527 43410 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontmb.h 0644 root root 495 40471 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfonts.h 0644 root root 491 40278 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdfontt.h 0644 root root 522 42891 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/gdhelpers.h 0644 root root 1351 52229 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/jisx0208.h 0644 root root 71350 42899 1304492761 1 f none /usr/local/include/php/ext/gd/libgd/wbmp.h 0644 root root 1283 32935 1304492762 1 f none /usr/local/include/php/ext/gd/php_gd.h 0644 root root 6228 17604 1304492760 1 d none /usr/local/include/php/ext/hash 0755 root root 1 f none /usr/local/include/php/ext/hash/php_hash.h 0644 root root 5123 21471 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_adler32.h 0644 root root 1881 63017 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_crc32.h 0644 root root 1955 3953 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_gost.h 0644 root root 1794 56034 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_haval.h 0644 root root 2315 26590 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_md.h 0644 root root 3945 40298 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_ripemd.h 0644 root root 3123 28815 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_salsa.h 0644 root root 1969 4204 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_sha.h 0644 root root 3934 27471 1304492762 1 f none /usr/local/include/php/ext/hash/php_hash_snefru.h 0644 root root 1911 65000 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_tiger.h 0644 root root 2057 12281 1304492763 1 f none /usr/local/include/php/ext/hash/php_hash_types.h 0644 root root 2196 24122 1304492764 1 f none /usr/local/include/php/ext/hash/php_hash_whirlpool.h 0644 root root 1828 57892 1304492763 1 d none /usr/local/include/php/ext/iconv 0755 root root 1 f none /usr/local/include/php/ext/iconv/php_have_bsd_iconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_glibc_iconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_ibm_iconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_iconv.h 0644 root root 21 1547 1304492764 1 f none /usr/local/include/php/ext/iconv/php_have_libiconv.h 0644 root root 1 10 1304492764 1 f none /usr/local/include/php/ext/iconv/php_iconv.h 0644 root root 4149 47589 1304492765 1 f none /usr/local/include/php/ext/iconv/php_iconv_aliased_libiconv.h 0644 root root 1 10 1304492765 1 f none /usr/local/include/php/ext/iconv/php_iconv_supports_errno.h 0644 root root 31 2396 1304492765 1 f none /usr/local/include/php/ext/iconv/php_php_iconv_h_path.h 0644 root root 54 4613 1304492765 1 f none /usr/local/include/php/ext/iconv/php_php_iconv_impl.h 0644 root root 1 10 1304492765 1 d none /usr/local/include/php/ext/json 0755 root root 1 f none /usr/local/include/php/ext/json/php_json.h 0644 root root 2408 40044 1304492765 1 d none /usr/local/include/php/ext/libxml 0755 root root 1 f none /usr/local/include/php/ext/libxml/php_libxml.h 0644 root root 4406 28001 1304492759 1 d none /usr/local/include/php/ext/pcre 0755 root root 1 f none /usr/local/include/php/ext/pcre/php_pcre.h 0644 root root 3280 57860 1304492759 1 d none /usr/local/include/php/ext/pdo 0755 root root 1 f none /usr/local/include/php/ext/pdo/php_pdo.h 0644 root root 3138 34471 1304492788 1 f none /usr/local/include/php/ext/pdo/php_pdo_driver.h 0644 root root 24209 8692 1304492788 1 d none /usr/local/include/php/ext/session 0755 root root 1 f none /usr/local/include/php/ext/session/mod_files.h 0644 root root 1343 20957 1304492765 1 f none /usr/local/include/php/ext/session/mod_user.h 0644 root root 1336 20433 1304492766 1 f none /usr/local/include/php/ext/session/php_session.h 0644 root root 8261 51721 1304492765 1 d none /usr/local/include/php/ext/sockets 0755 root root 1 f none /usr/local/include/php/ext/sockets/php_sockets.h 0644 root root 3849 31586 1304492766 1 d none /usr/local/include/php/ext/spl 0755 root root 1 f none /usr/local/include/php/ext/spl/php_spl.h 0644 root root 2825 10191 1304492766 1 f none /usr/local/include/php/ext/spl/spl_array.h 0644 root root 1825 62113 1304492766 1 f none /usr/local/include/php/ext/spl/spl_directory.h 0644 root root 6008 61896 1304492766 1 f none /usr/local/include/php/ext/spl/spl_dllist.h 0644 root root 1628 43752 1304492767 1 f none /usr/local/include/php/ext/spl/spl_engine.h 0644 root root 2417 46769 1304492766 1 f none /usr/local/include/php/ext/spl/spl_exceptions.h 0644 root root 2266 38955 1304492767 1 f none /usr/local/include/php/ext/spl/spl_fixedarray.h 0644 root root 1583 38205 1304492768 1 f none /usr/local/include/php/ext/spl/spl_functions.h 0644 root root 4550 39639 1304492767 1 f none /usr/local/include/php/ext/spl/spl_heap.h 0644 root root 1668 47292 1304492767 1 f none /usr/local/include/php/ext/spl/spl_iterators.h 0644 root root 5529 27271 1304492767 1 f none /usr/local/include/php/ext/spl/spl_observer.h 0644 root root 1697 50265 1304492767 1 d none /usr/local/include/php/ext/sqlite 0755 root root 1 d none /usr/local/include/php/ext/sqlite/libsqlite 0755 root root 1 d none /usr/local/include/php/ext/sqlite/libsqlite/src 0755 root root 1 f none /usr/local/include/php/ext/sqlite/libsqlite/src/sqlite.h 0644 root root 38776 52809 1304492768 1 d none /usr/local/include/php/ext/sqlite3 0755 root root 1 d none /usr/local/include/php/ext/sqlite3/libsqlite 0755 root root 1 f none /usr/local/include/php/ext/sqlite3/libsqlite/sqlite3.h 0644 root root 295268 23423 1304492760 1 d none /usr/local/include/php/ext/standard 0755 root root 1 f none /usr/local/include/php/ext/standard/base64.h 0644 root root 1658 45110 1304492770 1 f none /usr/local/include/php/ext/standard/basic_functions.h 0644 root root 7007 42670 1304492770 1 f none /usr/local/include/php/ext/standard/crc32.h 0644 root root 4940 63771 1304492770 1 f none /usr/local/include/php/ext/standard/credits.h 0644 root root 1784 48850 1304492770 1 f none /usr/local/include/php/ext/standard/credits_ext.h 0644 root root 5622 64237 1304492770 1 f none /usr/local/include/php/ext/standard/credits_sapi.h 0644 root root 1574 60152 1304492770 1 f none /usr/local/include/php/ext/standard/crypt_freesec.h 0644 root root 1002 17346 1304492770 1 f none /usr/local/include/php/ext/standard/css.h 0644 root root 1282 15329 1304492771 1 f none /usr/local/include/php/ext/standard/cyr_convert.h 0644 root root 1320 17706 1304492771 1 f none /usr/local/include/php/ext/standard/datetime.h 0644 root root 1446 25595 1304492771 1 f none /usr/local/include/php/ext/standard/dl.h 0644 root root 1652 41986 1304492771 1 f none /usr/local/include/php/ext/standard/exec.h 0644 root root 1748 54050 1304492771 1 f none /usr/local/include/php/ext/standard/file.h 0644 root root 4453 16353 1304492771 1 f none /usr/local/include/php/ext/standard/flock_compat.h 0644 root root 2172 20546 1304492771 1 f none /usr/local/include/php/ext/standard/fsock.h 0644 root root 1655 39420 1304492771 1 f none /usr/local/include/php/ext/standard/head.h 0644 root root 1673 48793 1304492771 1 f none /usr/local/include/php/ext/standard/html.h 0644 root root 2260 32445 1304492771 1 f none /usr/local/include/php/ext/standard/info.h 0644 root root 3753 11131 1304492771 1 f none /usr/local/include/php/ext/standard/md5.h 0644 root root 2212 26307 1304492771 1 f none /usr/local/include/php/ext/standard/microtime.h 0644 root root 1414 25860 1304492771 1 f none /usr/local/include/php/ext/standard/pack.h 0644 root root 1323 17892 1304492771 1 f none /usr/local/include/php/ext/standard/pageinfo.h 0644 root root 1513 34345 1304492771 1 f none /usr/local/include/php/ext/standard/php_array.h 0644 root root 4430 6593 1304492771 1 f none /usr/local/include/php/ext/standard/php_assert.h 0644 root root 1479 30770 1304492771 1 f none /usr/local/include/php/ext/standard/php_browscap.h 0644 root root 1380 22404 1304492771 1 f none /usr/local/include/php/ext/standard/php_crypt.h 0644 root root 1610 36644 1304492771 1 f none /usr/local/include/php/ext/standard/php_crypt_r.h 0644 root root 2178 27015 1304492771 1 f none /usr/local/include/php/ext/standard/php_dir.h 0644 root root 1653 43842 1304492771 1 f none /usr/local/include/php/ext/standard/php_dns.h 0644 root root 2932 12600 1304492771 1 f none /usr/local/include/php/ext/standard/php_ext_syslog.h 0644 root root 1603 40934 1304492771 1 f none /usr/local/include/php/ext/standard/php_filestat.h 0644 root root 3410 53060 1304492771 1 f none /usr/local/include/php/ext/standard/php_fopen_wrappers.h 0644 root root 2000 12724 1304492771 1 f none /usr/local/include/php/ext/standard/php_ftok.h 0644 root root 1312 17299 1304492771 1 f none /usr/local/include/php/ext/standard/php_http.h 0644 root root 1838 60464 1304492771 1 f none /usr/local/include/php/ext/standard/php_image.h 0644 root root 2435 37145 1304492772 1 f none /usr/local/include/php/ext/standard/php_incomplete_class.h 0644 root root 2571 53828 1304492772 1 f none /usr/local/include/php/ext/standard/php_iptc.h 0644 root root 1322 18008 1304492772 1 f none /usr/local/include/php/ext/standard/php_lcg.h 0644 root root 1583 40325 1304492772 1 f none /usr/local/include/php/ext/standard/php_link.h 0644 root root 1419 23438 1304492772 1 f none /usr/local/include/php/ext/standard/php_mail.h 0644 root root 1455 29201 1304492772 1 f none /usr/local/include/php/ext/standard/php_math.h 0644 root root 4687 61812 1304492772 1 f none /usr/local/include/php/ext/standard/php_metaphone.h 0644 root root 1296 16193 1304492772 1 f none /usr/local/include/php/ext/standard/php_rand.h 0644 root root 2651 45111 1304492772 1 f none /usr/local/include/php/ext/standard/php_smart_str.h 0644 root root 6584 10198 1304492772 1 f none /usr/local/include/php/ext/standard/php_smart_str_public.h 0644 root root 1379 23783 1304492772 1 f none /usr/local/include/php/ext/standard/php_standard.h 0644 root root 2293 34209 1304492772 1 f none /usr/local/include/php/ext/standard/php_string.h 0644 root root 6170 31798 1304492772 1 f none /usr/local/include/php/ext/standard/php_type.h 0644 root root 1640 44520 1304492772 1 f none /usr/local/include/php/ext/standard/php_uuencode.h 0644 root root 1549 36361 1304492772 1 f none /usr/local/include/php/ext/standard/php_var.h 0644 root root 5639 20384 1304492772 1 f none /usr/local/include/php/ext/standard/php_versioning.h 0644 root root 1460 30997 1304492772 1 f none /usr/local/include/php/ext/standard/proc_open.h 0644 root root 1900 4067 1304492772 1 f none /usr/local/include/php/ext/standard/quot_print.h 0644 root root 1592 43197 1304492772 1 f none /usr/local/include/php/ext/standard/scanf.h 0644 root root 2369 28917 1304492772 1 f none /usr/local/include/php/ext/standard/sha1.h 0644 root root 1795 55825 1304492772 1 f none /usr/local/include/php/ext/standard/streamsfuncs.h 0644 root root 2864 23963 1304492772 1 f none /usr/local/include/php/ext/standard/uniqid.h 0644 root root 1318 17308 1304492772 1 f none /usr/local/include/php/ext/standard/url.h 0644 root root 2316 34943 1304492772 1 f none /usr/local/include/php/ext/standard/url_scanner_ex.h 0644 root root 2195 29048 1304492772 1 f none /usr/local/include/php/ext/standard/winver.h 0644 root root 3330 23071 1304492772 1 d none /usr/local/include/php/ext/xml 0755 root root 1 f none /usr/local/include/php/ext/xml/expat_compat.h 0644 root root 6143 26328 1304492773 1 f none /usr/local/include/php/ext/xml/php_xml.h 0644 root root 4624 41219 1304492773 1 d none /usr/local/include/php/include 0755 root root 1 d none /usr/local/include/php/main 0755 root root 1 f none /usr/local/include/php/main/SAPI.h 0644 root root 9804 24761 1304492780 1 f none /usr/local/include/php/main/build-defs.h 0644 root root 5104 36977 1304492780 1 f none /usr/local/include/php/main/fopen_wrappers.h 0644 root root 2711 4346 1304492780 1 f none /usr/local/include/php/main/logos.h 0644 root root 56039 56307 1304492780 1 f none /usr/local/include/php/main/php.h 0644 root root 12259 29865 1304492780 1 f none /usr/local/include/php/main/php3_compat.h 0644 root root 4613 8602 1304492780 1 f none /usr/local/include/php/main/php_compat.h 0644 root root 18113 21852 1304492780 1 f none /usr/local/include/php/main/php_config.h 0644 root root 60506 43863 1304492780 1 f none /usr/local/include/php/main/php_content_types.h 0644 root root 1565 38761 1304492780 1 f none /usr/local/include/php/main/php_getopt.h 0644 root root 2121 21137 1304492780 1 f none /usr/local/include/php/main/php_globals.h 0644 root root 4323 24237 1304492780 1 f none /usr/local/include/php/main/php_ini.h 0644 root root 3805 29676 1304492780 1 f none /usr/local/include/php/main/php_logos.h 0644 root root 1587 41225 1304492780 1 f none /usr/local/include/php/main/php_main.h 0644 root root 2765 16233 1304492780 1 f none /usr/local/include/php/main/php_memory_streams.h 0644 root root 3387 2544 1304492781 1 f none /usr/local/include/php/main/php_network.h 0644 root root 9469 48153 1304492781 1 f none /usr/local/include/php/main/php_open_temporary_file.h 0644 root root 1806 60911 1304492781 1 f none /usr/local/include/php/main/php_output.h 0644 root root 4763 61062 1304492781 1 f none /usr/local/include/php/main/php_reentrancy.h 0644 root root 3745 23050 1304492781 1 f none /usr/local/include/php/main/php_scandir.h 0644 root root 1982 7012 1304492781 1 f none /usr/local/include/php/main/php_streams.h 0644 root root 29240 46795 1304492781 1 f none /usr/local/include/php/main/php_syslog.h 0644 root root 1624 42685 1304492781 1 f none /usr/local/include/php/main/php_ticks.h 0644 root root 1610 42145 1304492781 1 f none /usr/local/include/php/main/php_variables.h 0644 root root 2097 16119 1304492781 1 f none /usr/local/include/php/main/php_version.h 0644 root root 264 20905 1304492781 1 f none /usr/local/include/php/main/rfc1867.h 0644 root root 2582 63201 1304492781 1 f none /usr/local/include/php/main/safe_mode.h 0644 root root 1819 56924 1304492781 1 f none /usr/local/include/php/main/snprintf.h 0644 root root 7077 22839 1304492781 1 f none /usr/local/include/php/main/spprintf.h 0644 root root 2119 20753 1304492781 1 d none /usr/local/include/php/main/streams 0755 root root 1 f none /usr/local/include/php/main/streams/php_stream_context.h 0644 root root 6395 64713 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_filter_api.h 0644 root root 7273 20263 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_glob_wrapper.h 0644 root root 2179 27192 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_mmap.h 0644 root root 3565 14313 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_plain_wrapper.h 0644 root root 3842 43167 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_transport.h 0644 root root 6775 27956 1304492782 1 f none /usr/local/include/php/main/streams/php_stream_userspace.h 0644 root root 1615 44273 1304492782 1 f none /usr/local/include/php/main/streams/php_streams_int.h 0644 root root 3087 35691 1304492782 1 f none /usr/local/include/php/main/win32_internal_function_disabled.h 0644 root root 1668 44341 1304492781 1 f none /usr/local/include/php/main/win95nt.h 0644 root root 2740 60424 1304492781 1 d none /usr/local/lib 0755 root root 1 d none /usr/local/lib/php 0755 root root 1 d none /usr/local/lib/php/.channels 0755 root root 1 d none /usr/local/lib/php/.channels/.alias 0755 root root 1 f none /usr/local/lib/php/.channels/.alias/pear.txt 0644 root root 12 1171 1304492784 1 f none /usr/local/lib/php/.channels/.alias/pecl.txt 0644 root root 12 1167 1304492784 1 f none /usr/local/lib/php/.channels/.alias/phpdocs.txt 0644 root root 11 1057 1304492784 1 f none /usr/local/lib/php/.channels/__uri.reg 0644 root root 293 22958 1304492784 1 f none /usr/local/lib/php/.channels/doc.php.net.reg 0644 root root 559 44531 1304492784 1 f none /usr/local/lib/php/.channels/pear.php.net.reg 0644 root root 578 46454 1304492784 1 f none /usr/local/lib/php/.channels/pecl.php.net.reg 0644 root root 581 46713 1304492784 1 f none /usr/local/lib/php/.depdb 0644 root root 2437 62643 1304492788 1 f none /usr/local/lib/php/.depdblock 0644 root root 0 0 1304492788 1 f none /usr/local/lib/php/.filemap 0644 root root 8267 62379 1304492788 1 f none /usr/local/lib/php/.lock 0644 root root 0 0 1304492787 1 d none /usr/local/lib/php/.registry 0755 root root 1 d none /usr/local/lib/php/.registry/.channel.__uri 0755 root root 1 d none /usr/local/lib/php/.registry/.channel.doc.php.net 0755 root root 1 d none /usr/local/lib/php/.registry/.channel.pecl.php.net 0755 root root 1 f none /usr/local/lib/php/.registry/archive_tar.reg 0644 root root 11030 34549 1304492784 1 f none /usr/local/lib/php/.registry/console_getopt.reg 0644 root root 6518 61639 1304492784 1 f none /usr/local/lib/php/.registry/pear.reg 0644 root root 83503 3503 1304492788 1 f none /usr/local/lib/php/.registry/structures_graph.reg 0644 root root 19658 10362 1304492785 1 f none /usr/local/lib/php/.registry/xml_util.reg 0644 root root 25333 46629 1304492785 1 d none /usr/local/lib/php/Archive 0755 root root 1 f none /usr/local/lib/php/Archive/Tar.php 0644 root root 64332 37024 1304492784 1 d none /usr/local/lib/php/Console 0755 root root 1 f none /usr/local/lib/php/Console/Getopt.php 0644 root root 13469 42627 1304492784 1 d none /usr/local/lib/php/OS 0755 root root 1 f none /usr/local/lib/php/OS/Guess.php 0644 root root 10652 64621 1304492787 1 d none /usr/local/lib/php/PEAR 0755 root root 1 f none /usr/local/lib/php/PEAR.php 0644 root root 33897 12973 1304492787 1 f none /usr/local/lib/php/PEAR/Autoloader.php 0644 root root 6565 43457 1304492787 1 f none /usr/local/lib/php/PEAR/Builder.php 0644 root root 16475 43422 1304492787 1 d none /usr/local/lib/php/PEAR/ChannelFile 0755 root root 1 f none /usr/local/lib/php/PEAR/ChannelFile.php 0644 root root 50923 47666 1304492787 1 f none /usr/local/lib/php/PEAR/ChannelFile/Parser.php 0644 root root 1778 3843 1304492787 1 d none /usr/local/lib/php/PEAR/Command 0755 root root 1 f none /usr/local/lib/php/PEAR/Command.php 0644 root root 12699 14229 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Auth.php 0644 root root 2654 13953 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Auth.xml 0644 root root 1228 45820 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Build.php 0644 root root 2347 42315 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Build.xml 0644 root root 260 22723 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Channels.php 0644 root root 33535 14258 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Channels.xml 0644 root root 4218 47577 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Common.php 0644 root root 8292 30379 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Config.php 0644 root root 15422 5850 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Config.xml 0644 root root 3382 41603 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Install.php 0644 root root 50838 57862 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Install.xml 0644 root root 8574 18185 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Mirror.php 0644 root root 4594 18123 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Mirror.xml 0644 root root 617 55020 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Package.php 0644 root root 40253 22519 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Package.xml 0644 root root 7222 25087 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Pickle.php 0644 root root 15982 35572 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Pickle.xml 0644 root root 1179 38432 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Registry.php 0644 root root 46350 646 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Registry.xml 0644 root root 1790 22068 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Remote.php 0644 root root 30070 41925 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Remote.xml 0644 root root 3311 26837 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Test.php 0644 root root 11958 57541 1304492787 1 f none /usr/local/lib/php/PEAR/Command/Test.xml 0644 root root 1641 7831 1304492787 1 f none /usr/local/lib/php/PEAR/Common.php 0644 root root 25773 61354 1304492787 1 f none /usr/local/lib/php/PEAR/Config.php 0644 root root 67882 64854 1304492787 1 f none /usr/local/lib/php/PEAR/Dependency2.php 0644 root root 50511 19089 1304492787 1 f none /usr/local/lib/php/PEAR/DependencyDB.php 0644 root root 24238 11233 1304492787 1 d none /usr/local/lib/php/PEAR/Downloader 0755 root root 1 f none /usr/local/lib/php/PEAR/Downloader.php 0644 root root 66575 40941 1304492787 1 f none /usr/local/lib/php/PEAR/Downloader/Package.php 0644 root root 76198 43539 1304492787 1 f none /usr/local/lib/php/PEAR/ErrorStack.php 0644 root root 33961 13896 1304492787 1 f none /usr/local/lib/php/PEAR/Exception.php 0644 root root 14006 61074 1304492787 1 f none /usr/local/lib/php/PEAR/FixPHP5PEARWarnings.php 0644 root root 153 11670 1304492787 1 d none /usr/local/lib/php/PEAR/Frontend 0755 root root 1 f none /usr/local/lib/php/PEAR/Frontend.php 0644 root root 6719 39624 1304492787 1 f none /usr/local/lib/php/PEAR/Frontend/CLI.php 0644 root root 25742 9245 1304492787 1 d none /usr/local/lib/php/PEAR/Installer 0755 root root 1 f none /usr/local/lib/php/PEAR/Installer.php 0644 root root 70863 36453 1304492787 1 d none /usr/local/lib/php/PEAR/Installer/Role 0755 root root 1 f none /usr/local/lib/php/PEAR/Installer/Role.php 0644 root root 7988 53230 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Cfg.php 0644 root root 4034 29149 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Cfg.xml 0644 root root 421 39111 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Common.php 0644 root root 6299 13627 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Data.php 0644 root root 851 789 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Data.xml 0644 root root 402 37127 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Doc.php 0644 root root 848 489 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Doc.xml 0644 root root 401 37027 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Ext.php 0644 root root 848 570 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Ext.xml 0644 root root 322 29582 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Php.php 0644 root root 848 543 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Php.xml 0644 root root 429 39902 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Script.php 0644 root root 857 1542 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Script.xml 0644 root root 432 40201 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Src.php 0644 root root 949 8114 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Src.xml 0644 root root 290 26283 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Test.php 0644 root root 851 903 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Test.xml 0644 root root 402 37165 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Www.php 0644 root root 844 310 1304492787 1 f none /usr/local/lib/php/PEAR/Installer/Role/Www.xml 0644 root root 420 39048 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile.php 0644 root root 15898 14049 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile/Generator 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile/Generator/v1.php 0644 root root 50402 41492 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/Generator/v2.php 0644 root root 33520 19614 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile/Parser 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile/Parser/v1.php 0644 root root 16588 4895 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/Parser/v2.php 0644 root root 3213 42113 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/v1.php 0644 root root 51184 24041 1304492787 1 d none /usr/local/lib/php/PEAR/PackageFile/v2 0755 root root 1 f none /usr/local/lib/php/PEAR/PackageFile/v2.php 0644 root root 69502 58131 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/v2/Validator.php 0644 root root 86121 31845 1304492787 1 f none /usr/local/lib/php/PEAR/PackageFile/v2/rw.php 0644 root root 63112 43712 1304492787 1 f none /usr/local/lib/php/PEAR/Packager.php 0644 root root 7785 18751 1304492787 1 d none /usr/local/lib/php/PEAR/REST 0755 root root 1 f none /usr/local/lib/php/PEAR/REST.php 0644 root root 16538 60662 1304492787 1 f none /usr/local/lib/php/PEAR/REST/10.php 0644 root root 32645 17676 1304492787 1 f none /usr/local/lib/php/PEAR/REST/11.php 0644 root root 11308 6671 1304492787 1 f none /usr/local/lib/php/PEAR/REST/13.php 0644 root root 11620 10650 1304492787 1 f none /usr/local/lib/php/PEAR/Registry.php 0644 root root 75860 40984 1304492787 1 f none /usr/local/lib/php/PEAR/RunTest.php 0644 root root 35962 45106 1304492787 1 d none /usr/local/lib/php/PEAR/Task 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Common.php 0644 root root 6110 13581 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Postinstallscript 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Postinstallscript.php 0644 root root 14418 12622 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Postinstallscript/rw.php 0644 root root 5833 46982 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Replace 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Replace.php 0644 root root 6810 14052 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Replace/rw.php 0644 root root 1613 57569 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Unixeol 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Unixeol.php 0644 root root 2273 45896 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Unixeol/rw.php 0644 root root 1373 38840 1304492787 1 d none /usr/local/lib/php/PEAR/Task/Windowseol 0755 root root 1 f none /usr/local/lib/php/PEAR/Task/Windowseol.php 0644 root root 2269 45798 1304492787 1 f none /usr/local/lib/php/PEAR/Task/Windowseol/rw.php 0644 root root 1394 41129 1304492787 1 f none /usr/local/lib/php/PEAR/Validate.php 0644 root root 22061 40427 1304492787 1 d none /usr/local/lib/php/PEAR/Validator 0755 root root 1 f none /usr/local/lib/php/PEAR/Validator/PECL.php 0644 root root 2173 32463 1304492787 1 f none /usr/local/lib/php/PEAR/XMLParser.php 0644 root root 7169 48316 1304492787 1 f none /usr/local/lib/php/PEAR5.php 0644 root root 1087 20603 1304492787 1 d none /usr/local/lib/php/Structures 0755 root root 1 d none /usr/local/lib/php/Structures/Graph 0755 root root 1 f none /usr/local/lib/php/Structures/Graph.php 0644 root root 5747 24959 1304492785 1 d none /usr/local/lib/php/Structures/Graph/Manipulator 0755 root root 1 f none /usr/local/lib/php/Structures/Graph/Manipulator/AcyclicTest.php 0644 root root 5744 30242 1304492785 1 f none /usr/local/lib/php/Structures/Graph/Manipulator/TopologicalSorter.php 0644 root root 6694 45862 1304492785 1 f none /usr/local/lib/php/Structures/Graph/Node.php 0644 root root 11048 30713 1304492785 1 f none /usr/local/lib/php/System.php 0644 root root 19967 62304 1304492787 1 d none /usr/local/lib/php/XML 0755 root root 1 f none /usr/local/lib/php/XML/Util.php 0644 root root 30440 53652 1304492785 1 d none /usr/local/lib/php/build 0755 root root 1 f none /usr/local/lib/php/build/Makefile.global 0644 root root 5498 22477 1304492748 1 f none /usr/local/lib/php/build/acinclude.m4 0644 root root 75979 1711 1304492748 1 f none /usr/local/lib/php/build/config.guess 0755 root root 44892 23949 1304492748 1 f none /usr/local/lib/php/build/config.sub 0755 root root 33387 42120 1304492748 1 f none /usr/local/lib/php/build/libtool.m4 0644 root root 230324 8547 1304492748 1 f none /usr/local/lib/php/build/ltmain.sh 0644 root root 199728 29169 1304492748 1 f none /usr/local/lib/php/build/mkdep.awk 0644 root root 2272 17033 1304492748 1 f none /usr/local/lib/php/build/phpize.m4 0644 root root 4639 35636 1304492748 1 f none /usr/local/lib/php/build/run-tests.php 0644 root root 69309 17938 1304492748 1 f none /usr/local/lib/php/build/scan_makefile_in.awk 0644 root root 410 29019 1304492748 1 f none /usr/local/lib/php/build/shtool 0755 root root 65467 40759 1304492748 1 d none /usr/local/lib/php/data 0755 root root 1 d none /usr/local/lib/php/data/PEAR 0755 root root 1 f none /usr/local/lib/php/data/PEAR/package.dtd 0644 root root 3391 37669 1304492787 1 f none /usr/local/lib/php/data/PEAR/template.spec 0644 root root 2005 41492 1304492787 1 d none /usr/local/lib/php/data/Structures_Graph 0755 root root 1 f none /usr/local/lib/php/data/Structures_Graph/LICENSE 0644 root root 26430 8501 1304492785 1 d none /usr/local/lib/php/doc 0755 root root 1 d none /usr/local/lib/php/doc/Archive_Tar 0755 root root 1 d none /usr/local/lib/php/doc/Archive_Tar/docs 0755 root root 1 f none /usr/local/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt 0644 root root 18363 42700 1304492784 1 d none /usr/local/lib/php/doc/PEAR 0755 root root 1 f none /usr/local/lib/php/doc/PEAR/INSTALL 0644 root root 2217 63663 1304492787 1 f none /usr/local/lib/php/doc/PEAR/LICENSE 0644 root root 1477 50946 1304492787 1 f none /usr/local/lib/php/doc/PEAR/README 0644 root root 1189 36408 1304492787 1 d none /usr/local/lib/php/doc/Structures_Graph 0755 root root 1 d none /usr/local/lib/php/doc/Structures_Graph/docs 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/generate.sh 0644 root root 365 31831 1304492785 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/html 0755 root root 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph.html 0644 root root 8891 56254 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html 0644 root root 3848 47398 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html 0644 root root 4193 14339 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/Structures_Graph_Node.html 0644 root root 20537 9343 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html 0644 root root 3890 45143 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html 0644 root root 4437 26621 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_Node_php.html 0644 root root 3310 60002 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/_Structures_Graph_php.html 0644 root root 4231 63225 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/Structures_Graph/tutorial_Structures_Graph.pkg.html 0644 root root 4678 15136 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/classtrees_Structures_Graph.html 0644 root root 1368 51677 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/elementindex.html 0644 root root 15623 63283 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/elementindex_Structures_Graph.html 0644 root root 15952 33295 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/errors.html 0644 root root 725 58228 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/index.html 0644 root root 1009 15383 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/li_Structures_Graph.html 0644 root root 2544 5567 1304492785 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/html/media 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/media/banner.css 0644 root root 393 30727 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/media/stylesheet.css 0644 root root 4996 30326 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/packages.html 0644 root root 929 1827 1304492785 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/html/todolist.html 0644 root root 876 5677 1304492785 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/tutorials 0755 root root 1 d none /usr/local/lib/php/doc/Structures_Graph/docs/tutorials/Structures_Graph 0755 root root 1 f none /usr/local/lib/php/doc/Structures_Graph/docs/tutorials/Structures_Graph/Structures_Graph.pkg 0644 root root 4044 26071 1304492785 1 d none /usr/local/lib/php/doc/XML_Util 0755 root root 1 d none /usr/local/lib/php/doc/XML_Util/examples 0755 root root 1 f none /usr/local/lib/php/doc/XML_Util/examples/example.php 0644 root root 9213 38187 1304492785 1 f none /usr/local/lib/php/doc/XML_Util/examples/example2.php 0644 root root 4897 48706 1304492785 1 f none /usr/local/lib/php/pearcmd.php 0644 root root 14436 3616 1304492787 1 f none /usr/local/lib/php/peclcmd.php 0644 root root 934 6486 1304492787 1 d none /usr/local/lib/php/test 0755 root root 1 d none /usr/local/lib/php/test/Structures_Graph 0755 root root 1 d none /usr/local/lib/php/test/Structures_Graph/tests 0755 root root 1 f none /usr/local/lib/php/test/Structures_Graph/tests/AllTests.php 0644 root root 3340 5242 1304492785 1 d none /usr/local/lib/php/test/Structures_Graph/tests/testCase 0755 root root 1 f none /usr/local/lib/php/test/Structures_Graph/tests/testCase/BasicGraph.php 0644 root root 9097 25804 1304492785 1 d none /usr/local/lib/php/test/XML_Util 0755 root root 1 d none /usr/local/lib/php/test/XML_Util/tests 0755 root root 1 f none /usr/local/lib/php/test/XML_Util/tests/AllTests.php 0644 root root 3632 23755 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_apiVersion.phpt 0644 root root 449 34704 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_attributesToString.phpt 0644 root root 3631 17955 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_collapseEmptyTags.phpt 0644 root root 1795 13118 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createCDataSection.phpt 0644 root root 494 38676 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createComment.phpt 0644 root root 471 36399 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createEndElement.phpt 0644 root root 696 55132 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createStartElement.phpt 0644 root root 3773 36699 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createTag.phpt 0644 root root 5916 3444 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_createTagFromArray.phpt 0644 root root 9305 36544 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_getDocTypeDeclaration.phpt 0644 root root 1516 53150 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_getXmlDeclaration.phpt 0644 root root 1167 27570 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_isValidName.phpt 0644 root root 1410 45839 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_raiseError.phpt 0644 root root 502 38519 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_replaceEntities.phpt 0644 root root 3248 61763 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_reverseEntities.phpt 0644 root root 3233 58945 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBasic_splitQualifiedName.phpt 0644 root root 983 15045 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBug_4950.phpt 0644 root root 675 52660 1304492785 1 f none /usr/local/lib/php/test/XML_Util/tests/testBug_5392.phpt 0644 root root 1097 23405 1304492785 1 d none /usr/local/man 0755 root root 1 d none /usr/local/man/man1 0755 root root 1 f none /usr/local/man/man1/php-config.1 0644 root root 1679 8899 1304492783 1 f none /usr/local/man/man1/php.1 0644 root root 8708 65177 1304492747 1 f none /usr/local/man/man1/phpize.1 0644 root root 1015 17417 1304492783 1 d none /var ? ? ? 1 d none /var/opt ? ? ? 1 i checkinstall 785 2565 1304568706 1 i pkginfo 198 15582 1304568709 07070100081386000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000000800000000install07070100081387000081ed0000000000000000000000014dc22382000003110000010000010007ffffffffffffffff0000001500000000install/checkinstall#!/bin/sh # expected_bits="64" expected_release="5.10" expected_platform="sparc" # release=`uname -r` platform=`uname -p` bits=`isainfo -b` # if [ ${platform} != ${expected_platform} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${release} != ${expected_release} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${bits} != ${expected_bits} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n" echo "\tYour machine is running a ${bits} bit O.S. currently\n" echo "\tAborting installation.\n\n\n" exit 1 fi exit 0 0707010008117c000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000000500000000root0707010008117d000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000000900000000root/usr0707010008117e000041ed0000000000000000000000074dc22385000000000000010000010007ffffffffffffffff0000000f00000000root/usr/local07070100081381000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000001300000000root/usr/local/man07070100081382000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000001800000000root/usr/local/man/man107070100081383000081a40000000000000000000000014dc0faef0000068f0000010000010007ffffffffffffffff0000002500000000root/usr/local/man/man1/php-config.1.TH php\-config 1 "2010" "The PHP Group" "Scripting Language" .SH NAME php\-config \- get information about PHP configuration and compile options .SH SYNOPSIS .B php\-config [options] .LP .SH DESCRIPTION .B php\-config is a simple shell script for obtaining information about installed PHP configuration. .SH OPTIONS .TP 15 .PD 0 .B \-\-prefix Directory prefix where PHP is installed, e.g. /usr/local .TP .PD 0 .B \-\-includes List of \-I options with all include files .TP .PD 0 .B \-\-ldflags LD Flags which PHP was compiled with .TP .PD 0 .B \-\-libs Extra libraries which PHP was compiled with .TP .PD 0 .B \-\-extension-dir Directory where extensions are searched by default .TP .PD 0 .B \-\-include-dir Directory prefix where header files are installed by default .TP .PD 0 .B \-\-php-binary Full path to php CLI or CGI binary .TP .PD 0 .B \-\-php-sapis Show all SAPI modules available .TP .PD 0 .B \-\-configure-options Configure options to recreate configuration of current PHP installation .TP .PD 0 .B \-\-version PHP version .TP .PD 0 .B \-\-vernum PHP version as integer .TP .PD 1 .P .SH SEE ALSO .BR php (1) .SH VERSION INFORMATION This manpage describes \fBphp\fP, version 5.3.6. .SH COPYRIGHT Copyright \(co 1997\-2010 The PHP Group .LP This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url: .PD 0 .P .B http://www.php.net/license/3_01.txt .PD 1 .P If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to .B license@php.net so we can mail you a copy immediately. 07070100081385000081a40000000000000000000000014dc0faef000003f70000010000010007ffffffffffffffff0000002100000000root/usr/local/man/man1/phpize.1.TH phpize 1 "2010" "The PHP Group" "Scripting Language" .SH NAME phpize \- prepare a PHP extension for compiling .SH SYNOPSIS .B phpize [options] .LP .SH DESCRIPTION .B phpize is a shell script to prepare PHP extension for compiling. .SH OPTIONS .TP 15 .PD 0 .B \-\-clean Remove all created files .TP .PD 0 .B \-\-help Prints usage information .TP .PD 0 .B \-\-version .TP .PD 1 .B \-v Prints API version information .TP .PD 1 .P .SH SEE ALSO .BR php (1) .SH VERSION INFORMATION This manpage describes \fBphp\fP, version 5.3.6. .SH COPYRIGHT Copyright \(co 1997\-2010 The PHP Group .LP This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url: .PD 0 .P .B http://www.php.net/license/3_01.txt .PD 1 .P If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to .B license@php.net so we can mail you a copy immediately. 07070100081384000081a40000000000000000000000014dc0facb000022040000010000010007ffffffffffffffff0000001e00000000root/usr/local/man/man1/php.1.TH PHP 1 "2010" "The PHP Group" "Scripting Language" .SH NAME php \- PHP Command Line Interface 'CLI' .SH SYNOPSIS .B php [options] [ .B \-f\fP ] .IR file [[\-\-] .IR args.\|.\|. ] .LP .B php [options] .B \-r .IR code [[\-\-] .IR args.\|.\|. ] .LP .B php [options] [\-B .IR code ] .B \-R .IR code [\-E .IR code ] [[\-\-] .IR args.\|.\|. ] .LP .B php [options] [\-B .IR code ] .B \-F .IR file [\-E .IR code ] [[\-\-] .IR args.\|.\|. ] .LP .B php [options] \-\- [ .IR args.\|.\|. ] .LP \fBphp \fP[options] \fB\-a\fP .LP .SH DESCRIPTION \fBPHP\fP is a widely\-used general\-purpose scripting language that is especially suited for Web development and can be embedded into HTML. This is the command line interface that enables you to do the following: .P You can parse and execute files by using parameter \-f followed by the name of the .IR file to be executed. .LP Using parameter \-r you can directly execute PHP .IR code simply as you would do inside a .B \.php file when using the .B eval() function. .LP It is also possible to process the standard input line by line using either the parameter \-R or \-F. In this mode each separate input line causes the .IR code specified by \-R or the .IR file specified by \-F to be executed. You can access the input line by \fB$argn\fP. While processing the input lines .B $argi contains the number of the actual line being processed. Further more the parameters \-B and \-E can be used to execute .IR code (see \-r) before and after all input lines have been processed respectively. Notice that the input is read from .B STDIN and therefore reading from .B STDIN explicitly changes the next input line or skips input lines. .LP If none of \-r \-f \-B \-R \-F or \-E is present but a single parameter is given then this parameter is taken as the filename to parse and execute (same as with \-f). If no parameter is present then the standard input is read and executed. .SH OPTIONS .TP 15 .PD 0 .B \-\-interactive .TP .PD 1 .B \-a Run PHP interactively. This lets you enter snippets of PHP code that directly get executed. When readline support is enabled you can edit the lines and also have history support. .TP .PD 0 .B \-\-bindpath \fIaddress:port\fP|\fIport\fP .TP .PD 1 .B \-b \fIaddress:port\fP|\fIport\fP Bind Path for external FASTCGI Server mode (CGI only). .TP .PD 0 .B \-\-no\-chdir .TP .PD 1 .B \-C Do not chdir to the script's directory (CGI only). .TP .PD 0 .B \-\-no\-header .TP .PD 1 .B \-q Quiet-mode. Suppress HTTP header output (CGI only). .TP .PD 0 .B \-\-timing \fIcount\fP .TP .PD 1 .B \-T \fIcount\fP Measure execution time of script repeated count times (CGI only). .TP .PD 0 .B \-\-php\-ini \fIpath\fP|\fIfile\fP .TP .PD 1 .B \-c \fIpath\fP|\fIfile\fP Look for .B php.ini file in the directory .IR path or use the specified .IR file .TP .PD 0 .B \-\-no\-php\-ini .TP .PD 1 .B \-n No .B php.ini file will be used .TP .PD 0 .B \-\-define \fIfoo\fP[=\fIbar\fP] .TP .PD 1 .B \-d \fIfoo\fP[=\fIbar\fP] Define INI entry .IR foo with value .IR bar .TP .B \-e Generate extended information for debugger/profiler .TP .PD 0 .B \-\-file \fIfile\fP .TP .PD 1 .B \-f \fIfile\fP Parse and execute .IR file .TP .PD 0 .B \-\-global \fIname\fP .TP .PD 1 .B \-g \fIname\fP Make variable .IR name global in script. .TP .PD 0 .B \-\-help .TP .PD 1 .B \-h This help .TP .PD 0 .B \-\-hide\-args .TP .PD 1 .B \-H Hide script name (\fIfile\fP) and parameters (\fIargs\.\.\.\fP) from external tools. For example you may want to use this when a php script is started as a daemon and the command line contains sensitive data such as passwords. .TP .PD 0 .B \-\-info .TP .PD 1 .B \-i PHP information and configuration .TP .PD 0 .B \-\-syntax\-check .TP .PD 1 .B \-l Syntax check only (lint) .TP .PD 0 .B \-\-modules .TP .PD 1 .B \-m Show compiled in modules .TP .PD 0 .B \-\-run \fIcode\fP .TP .PD 1 .B \-r \fIcode\fP Run PHP .IR code without using script tags .B '' .TP .PD 0 .B \-\-process\-begin \fIcode\fP .TP .PD 1 .B \-B \fIcode\fP Run PHP .IR code before processing input lines .TP .PD 0 .B \-\-process\-code \fIcode\fP .TP .PD 1 .B \-R \fIcode\fP Run PHP .IR code for every input line .TP .PD 0 .B \-\-process\-file \fIfile\fP .TP .PD 1 .B \-F \fIfile\fP Parse and execute .IR file for every input line .TP .PD 0 .B \-\-process\-end \fIcode\fP .TP .PD 1 .B \-E \fIcode\fP Run PHP .IR code after processing all input lines .TP .PD 0 .B \-\-syntax\-highlight .TP .PD 1 .B \-s Output HTML syntax highlighted source .TP .PD 0 .B \-\-version .TP .PD 1 .B \-v Version number .TP .PD 0 .B \-\-stripped .TP .PD 1 .B \-w Output source with stripped comments and whitespace .TP .PD 0 .B \-\-zend\-extension \fIfile\fP .TP .PD 1 .B \-z \fIfile\fP Load Zend extension .IR file .TP .IR args.\|.\|. Arguments passed to script. Use .B '\-\-' .IR args when first argument starts with .B '\-' or script is read from stdin .TP .PD 0 .B \-\-rfunction .IR name .TP .PD 1 .B \-\-rf .IR name Shows information about function .B name .TP .PD 0 .B \-\-rclass .IR name .TP .PD 1 .B \-\-rc .IR name Shows information about class .B name .TP .PD 0 .B \-\-rextension .IR name .TP .PD 1 .B \-\-re .IR name Shows information about extension .B name .TP .PD 0 .B \-\-rextinfo .IR name .TP .PD 1 .B \-\-ri .IR name Shows configuration for extension .B name .TP .B \-\-ini Show configuration file names .SH FILES .TP 15 .B php\-cli.ini The configuration file for the CLI version of PHP. .TP .B php.ini The standard configuration file will only be used when .B php\-cli.ini cannot be found. .SH EXAMPLES .TP 5 \fIphp \-r 'echo "Hello World\\n";'\fP This command simply writes the text "Hello World" to standard out. .TP \fIphp \-r 'print_r(gd_info());'\fP This shows the configuration of your gd extension. You can use this to easily check which image formats you can use. If you have any dynamic modules you may want to use the same ini file that php uses when executed from your webserver. There are more extensions which have such a function. For dba use: .RS \fIphp \-r 'print_r(dba_handlers(1));'\fP .RE .TP \fIphp \-R 'echo strip_tags($argn)."\\n";'\fP This PHP command strips off the HTML tags line by line and outputs the result. To see how it works you can first look at the following PHP command \'\fIphp \-d html_errors=1 \-i\fP\' which uses PHP to output HTML formatted configuration information. If you then combine those two \'\fIphp \.\.\.|php \.\.\.\fP\' you'll see what happens. .TP \fIphp \-E 'echo "Lines: $argi\\n";'\fP Using this PHP command you can count the lines being input. .TP \fIphp \-R '@$l+=count(file($argn));' \-E 'echo "Lines:$l\\n";'\fP In this example PHP expects each input line being a file. It counts all lines of the files specified by each input line and shows the summarized result. You may combine this with tools like find and change the php scriptlet. .TP \fIphp \-R 'echo "$argn\\n"; fgets(STDIN);'\fP Since you have access to STDIN from within \-B \-R \-F and \-E you can skip certain input lines with your code. But note that in such cases $argi only counts the lines being processed by php itself. Having read this you will guess what the above program does: skipping every second input line. .SH TIPS You can use a shebang line to automatically invoke php from scripts. Only the CLI version of PHP will ignore such a first line as shown below: .P .PD 0 .RS #!/bin/php .P .RE .PD 1 .P .SH SEE ALSO For a more or less complete description of PHP look here: .PD 0 .P .B http://www.php.net/manual/ .PD 1 .P .SH BUGS You can view the list of known bugs or report any new bug you found at: .PD 0 .P .B http://bugs.php.net .PD 1 .SH AUTHORS The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski. .P Additional work for the CLI sapi was done by Edin Kadribasic, Marcus Boerger and Johannes Schlueter. .P A List of active developers can be found here: .PD 0 .P .B http://www.php.net/credits.php .PD 1 .P And last but not least PHP was developed with the help of a huge amount of contributors all around the world. .SH VERSION INFORMATION This manpage describes \fBphp\fP, version 5.3.6. .SH COPYRIGHT Copyright \(co 1997\-2010 The PHP Group .LP This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url: .PD 0 .P .B http://www.php.net/license/3_01.txt .PD 1 .P If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to .B license@php.net so we can mail you a copy immediately. 07070100081189000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000001700000000root/usr/local/include0707010008118a000041ed0000000000000000000000064dc22385000000000000010000010007ffffffffffffffff0000001b00000000root/usr/local/include/php0707010008118b000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002000000000root/usr/local/include/php/TSRM07070100081194000081a40000000000000000000000014dc0faea00002f1d0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/TSRM/tsrm_virtual_cwd.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Sascha Schumann | | Pierre Joye | +----------------------------------------------------------------------+ */ /* $Id: tsrm_virtual_cwd.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef VIRTUAL_CWD_H #define VIRTUAL_CWD_H #include "TSRM.h" #include "tsrm_config_common.h" #include #include #include #ifdef HAVE_UTIME_H #include #endif #ifdef HAVE_STDARG_H #include #endif #ifdef ZTS #define VIRTUAL_DIR #endif #ifndef TSRM_WIN32 #include #else #include #endif #if defined(__osf__) || defined(_AIX) #include #endif #ifdef TSRM_WIN32 #include "readdir.h" #include /* mode_t isn't defined on Windows */ typedef unsigned short mode_t; #define DEFAULT_SLASH '\\' #define DEFAULT_DIR_SEPARATOR ';' #define IS_SLASH(c) ((c) == '/' || (c) == '\\') #define IS_SLASH_P(c) (*(c) == '/' || \ (*(c) == '\\' && !IsDBCSLeadByte(*(c-1)))) /* COPY_WHEN_ABSOLUTE is 2 under Win32 because by chance both regular absolute paths in the file system and UNC paths need copying of two characters */ #define COPY_WHEN_ABSOLUTE(path) 2 #define IS_UNC_PATH(path, len) \ (len >= 2 && IS_SLASH(path[0]) && IS_SLASH(path[1])) #define IS_ABSOLUTE_PATH(path, len) \ (len >= 2 && ((isalpha(path[0]) && path[1] == ':') || IS_UNC_PATH(path, len))) #elif defined(NETWARE) #ifdef HAVE_DIRENT_H #include #endif #define DEFAULT_SLASH '/' #define DEFAULT_DIR_SEPARATOR ';' #define IS_SLASH(c) ((c) == '/' || (c) == '\\') #define IS_SLASH_P(c) IS_SLASH(*(c)) /* Colon indicates volume name, either first character should be forward slash or backward slash */ #define IS_ABSOLUTE_PATH(path, len) \ ((strchr(path, ':') != NULL) || ((len >= 1) && ((path[0] == '/') || (path[0] == '\\')))) #else #ifdef HAVE_DIRENT_H #include #endif #define DEFAULT_SLASH '/' #ifdef __riscos__ #define DEFAULT_DIR_SEPARATOR ';' #else #define DEFAULT_DIR_SEPARATOR ':' #endif #define IS_SLASH(c) ((c) == '/') #define IS_SLASH_P(c) (*(c) == '/') #endif #ifndef COPY_WHEN_ABSOLUTE #define COPY_WHEN_ABSOLUTE(path) 0 #endif #ifndef IS_ABSOLUTE_PATH #define IS_ABSOLUTE_PATH(path, len) \ (IS_SLASH(path[0])) #endif #ifdef TSRM_EXPORTS #define CWD_EXPORTS #endif #ifdef TSRM_WIN32 # ifdef CWD_EXPORTS # define CWD_API __declspec(dllexport) # else # define CWD_API __declspec(dllimport) # endif #elif defined(__GNUC__) && __GNUC__ >= 4 # define CWD_API __attribute__ ((visibility("default"))) #else # define CWD_API #endif #ifdef TSRM_WIN32 CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat); CWD_API int php_sys_stat(const char *path, struct stat *buf); CWD_API int php_sys_lstat(const char *path, struct stat *buf); CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len); #else # define php_sys_stat stat # define php_sys_lstat lstat # ifdef HAVE_SYMLINK # define php_sys_readlink(link, target, target_len) readlink(link, target, target_len) # endif #endif typedef struct _cwd_state { char *cwd; int cwd_length; } cwd_state; typedef int (*verify_path_func)(const cwd_state *); CWD_API void virtual_cwd_startup(void); CWD_API void virtual_cwd_shutdown(void); CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC); CWD_API char *virtual_getcwd(char *buf, size_t size TSRMLS_DC); CWD_API int virtual_chdir(const char *path TSRMLS_DC); CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path TSRMLS_DC) TSRMLS_DC); CWD_API int virtual_filepath(const char *path, char **filepath TSRMLS_DC); CWD_API int virtual_filepath_ex(const char *path, char **filepath, verify_path_func verify_path TSRMLS_DC); CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC); CWD_API FILE *virtual_fopen(const char *path, const char *mode TSRMLS_DC); CWD_API int virtual_open(const char *path TSRMLS_DC, int flags, ...); CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC); CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC); CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC); CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC); CWD_API int virtual_unlink(const char *path TSRMLS_DC); CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC); CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC); CWD_API DIR *virtual_opendir(const char *pathname TSRMLS_DC); CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC); CWD_API int virtual_access(const char *pathname, int mode TSRMLS_DC); #if defined(TSRM_WIN32) /* these are not defined in win32 headers */ #ifndef W_OK #define W_OK 0x02 #endif #ifndef R_OK #define R_OK 0x04 #endif #ifndef X_OK #define X_OK 0x01 #endif #ifndef F_OK #define F_OK 0x00 #endif #endif #if HAVE_UTIME CWD_API int virtual_utime(const char *filename, struct utimbuf *buf TSRMLS_DC); #endif CWD_API int virtual_chmod(const char *filename, mode_t mode TSRMLS_DC); #if !defined(TSRM_WIN32) && !defined(NETWARE) CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC); #endif /* One of the following constants must be used as the last argument in virtual_file_ex() call. */ #define CWD_EXPAND 0 /* expand "." and ".." but dont resolve symlinks */ #define CWD_FILEPATH 1 /* resolve symlinks if file is exist otherwise expand */ #define CWD_REALPATH 2 /* call realpath(), resolve symlinks. File must exist */ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath); CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC); #define REALPATH_CACHE_TTL (2*60) /* 2 minutes */ #define REALPATH_CACHE_SIZE 0 /* disabled while php.ini isn't loaded */ typedef struct _realpath_cache_bucket { unsigned long key; char *path; int path_len; char *realpath; int realpath_len; int is_dir; time_t expires; #ifdef PHP_WIN32 unsigned char is_rvalid; unsigned char is_readable; unsigned char is_wvalid; unsigned char is_writable; #endif struct _realpath_cache_bucket *next; } realpath_cache_bucket; typedef struct _virtual_cwd_globals { cwd_state cwd; long realpath_cache_size; long realpath_cache_size_limit; long realpath_cache_ttl; realpath_cache_bucket *realpath_cache[1024]; } virtual_cwd_globals; #ifdef ZTS extern ts_rsrc_id cwd_globals_id; # define CWDG(v) TSRMG(cwd_globals_id, virtual_cwd_globals *, v) #else extern virtual_cwd_globals cwd_globals; # define CWDG(v) (cwd_globals.v) #endif CWD_API void realpath_cache_clean(TSRMLS_D); CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC); CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC); CWD_API int realpath_cache_size(TSRMLS_D); CWD_API int realpath_cache_max_buckets(TSRMLS_D); CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D); /* The actual macros to be used in programs using TSRM * If the program defines VIRTUAL_DIR it will use the * virtual_* functions */ #ifdef VIRTUAL_DIR #define VCWD_GETCWD(buff, size) virtual_getcwd(buff, size TSRMLS_CC) #define VCWD_FOPEN(path, mode) virtual_fopen(path, mode TSRMLS_CC) /* Because open() has two modes, we have to macros to replace it */ #define VCWD_OPEN(path, flags) virtual_open(path TSRMLS_CC, flags) #define VCWD_OPEN_MODE(path, flags, mode) virtual_open(path TSRMLS_CC, flags, mode) #define VCWD_CREAT(path, mode) virtual_creat(path, mode TSRMLS_CC) #define VCWD_CHDIR(path) virtual_chdir(path TSRMLS_CC) #define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, virtual_chdir TSRMLS_CC) #define VCWD_GETWD(buf) #define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC) #define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC) #define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC) #define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC) #define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC) #define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC) #define VCWD_RMDIR(pathname) virtual_rmdir(pathname TSRMLS_CC) #define VCWD_OPENDIR(pathname) virtual_opendir(pathname TSRMLS_CC) #define VCWD_POPEN(command, type) virtual_popen(command, type TSRMLS_CC) #define VCWD_ACCESS(pathname, mode) virtual_access(pathname, mode TSRMLS_CC) #if HAVE_UTIME #define VCWD_UTIME(path, time) virtual_utime(path, time TSRMLS_CC) #endif #define VCWD_CHMOD(path, mode) virtual_chmod(path, mode TSRMLS_CC) #if !defined(TSRM_WIN32) && !defined(NETWARE) #define VCWD_CHOWN(path, owner, group) virtual_chown(path, owner, group, 0 TSRMLS_CC) #if HAVE_LCHOWN #define VCWD_LCHOWN(path, owner, group) virtual_chown(path, owner, group, 1 TSRMLS_CC) #endif #endif #else #define VCWD_GETCWD(buff, size) getcwd(buff, size) #define VCWD_FOPEN(path, mode) fopen(path, mode) #define VCWD_OPEN(path, flags) open(path, flags) #define VCWD_OPEN_MODE(path, flags, mode) open(path, flags, mode) #define VCWD_CREAT(path, mode) creat(path, mode) /* rename on windows will fail if newname already exists. MoveFileEx has to be used */ #if defined(TSRM_WIN32) # define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0 ? -1 : 0) #else # define VCWD_RENAME(oldname, newname) rename(oldname, newname) #endif #define VCWD_CHDIR(path) chdir(path) #define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, chdir) #define VCWD_GETWD(buf) getwd(buf) #define VCWD_STAT(path, buff) php_sys_stat(path, buff) #define VCWD_LSTAT(path, buff) lstat(path, buff) #define VCWD_UNLINK(path) unlink(path) #define VCWD_MKDIR(pathname, mode) mkdir(pathname, mode) #define VCWD_RMDIR(pathname) rmdir(pathname) #define VCWD_OPENDIR(pathname) opendir(pathname) #define VCWD_POPEN(command, type) popen(command, type) #if defined(TSRM_WIN32) #define VCWD_ACCESS(pathname, mode) tsrm_win32_access(pathname, mode) #else #define VCWD_ACCESS(pathname, mode) access(pathname, mode) #endif #define VCWD_REALPATH(path, real_path) tsrm_realpath(path, real_path TSRMLS_CC) #if HAVE_UTIME # ifdef TSRM_WIN32 # define VCWD_UTIME(path, time) win32_utime(path, time) # else # define VCWD_UTIME(path, time) utime(path, time) # endif #endif #define VCWD_CHMOD(path, mode) chmod(path, mode) #if !defined(TSRM_WIN32) && !defined(NETWARE) #define VCWD_CHOWN(path, owner, group) chown(path, owner, group) #if HAVE_LCHOWN #define VCWD_LCHOWN(path, owner, group) lchown(path, owner, group) #endif #endif #endif #endif /* VIRTUAL_CWD_H */ 0707010008118e000081a40000000000000000000000014dc0faea0000044e0000010000010007ffffffffffffffff0000002a00000000root/usr/local/include/php/TSRM/readdir.h#ifndef READDIR_H #define READDIR_H /* * Structures and types used to implement opendir/readdir/closedir * on Windows 95/NT. */ #include #include #include #include #include #include /* struct dirent - same as Unix */ struct dirent { long d_ino; /* inode (always 1 in WIN32) */ off_t d_off; /* offset to this dirent */ unsigned short d_reclen; /* length of d_name */ char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */ }; /* typedef DIR - not the same as Unix */ typedef struct { HANDLE handle; /* _findfirst/_findnext handle */ short offset; /* offset into directory */ short finished; /* 1 if there are not more files */ WIN32_FIND_DATA fileinfo; /* from _findfirst/_findnext */ char *dir; /* the dir we are reading */ struct dirent dent; /* the dirent to return */ } DIR; /* Function prototypes */ DIR *opendir(const char *); struct dirent *readdir(DIR *); int readdir_r(DIR *, struct dirent *, struct dirent **); int closedir(DIR *); int rewinddir(DIR *); #endif /* READDIR_H */ 07070100081193000081a40000000000000000000000014dc0faea000000730000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/TSRM/tsrm_strtok_r.h#ifndef TSRM_STRTOK_R #define TSRM_STRTOK_R char *tsrm_strtok_r(char *s, const char *delim, char **last); #endif 0707010008118d000081a40000000000000000000000014dc0faea000000100000010000010007ffffffffffffffff0000002b00000000root/usr/local/include/php/TSRM/acconfig.h#undef PTHREADS 0707010008118c000081a40000000000000000000000014dc0faea000014d90000010000010007ffffffffffffffff0000002700000000root/usr/local/include/php/TSRM/TSRM.h/* +----------------------------------------------------------------------+ | Thread Safe Resource Manager | +----------------------------------------------------------------------+ | Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski | | This source file is subject to the TSRM license, that is bundled | | with this package in the file LICENSE | +----------------------------------------------------------------------+ | Authors: Zeev Suraski | +----------------------------------------------------------------------+ */ #ifndef TSRM_H #define TSRM_H #if !defined(__CYGWIN__) && defined(WIN32) # define TSRM_WIN32 # include "tsrm_config.w32.h" #else # include #endif #ifdef TSRM_WIN32 # ifdef TSRM_EXPORTS # define TSRM_API __declspec(dllexport) # else # define TSRM_API __declspec(dllimport) # endif #elif defined(__GNUC__) && __GNUC__ >= 4 # define TSRM_API __attribute__ ((visibility("default"))) #else # define TSRM_API #endif #ifdef _WIN64 typedef __int64 tsrm_intptr_t; typedef unsigned __int64 tsrm_uintptr_t; #else typedef long tsrm_intptr_t; typedef unsigned long tsrm_uintptr_t; #endif /* Only compile multi-threading functions if we're in ZTS mode */ #ifdef ZTS #ifdef TSRM_WIN32 # ifndef TSRM_INCLUDE_FULL_WINDOWS_HEADERS # define WIN32_LEAN_AND_MEAN # endif # include # include #elif defined(GNUPTH) # include #elif defined(PTHREADS) # include #elif defined(TSRM_ST) # include #elif defined(BETHREADS) #include #include #endif typedef int ts_rsrc_id; /* Define THREAD_T and MUTEX_T */ #ifdef TSRM_WIN32 # define THREAD_T DWORD # define MUTEX_T CRITICAL_SECTION * #elif defined(GNUPTH) # define THREAD_T pth_t # define MUTEX_T pth_mutex_t * #elif defined(PTHREADS) # define THREAD_T pthread_t # define MUTEX_T pthread_mutex_t * #elif defined(NSAPI) # define THREAD_T SYS_THREAD # define MUTEX_T CRITICAL #elif defined(PI3WEB) # define THREAD_T PIThread * # define MUTEX_T PISync * #elif defined(TSRM_ST) # define THREAD_T st_thread_t # define MUTEX_T st_mutex_t #elif defined(BETHREADS) # define THREAD_T thread_id typedef struct { sem_id sem; int32 ben; } beos_ben; # define MUTEX_T beos_ben * #endif typedef void (*ts_allocate_ctor)(void *, void ***); typedef void (*ts_allocate_dtor)(void *, void ***); #define THREAD_HASH_OF(thr,ts) (unsigned long)thr%(unsigned long)ts #ifdef __cplusplus extern "C" { #endif /* startup/shutdown */ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename); TSRM_API void tsrm_shutdown(void); /* allocates a new thread-safe-resource id */ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor); /* fetches the requested resource for the current thread */ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id); #define ts_resource(id) ts_resource_ex(id, NULL) /* frees all resources allocated for the current thread */ TSRM_API void ts_free_thread(void); /* frees all resources allocated for all threads except current */ void ts_free_worker_threads(void); /* deallocates all occurrences of a given id */ TSRM_API void ts_free_id(ts_rsrc_id id); /* Debug support */ #define TSRM_ERROR_LEVEL_ERROR 1 #define TSRM_ERROR_LEVEL_CORE 2 #define TSRM_ERROR_LEVEL_INFO 3 typedef void (*tsrm_thread_begin_func_t)(THREAD_T thread_id, void ***tsrm_ls); typedef void (*tsrm_thread_end_func_t)(THREAD_T thread_id, void ***tsrm_ls); TSRM_API int tsrm_error(int level, const char *format, ...); TSRM_API void tsrm_error_set(int level, char *debug_filename); /* utility functions */ TSRM_API THREAD_T tsrm_thread_id(void); TSRM_API MUTEX_T tsrm_mutex_alloc(void); TSRM_API void tsrm_mutex_free(MUTEX_T mutexp); TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp); TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp); TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler); TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler); /* these 3 APIs should only be used by people that fully understand the threading model * used by PHP/Zend and the selected SAPI. */ TSRM_API void *tsrm_new_interpreter_context(void); TSRM_API void *tsrm_set_interpreter_context(void *new_ctx); TSRM_API void tsrm_free_interpreter_context(void *context); #define TSRM_SHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)+1) #define TSRM_UNSHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)-1) #define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL) #define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx #define TSRMLS_SET_CTX(ctx) ctx = (void ***) tsrm_ls #define TSRMG(id, type, element) (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element) #define TSRMLS_D void ***tsrm_ls #define TSRMLS_DC , TSRMLS_D #define TSRMLS_C tsrm_ls #define TSRMLS_CC , TSRMLS_C #ifdef __cplusplus } #endif #else /* non ZTS */ #define TSRMLS_FETCH() #define TSRMLS_FETCH_FROM_CTX(ctx) #define TSRMLS_SET_CTX(ctx) #define TSRMLS_D void #define TSRMLS_DC #define TSRMLS_C #define TSRMLS_CC #endif /* ZTS */ #endif /* TSRM_H */ 0707010008118f000081a40000000000000000000000014dc0faea000000200000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/TSRM/tsrm_config.h#include <../main/php_config.h> 07070100081191000081a40000000000000000000000014dc0faea000005b60000010000010007ffffffffffffffff0000003500000000root/usr/local/include/php/TSRM/tsrm_config_common.h#ifndef TSRM_CONFIG_COMMON_H #define TSRM_CONFIG_COMMON_H #ifndef __CYGWIN__ # if WINNT|WIN32 # define TSRM_WIN32 # endif #endif #ifdef TSRM_WIN32 # include "tsrm_config.w32.h" #else # include # include #endif #if HAVE_ALLOCA_H && !defined(_ALLOCA_H) # include #endif /* AIX requires this to be the first thing in the file. */ #ifndef __GNUC__ # ifndef HAVE_ALLOCA_H # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ # ifndef NETWARE char *alloca (); # endif # endif # endif # endif #endif #if HAVE_UNISTD_H #include #endif #if HAVE_LIMITS_H #include #endif #ifndef MAXPATHLEN # ifdef PATH_MAX # define MAXPATHLEN PATH_MAX # elif defined(MAX_PATH) # define MAXPATHLEN MAX_PATH # else # define MAXPATHLEN 256 # endif #endif #if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) # define TSRM_ALLOCA_MAX_SIZE 4096 # define TSRM_ALLOCA_FLAG(name) \ int name; # define tsrm_do_alloca_ex(size, limit, use_heap) \ ((use_heap = ((size) > (limit))) ? malloc(size) : alloca(size)) # define tsrm_do_alloca(size, use_heap) \ tsrm_do_alloca_ex(size, TSRM_ALLOCA_MAX_SIZE, use_heap) # define tsrm_free_alloca(p, use_heap) \ do { if (use_heap) free(p); } while (0) #else # define TSRM_ALLOCA_FLAG(name) # define tsrm_do_alloca(p, use_heap) malloc(p) # define tsrm_free_alloca(p, use_heap) free(p) #endif #endif /* TSRM_CONFIG_COMMON_H */ 07070100081195000081a40000000000000000000000014dc0faea00000caf0000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/TSRM/tsrm_win32.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Daniel Beulshausen | +----------------------------------------------------------------------+ */ /* $Id: tsrm_win32.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef TSRM_WIN32_H #define TSRM_WIN32_H #include "TSRM.h" #include struct ipc_perm { int key; unsigned short uid; unsigned short gid; unsigned short cuid; unsigned short cgid; unsigned short mode; unsigned short seq; }; struct shmid_ds { struct ipc_perm shm_perm; int shm_segsz; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; unsigned short shm_cpid; unsigned short shm_lpid; short shm_nattch; }; typedef struct { FILE *stream; HANDLE prochnd; } process_pair; typedef struct { void *addr; HANDLE info; HANDLE segment; struct shmid_ds *descriptor; } shm_pair; typedef struct { process_pair *process; shm_pair *shm; int process_size; int shm_size; char *comspec; HANDLE impersonation_token; PSID impersonation_token_sid; } tsrm_win32_globals; #ifdef ZTS # define TWG(v) TSRMG(win32_globals_id, tsrm_win32_globals *, v) #else # define TWG(v) (win32_globals.v) #endif #define IPC_PRIVATE 0 #define IPC_CREAT 00001000 #define IPC_EXCL 00002000 #define IPC_NOWAIT 00004000 #define IPC_RMID 0 #define IPC_SET 1 #define IPC_STAT 2 #define IPC_INFO 3 #define SHM_R PAGE_READONLY #define SHM_W PAGE_READWRITE #define SHM_RDONLY FILE_MAP_READ #define SHM_RND FILE_MAP_WRITE #define SHM_REMAP FILE_MAP_COPY char * tsrm_win32_get_path_sid_key(const char *pathname TSRMLS_DC); TSRM_API void tsrm_win32_startup(void); TSRM_API void tsrm_win32_shutdown(void); TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env); TSRM_API FILE *popen(const char *command, const char *type); TSRM_API int pclose(FILE *stream); TSRM_API int tsrm_win32_access(const char *pathname, int mode); TSRM_API int win32_utime(const char *filename, struct utimbuf *buf); TSRM_API int shmget(int key, int size, int flags); TSRM_API void *shmat(int key, const void *shmaddr, int flags); TSRM_API int shmdt(const void *shmaddr); TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf); TSRM_API char *realpath(char *orig_path, char *buffer); #endif 07070100081192000081a40000000000000000000000014dc0faea000005680000010000010007ffffffffffffffff0000002a00000000root/usr/local/include/php/TSRM/tsrm_nw.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Venkat Raghavan S | | Anantha Kesari H Y | +----------------------------------------------------------------------+ */ #ifndef TSRM_NW_H #define TSRM_NW_H #include "TSRM.h" TSRM_API FILE* popen(const char *command, const char *type); TSRM_API int pclose(FILE* stream); #endif 07070100081190000081a40000000000000000000000014dc0faea000001480000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/TSRM/tsrm_config.w32.h#ifndef TSRM_CONFIG_W32_H #define TSRM_CONFIG_W32_H #include <../main/config.w32.h> #define HAVE_UTIME 1 #define HAVE_ALLOCA 1 #define HAVE_REALPATH 1 #include #include #include #undef inline #ifdef ZEND_WIN32_FORCE_INLINE # define inline __forceinline #else # define inline #endif #endif 07070100081270000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000002000000000root/usr/local/include/php/main0707010008128a000081a40000000000000000000000014dc0faed00000a160000010000010007ffffffffffffffff0000002a00000000root/usr/local/include/php/main/rfc1867.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: rfc1867.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef RFC1867_H #define RFC1867_H #include "SAPI.h" #define MULTIPART_CONTENT_TYPE "multipart/form-data" #define MULTIPART_EVENT_START 0 #define MULTIPART_EVENT_FORMDATA 1 #define MULTIPART_EVENT_FILE_START 2 #define MULTIPART_EVENT_FILE_DATA 3 #define MULTIPART_EVENT_FILE_END 4 #define MULTIPART_EVENT_END 5 typedef struct _multipart_event_start { size_t content_length; } multipart_event_start; typedef struct _multipart_event_formdata { size_t post_bytes_processed; char *name; char **value; size_t length; size_t *newlength; } multipart_event_formdata; typedef struct _multipart_event_file_start { size_t post_bytes_processed; char *name; char **filename; } multipart_event_file_start; typedef struct _multipart_event_file_data { size_t post_bytes_processed; off_t offset; char *data; size_t length; size_t *newlength; } multipart_event_file_data; typedef struct _multipart_event_file_end { size_t post_bytes_processed; char *temp_filename; int cancel_upload; } multipart_event_file_end; typedef struct _multipart_event_end { size_t post_bytes_processed; } multipart_event_end; SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler); void destroy_uploaded_files_hash(TSRMLS_D); void php_rfc1867_register_constants(TSRMLS_D); extern PHPAPI int (*php_rfc1867_callback)(unsigned int event, void *event_data, void **extra TSRMLS_DC); #endif /* RFC1867_H */ 07070100081282000081a40000000000000000000000014dc0faed0000129b0000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/main/php_output.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php_output.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_OUTPUT_H #define PHP_OUTPUT_H typedef void (*php_output_handler_func_t)(char *output, uint output_len, char **handled_output, uint *handled_output_len, int mode TSRMLS_DC); BEGIN_EXTERN_C() PHPAPI void php_output_startup(void); PHPAPI void php_output_activate(TSRMLS_D); PHPAPI void php_output_set_status(zend_bool status TSRMLS_DC); PHPAPI void php_output_register_constants(TSRMLS_D); PHPAPI int php_default_output_func(const char *str, uint str_len TSRMLS_DC); PHPAPI int php_ub_body_write(const char *str, uint str_length TSRMLS_DC); PHPAPI int php_ub_body_write_no_header(const char *str, uint str_length TSRMLS_DC); PHPAPI int php_body_write(const char *str, uint str_length TSRMLS_DC); PHPAPI int php_header_write(const char *str, uint str_length TSRMLS_DC); PHPAPI int php_start_ob_buffer(zval *output_handler, uint chunk_size, zend_bool erase TSRMLS_DC); PHPAPI int php_start_ob_buffer_named(const char *output_handler_name, uint chunk_size, zend_bool erase TSRMLS_DC); PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush TSRMLS_DC); PHPAPI void php_end_ob_buffers(zend_bool send_buffer TSRMLS_DC); PHPAPI int php_ob_get_buffer(zval *p TSRMLS_DC); PHPAPI int php_ob_get_length(zval *p TSRMLS_DC); PHPAPI void php_start_implicit_flush(TSRMLS_D); PHPAPI void php_end_implicit_flush(TSRMLS_D); PHPAPI char *php_get_output_start_filename(TSRMLS_D); PHPAPI int php_get_output_start_lineno(TSRMLS_D); PHPAPI void php_ob_set_internal_handler(php_output_handler_func_t internal_output_handler, uint buffer_size, char *handler_name, zend_bool erase TSRMLS_DC); PHPAPI int php_ob_handler_used(char *handler_name TSRMLS_DC); PHPAPI int php_ob_init_conflict(char *handler_new, char *handler_set TSRMLS_DC); PHPAPI int php_ob_get_buffer(zval *p TSRMLS_DC); PHPAPI int php_ob_get_length(zval *p TSRMLS_DC); END_EXTERN_C() PHP_FUNCTION(ob_start); PHP_FUNCTION(ob_flush); PHP_FUNCTION(ob_clean); PHP_FUNCTION(ob_end_flush); PHP_FUNCTION(ob_end_clean); PHP_FUNCTION(ob_get_flush); PHP_FUNCTION(ob_get_clean); PHP_FUNCTION(ob_get_contents); PHP_FUNCTION(ob_get_length); PHP_FUNCTION(ob_get_level); PHP_FUNCTION(ob_get_status); PHP_FUNCTION(ob_implicit_flush); PHP_FUNCTION(ob_list_handlers); typedef struct _php_ob_buffer { char *buffer; uint size; uint text_length; int block_size; uint chunk_size; int status; zval *output_handler; php_output_handler_func_t internal_output_handler; char *internal_output_handler_buffer; uint internal_output_handler_buffer_size; char *handler_name; zend_bool erase; } php_ob_buffer; typedef struct _php_output_globals { int (*php_body_write)(const char *str, uint str_length TSRMLS_DC); /* string output */ int (*php_header_write)(const char *str, uint str_length TSRMLS_DC); /* unbuffer string output */ php_ob_buffer active_ob_buffer; unsigned char implicit_flush; char *output_start_filename; int output_start_lineno; zend_stack ob_buffers; int ob_nesting_level; zend_bool ob_lock; zend_bool disable_output; } php_output_globals; #ifdef ZTS #define OG(v) TSRMG(output_globals_id, php_output_globals *, v) ZEND_API extern int output_globals_id; #else #define OG(v) (output_globals.v) ZEND_API extern php_output_globals output_globals; #endif #define PHP_OUTPUT_HANDLER_START (1<<0) #define PHP_OUTPUT_HANDLER_CONT (1<<1) #define PHP_OUTPUT_HANDLER_END (1<<2) #define PHP_OUTPUT_HANDLER_INTERNAL 0 #define PHP_OUTPUT_HANDLER_USER 1 PHP_FUNCTION(output_add_rewrite_var); PHP_FUNCTION(output_reset_rewrite_vars); #endif /* PHP_OUTPUT_H */ 0707010008127e000081a40000000000000000000000014dc0faec00000acd0000010000010007ffffffffffffffff0000002b00000000root/usr/local/include/php/main/php_main.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php_main.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_MAIN_H #define PHP_MAIN_H #include "zend_globals.h" #include "php_globals.h" #include "SAPI.h" BEGIN_EXTERN_C() PHPAPI int php_request_startup(TSRMLS_D); PHPAPI void php_request_shutdown(void *dummy); PHPAPI void php_request_shutdown_for_exec(void *dummy); PHPAPI int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_modules, uint num_additional_modules); PHPAPI void php_module_shutdown(TSRMLS_D); PHPAPI void php_module_shutdown_for_exec(void); PHPAPI int php_module_shutdown_wrapper(sapi_module_struct *sapi_globals); PHPAPI int php_request_startup_for_hook(TSRMLS_D); PHPAPI int php_register_extensions(zend_module_entry **ptr, int count TSRMLS_DC); PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC); PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret TSRMLS_DC); PHPAPI int php_handle_special_queries(TSRMLS_D); PHPAPI int php_lint_script(zend_file_handle *file TSRMLS_DC); PHPAPI void php_handle_aborted_connection(void); PHPAPI int php_handle_auth_data(const char *auth TSRMLS_DC); PHPAPI void php_html_puts(const char *str, uint siz TSRMLS_DC); PHPAPI int php_stream_open_for_zend_ex(const char *filename, zend_file_handle *handle, int mode TSRMLS_DC); extern void php_call_shutdown_functions(TSRMLS_D); extern void php_free_shutdown_functions(TSRMLS_D); /* environment module */ extern int php_init_environ(void); extern int php_shutdown_environ(void); END_EXTERN_C() #endif 07070100081281000081a40000000000000000000000014dc0faed0000070e0000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/main/php_open_temporary_file.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php_open_temporary_file.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_OPEN_TEMPORARY_FILE_H #define PHP_OPEN_TEMPORARY_FILE_H BEGIN_EXTERN_C() PHPAPI FILE *php_open_temporary_file(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC); PHPAPI int php_open_temporary_fd_ex(const char *dir, const char *pfx, char **opened_path_p, zend_bool open_basedir_check TSRMLS_DC); PHPAPI int php_open_temporary_fd(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC); PHPAPI const char *php_get_temporary_directory(void); PHPAPI void php_shutdown_temporary_directory(void); END_EXTERN_C() #endif /* PHP_OPEN_TEMPORARY_FILE_H */ 07070100081297000081a40000000000000000000000014dc0faed000006840000010000010007ffffffffffffffff0000004300000000root/usr/local/include/php/main/win32_internal_function_disabled.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Pierre A. Joye | +----------------------------------------------------------------------+ */ /* $Id: win32_internal_function_disabled.h 306939 2011-01-01 02:19:59Z felipe $ */ /* 5 means the min version is 5 (XP/2000), 6 (2k8/vista), etc. */ /* Windows Server 2008 6.0 Windows Vista 6.0 Windows Server 2003 R2 5.2 Windows Server 2003 5.2 Windows XP 5.1 Windows 2000 5.0 */ static const char *function_name_5[] = {"link", NULL}; const int function_name_cnt_5 = 1; static const char *function_name_6[] = {"readlink", "symlink", NULL}; const int function_name_cnt_6 = 2; 07070100081285000081a40000000000000000000000014dc0faed000072380000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/main/php_streams.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong (wez@thebrainroom.com) | +----------------------------------------------------------------------+ */ /* $Id: php_streams.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_STREAMS_H #define PHP_STREAMS_H #ifdef HAVE_SYS_TIME_H #include #endif #include #include BEGIN_EXTERN_C() PHPAPI int php_file_le_stream(void); PHPAPI int php_file_le_pstream(void); PHPAPI int php_file_le_stream_filter(void); END_EXTERN_C() /* {{{ Streams memory debugging stuff */ #if ZEND_DEBUG /* these have more of a dependency on the definitions of the zend macros than * I would prefer, but doing it this way saves loads of idefs :-/ */ # define STREAMS_D int __php_stream_call_depth ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC # define STREAMS_C 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC # define STREAMS_REL_C __php_stream_call_depth + 1 ZEND_FILE_LINE_CC, \ __php_stream_call_depth ? __zend_orig_filename : __zend_filename, \ __php_stream_call_depth ? __zend_orig_lineno : __zend_lineno # define STREAMS_DC , STREAMS_D # define STREAMS_CC , STREAMS_C # define STREAMS_REL_CC , STREAMS_REL_C #else # define STREAMS_D # define STREAMS_C # define STREAMS_REL_C # define STREAMS_DC # define STREAMS_CC # define STREAMS_REL_CC #endif /* these functions relay the file/line number information. They are depth aware, so they will pass * the ultimate ancestor, which is useful, because there can be several layers of calls */ #define php_stream_alloc_rel(ops, thisptr, persistent, mode) _php_stream_alloc((ops), (thisptr), (persistent), (mode) STREAMS_REL_CC TSRMLS_CC) #define php_stream_copy_to_mem_rel(src, buf, maxlen, persistent) _php_stream_copy_to_mem((src), (buf), (maxlen), (persistent) STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_rel(filename, mode, opened, options) _php_stream_fopen((filename), (mode), (opened), (options) STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_with_path_rel(filename, mode, path, opened, options) _php_stream_fopen_with_path((filename), (mode), (path), (opened), (options) STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_from_fd_rel(fd, mode, persistent_id) _php_stream_fopen_from_fd((fd), (mode), (persistent_id) STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_from_file_rel(file, mode) _php_stream_fopen_from_file((file), (mode) STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_from_pipe_rel(file, mode) _php_stream_fopen_from_pipe((file), (mode) STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_tmpfile_rel() _php_stream_fopen_tmpfile(0 STREAMS_REL_CC TSRMLS_CC) #define php_stream_fopen_temporary_file_rel(dir, pfx, opened_path) _php_stream_fopen_temporary_file((dir), (pfx), (opened_path) STREAMS_REL_CC TSRMLS_CC) #define php_stream_open_wrapper_rel(path, mode, options, opened) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), NULL STREAMS_REL_CC TSRMLS_CC) #define php_stream_open_wrapper_ex_rel(path, mode, options, opened, context) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), (context) STREAMS_REL_CC TSRMLS_CC) #define php_stream_make_seekable_rel(origstream, newstream, flags) _php_stream_make_seekable((origstream), (newstream), (flags) STREAMS_REL_CC TSRMLS_CC) /* }}} */ /* The contents of the php_stream_ops and php_stream should only be accessed * using the functions/macros in this header. * If you need to get at something that doesn't have an API, * drop me a line and we can sort out a way to do * it properly. * * The only exceptions to this rule are that stream implementations can use * the php_stream->abstract pointer to hold their context, and streams * opened via stream_open_wrappers can use the zval ptr in * php_stream->wrapperdata to hold meta data for php scripts to * retrieve using file_get_wrapper_data(). */ typedef struct _php_stream php_stream; typedef struct _php_stream_wrapper php_stream_wrapper; typedef struct _php_stream_context php_stream_context; typedef struct _php_stream_filter php_stream_filter; #include "streams/php_stream_context.h" #include "streams/php_stream_filter_api.h" typedef struct _php_stream_statbuf { struct stat sb; /* regular info */ /* extended info to go here some day: content-type etc. etc. */ } php_stream_statbuf; typedef struct _php_stream_dirent { char d_name[MAXPATHLEN]; } php_stream_dirent; /* operations on streams that are file-handles */ typedef struct _php_stream_ops { /* stdio like functions - these are mandatory! */ size_t (*write)(php_stream *stream, const char *buf, size_t count TSRMLS_DC); size_t (*read)(php_stream *stream, char *buf, size_t count TSRMLS_DC); int (*close)(php_stream *stream, int close_handle TSRMLS_DC); int (*flush)(php_stream *stream TSRMLS_DC); const char *label; /* label for this ops structure */ /* these are optional */ int (*seek)(php_stream *stream, off_t offset, int whence, off_t *newoffset TSRMLS_DC); int (*cast)(php_stream *stream, int castas, void **ret TSRMLS_DC); int (*stat)(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC); int (*set_option)(php_stream *stream, int option, int value, void *ptrparam TSRMLS_DC); } php_stream_ops; typedef struct _php_stream_wrapper_ops { /* open/create a wrapped stream */ php_stream *(*stream_opener)(php_stream_wrapper *wrapper, char *filename, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC); /* close/destroy a wrapped stream */ int (*stream_closer)(php_stream_wrapper *wrapper, php_stream *stream TSRMLS_DC); /* stat a wrapped stream */ int (*stream_stat)(php_stream_wrapper *wrapper, php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC); /* stat a URL */ int (*url_stat)(php_stream_wrapper *wrapper, char *url, int flags, php_stream_statbuf *ssb, php_stream_context *context TSRMLS_DC); /* open a "directory" stream */ php_stream *(*dir_opener)(php_stream_wrapper *wrapper, char *filename, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC); const char *label; /* delete a file */ int (*unlink)(php_stream_wrapper *wrapper, char *url, int options, php_stream_context *context TSRMLS_DC); /* rename a file */ int (*rename)(php_stream_wrapper *wrapper, char *url_from, char *url_to, int options, php_stream_context *context TSRMLS_DC); /* Create/Remove directory */ int (*stream_mkdir)(php_stream_wrapper *wrapper, char *url, int mode, int options, php_stream_context *context TSRMLS_DC); int (*stream_rmdir)(php_stream_wrapper *wrapper, char *url, int options, php_stream_context *context TSRMLS_DC); } php_stream_wrapper_ops; struct _php_stream_wrapper { php_stream_wrapper_ops *wops; /* operations the wrapper can perform */ void *abstract; /* context for the wrapper */ int is_url; /* so that PG(allow_url_fopen) can be respected */ /* support for wrappers to return (multiple) error messages to the stream opener */ int err_count; char **err_stack; }; #define PHP_STREAM_FLAG_NO_SEEK 1 #define PHP_STREAM_FLAG_NO_BUFFER 2 #define PHP_STREAM_FLAG_EOL_UNIX 0 /* also includes DOS */ #define PHP_STREAM_FLAG_DETECT_EOL 4 #define PHP_STREAM_FLAG_EOL_MAC 8 /* set this when the stream might represent "interactive" data. * When set, the read buffer will avoid certain operations that * might otherwise cause the read to block for much longer than * is strictly required. */ #define PHP_STREAM_FLAG_AVOID_BLOCKING 16 #define PHP_STREAM_FLAG_NO_CLOSE 32 #define PHP_STREAM_FLAG_IS_DIR 64 #define PHP_STREAM_FLAG_NO_FCLOSE 128 struct _php_stream { php_stream_ops *ops; void *abstract; /* convenience pointer for abstraction */ php_stream_filter_chain readfilters, writefilters; php_stream_wrapper *wrapper; /* which wrapper was used to open the stream */ void *wrapperthis; /* convenience pointer for a instance of a wrapper */ zval *wrapperdata; /* fgetwrapperdata retrieves this */ int fgetss_state; /* for fgetss to handle multiline tags */ int is_persistent; char mode[16]; /* "rwb" etc. ala stdio */ int rsrc_id; /* used for auto-cleanup */ int in_free; /* to prevent recursion during free */ /* so we know how to clean it up correctly. This should be set to * PHP_STREAM_FCLOSE_XXX as appropriate */ int fclose_stdiocast; FILE *stdiocast; /* cache this, otherwise we might leak! */ #if ZEND_DEBUG int __exposed; /* non-zero if exposed as a zval somewhere */ #endif char *orig_path; php_stream_context *context; int flags; /* PHP_STREAM_FLAG_XXX */ /* buffer */ off_t position; /* of underlying stream */ unsigned char *readbuf; size_t readbuflen; off_t readpos; off_t writepos; /* how much data to read when filling buffer */ size_t chunk_size; int eof; #if ZEND_DEBUG char *open_filename; uint open_lineno; #endif }; /* php_stream */ /* state definitions when closing down; these are private to streams.c */ #define PHP_STREAM_FCLOSE_NONE 0 #define PHP_STREAM_FCLOSE_FDOPEN 1 #define PHP_STREAM_FCLOSE_FOPENCOOKIE 2 /* allocate a new stream for a particular ops */ BEGIN_EXTERN_C() PHPAPI php_stream *_php_stream_alloc(php_stream_ops *ops, void *abstract, const char *persistent_id, const char *mode STREAMS_DC TSRMLS_DC); END_EXTERN_C() #define php_stream_alloc(ops, thisptr, persistent_id, mode) _php_stream_alloc((ops), (thisptr), (persistent_id), (mode) STREAMS_CC TSRMLS_CC) #define php_stream_get_resource_id(stream) (stream)->rsrc_id #if ZEND_DEBUG /* use this to tell the stream that it is OK if we don't explicitly close it */ # define php_stream_auto_cleanup(stream) { (stream)->__exposed++; } /* use this to assign the stream to a zval and tell the stream that is * has been exported to the engine; it will expect to be closed automatically * when the resources are auto-destructed */ # define php_stream_to_zval(stream, zval) { ZVAL_RESOURCE(zval, (stream)->rsrc_id); (stream)->__exposed++; } #else # define php_stream_auto_cleanup(stream) /* nothing */ # define php_stream_to_zval(stream, zval) { ZVAL_RESOURCE(zval, (stream)->rsrc_id); } #endif #define php_stream_from_zval(xstr, ppzval) ZEND_FETCH_RESOURCE2((xstr), php_stream *, (ppzval), -1, "stream", php_file_le_stream(), php_file_le_pstream()) #define php_stream_from_zval_no_verify(xstr, ppzval) (xstr) = (php_stream*)zend_fetch_resource((ppzval) TSRMLS_CC, -1, "stream", NULL, 2, php_file_le_stream(), php_file_le_pstream()) BEGIN_EXTERN_C() PHPAPI int php_stream_from_persistent_id(const char *persistent_id, php_stream **stream TSRMLS_DC); #define PHP_STREAM_PERSISTENT_SUCCESS 0 /* id exists */ #define PHP_STREAM_PERSISTENT_FAILURE 1 /* id exists but is not a stream! */ #define PHP_STREAM_PERSISTENT_NOT_EXIST 2 /* id does not exist */ #define PHP_STREAM_FREE_CALL_DTOR 1 /* call ops->close */ #define PHP_STREAM_FREE_RELEASE_STREAM 2 /* pefree(stream) */ #define PHP_STREAM_FREE_PRESERVE_HANDLE 4 /* tell ops->close to not close it's underlying handle */ #define PHP_STREAM_FREE_RSRC_DTOR 8 /* called from the resource list dtor */ #define PHP_STREAM_FREE_PERSISTENT 16 /* manually freeing a persistent connection */ #define PHP_STREAM_FREE_CLOSE (PHP_STREAM_FREE_CALL_DTOR | PHP_STREAM_FREE_RELEASE_STREAM) #define PHP_STREAM_FREE_CLOSE_CASTED (PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_PRESERVE_HANDLE) #define PHP_STREAM_FREE_CLOSE_PERSISTENT (PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_PERSISTENT) PHPAPI int _php_stream_free(php_stream *stream, int close_options TSRMLS_DC); #define php_stream_free(stream, close_options) _php_stream_free((stream), (close_options) TSRMLS_CC) #define php_stream_close(stream) _php_stream_free((stream), PHP_STREAM_FREE_CLOSE TSRMLS_CC) #define php_stream_pclose(stream) _php_stream_free((stream), PHP_STREAM_FREE_CLOSE_PERSISTENT TSRMLS_CC) PHPAPI int _php_stream_seek(php_stream *stream, off_t offset, int whence TSRMLS_DC); #define php_stream_rewind(stream) _php_stream_seek((stream), 0L, SEEK_SET TSRMLS_CC) #define php_stream_seek(stream, offset, whence) _php_stream_seek((stream), (offset), (whence) TSRMLS_CC) PHPAPI off_t _php_stream_tell(php_stream *stream TSRMLS_DC); #define php_stream_tell(stream) _php_stream_tell((stream) TSRMLS_CC) PHPAPI size_t _php_stream_read(php_stream *stream, char *buf, size_t count TSRMLS_DC); #define php_stream_read(stream, buf, count) _php_stream_read((stream), (buf), (count) TSRMLS_CC) PHPAPI size_t _php_stream_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC); #define php_stream_write_string(stream, str) _php_stream_write(stream, str, strlen(str) TSRMLS_CC) #define php_stream_write(stream, buf, count) _php_stream_write(stream, (buf), (count) TSRMLS_CC) #ifdef ZTS PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4); #else PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 2, 3); #endif /* php_stream_printf macro & function require TSRMLS_CC */ #define php_stream_printf _php_stream_printf PHPAPI int _php_stream_eof(php_stream *stream TSRMLS_DC); #define php_stream_eof(stream) _php_stream_eof((stream) TSRMLS_CC) PHPAPI int _php_stream_getc(php_stream *stream TSRMLS_DC); #define php_stream_getc(stream) _php_stream_getc((stream) TSRMLS_CC) PHPAPI int _php_stream_putc(php_stream *stream, int c TSRMLS_DC); #define php_stream_putc(stream, c) _php_stream_putc((stream), (c) TSRMLS_CC) PHPAPI int _php_stream_flush(php_stream *stream, int closing TSRMLS_DC); #define php_stream_flush(stream) _php_stream_flush((stream), 0 TSRMLS_CC) PHPAPI char *_php_stream_get_line(php_stream *stream, char *buf, size_t maxlen, size_t *returned_len TSRMLS_DC); #define php_stream_gets(stream, buf, maxlen) _php_stream_get_line((stream), (buf), (maxlen), NULL TSRMLS_CC) #define php_stream_get_line(stream, buf, maxlen, retlen) _php_stream_get_line((stream), (buf), (maxlen), (retlen) TSRMLS_CC) PHPAPI char *php_stream_get_record(php_stream *stream, size_t maxlen, size_t *returned_len, char *delim, size_t delim_len TSRMLS_DC); /* CAREFUL! this is equivalent to puts NOT fputs! */ PHPAPI int _php_stream_puts(php_stream *stream, char *buf TSRMLS_DC); #define php_stream_puts(stream, buf) _php_stream_puts((stream), (buf) TSRMLS_CC) PHPAPI int _php_stream_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC); #define php_stream_stat(stream, ssb) _php_stream_stat((stream), (ssb) TSRMLS_CC) PHPAPI int _php_stream_stat_path(char *path, int flags, php_stream_statbuf *ssb, php_stream_context *context TSRMLS_DC); #define php_stream_stat_path(path, ssb) _php_stream_stat_path((path), 0, (ssb), NULL TSRMLS_CC) #define php_stream_stat_path_ex(path, flags, ssb, context) _php_stream_stat_path((path), (flags), (ssb), (context) TSRMLS_CC) PHPAPI int _php_stream_mkdir(char *path, int mode, int options, php_stream_context *context TSRMLS_DC); #define php_stream_mkdir(path, mode, options, context) _php_stream_mkdir(path, mode, options, context TSRMLS_CC) PHPAPI int _php_stream_rmdir(char *path, int options, php_stream_context *context TSRMLS_DC); #define php_stream_rmdir(path, options, context) _php_stream_rmdir(path, options, context TSRMLS_CC) PHPAPI php_stream *_php_stream_opendir(char *path, int options, php_stream_context *context STREAMS_DC TSRMLS_DC); #define php_stream_opendir(path, options, context) _php_stream_opendir((path), (options), (context) STREAMS_CC TSRMLS_CC) PHPAPI php_stream_dirent *_php_stream_readdir(php_stream *dirstream, php_stream_dirent *ent TSRMLS_DC); #define php_stream_readdir(dirstream, dirent) _php_stream_readdir((dirstream), (dirent) TSRMLS_CC) #define php_stream_closedir(dirstream) php_stream_close((dirstream)) #define php_stream_rewinddir(dirstream) php_stream_rewind((dirstream)) PHPAPI int php_stream_dirent_alphasort(const char **a, const char **b); PHPAPI int php_stream_dirent_alphasortr(const char **a, const char **b); PHPAPI int _php_stream_scandir(char *dirname, char **namelist[], int flags, php_stream_context *context, int (*compare) (const char **a, const char **b) TSRMLS_DC); #define php_stream_scandir(dirname, namelist, context, compare) _php_stream_scandir((dirname), (namelist), 0, (context), (compare) TSRMLS_CC) PHPAPI int _php_stream_set_option(php_stream *stream, int option, int value, void *ptrparam TSRMLS_DC); #define php_stream_set_option(stream, option, value, ptrvalue) _php_stream_set_option((stream), (option), (value), (ptrvalue) TSRMLS_CC) #define php_stream_set_chunk_size(stream, size) _php_stream_set_option((stream), PHP_STREAM_OPTION_SET_CHUNK_SIZE, (size), NULL TSRMLS_CC) END_EXTERN_C() /* Flags for mkdir method in wrapper ops */ #define PHP_STREAM_MKDIR_RECURSIVE 1 /* define REPORT ERRORS 8 (below) */ /* Flags for rmdir method in wrapper ops */ /* define REPORT_ERRORS 8 (below) */ /* Flags for url_stat method in wrapper ops */ #define PHP_STREAM_URL_STAT_LINK 1 #define PHP_STREAM_URL_STAT_QUIET 2 /* change the blocking mode of stream: value == 1 => blocking, value == 0 => non-blocking. */ #define PHP_STREAM_OPTION_BLOCKING 1 /* change the buffering mode of stream. value is a PHP_STREAM_BUFFER_XXXX value, ptrparam is a ptr to a size_t holding * the required buffer size */ #define PHP_STREAM_OPTION_READ_BUFFER 2 #define PHP_STREAM_OPTION_WRITE_BUFFER 3 #define PHP_STREAM_BUFFER_NONE 0 /* unbuffered */ #define PHP_STREAM_BUFFER_LINE 1 /* line buffered */ #define PHP_STREAM_BUFFER_FULL 2 /* fully buffered */ /* set the timeout duration for reads on the stream. ptrparam is a pointer to a struct timeval * */ #define PHP_STREAM_OPTION_READ_TIMEOUT 4 #define PHP_STREAM_OPTION_SET_CHUNK_SIZE 5 /* set or release lock on a stream */ #define PHP_STREAM_OPTION_LOCKING 6 /* whether or not locking is supported */ #define PHP_STREAM_LOCK_SUPPORTED 1 #define php_stream_supports_lock(stream) _php_stream_set_option((stream), PHP_STREAM_OPTION_LOCKING, 0, (void *) PHP_STREAM_LOCK_SUPPORTED TSRMLS_CC) == 0 ? 1 : 0 #define php_stream_lock(stream, mode) _php_stream_set_option((stream), PHP_STREAM_OPTION_LOCKING, (mode), (void *) NULL TSRMLS_CC) /* option code used by the php_stream_xport_XXX api */ #define PHP_STREAM_OPTION_XPORT_API 7 /* see php_stream_transport.h */ #define PHP_STREAM_OPTION_CRYPTO_API 8 /* see php_stream_transport.h */ #define PHP_STREAM_OPTION_MMAP_API 9 /* see php_stream_mmap.h */ #define PHP_STREAM_OPTION_TRUNCATE_API 10 #define PHP_STREAM_TRUNCATE_SUPPORTED 0 #define PHP_STREAM_TRUNCATE_SET_SIZE 1 /* ptrparam is a pointer to a size_t */ #define php_stream_truncate_supported(stream) (_php_stream_set_option((stream), PHP_STREAM_OPTION_TRUNCATE_API, PHP_STREAM_TRUNCATE_SUPPORTED, NULL TSRMLS_CC) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0) BEGIN_EXTERN_C() PHPAPI int _php_stream_truncate_set_size(php_stream *stream, size_t newsize TSRMLS_DC); #define php_stream_truncate_set_size(stream, size) _php_stream_truncate_set_size((stream), (size) TSRMLS_CC) END_EXTERN_C() #define PHP_STREAM_OPTION_META_DATA_API 11 /* ptrparam is a zval* to which to add meta data information */ #define php_stream_populate_meta_data(stream, zv) (_php_stream_set_option((stream), PHP_STREAM_OPTION_META_DATA_API, 0, zv TSRMLS_CC) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0) /* Check if the stream is still "live"; for sockets/pipes this means the socket * is still connected; for files, this does not really have meaning */ #define PHP_STREAM_OPTION_CHECK_LIVENESS 12 /* no parameters */ #define PHP_STREAM_OPTION_RETURN_OK 0 /* option set OK */ #define PHP_STREAM_OPTION_RETURN_ERR -1 /* problem setting option */ #define PHP_STREAM_OPTION_RETURN_NOTIMPL -2 /* underlying stream does not implement; streams can handle it instead */ /* copy up to maxlen bytes from src to dest. If maxlen is PHP_STREAM_COPY_ALL, * copy until eof(src). */ #define PHP_STREAM_COPY_ALL ((size_t)-1) BEGIN_EXTERN_C() ZEND_ATTRIBUTE_DEPRECATED PHPAPI size_t _php_stream_copy_to_stream(php_stream *src, php_stream *dest, size_t maxlen STREAMS_DC TSRMLS_DC); #define php_stream_copy_to_stream(src, dest, maxlen) _php_stream_copy_to_stream((src), (dest), (maxlen) STREAMS_CC TSRMLS_CC) PHPAPI size_t _php_stream_copy_to_stream_ex(php_stream *src, php_stream *dest, size_t maxlen, size_t *len STREAMS_DC TSRMLS_DC); #define php_stream_copy_to_stream_ex(src, dest, maxlen, len) _php_stream_copy_to_stream_ex((src), (dest), (maxlen), (len) STREAMS_CC TSRMLS_CC) /* read all data from stream and put into a buffer. Caller must free buffer * when done. */ PHPAPI size_t _php_stream_copy_to_mem(php_stream *src, char **buf, size_t maxlen, int persistent STREAMS_DC TSRMLS_DC); #define php_stream_copy_to_mem(src, buf, maxlen, persistent) _php_stream_copy_to_mem((src), (buf), (maxlen), (persistent) STREAMS_CC TSRMLS_CC) /* output all data from a stream */ PHPAPI size_t _php_stream_passthru(php_stream * src STREAMS_DC TSRMLS_DC); #define php_stream_passthru(stream) _php_stream_passthru((stream) STREAMS_CC TSRMLS_CC) END_EXTERN_C() #include "streams/php_stream_transport.h" #include "streams/php_stream_plain_wrapper.h" #include "streams/php_stream_glob_wrapper.h" #include "streams/php_stream_userspace.h" #include "streams/php_stream_mmap.h" /* coerce the stream into some other form */ /* cast as a stdio FILE * */ #define PHP_STREAM_AS_STDIO 0 /* cast as a POSIX fd or socketd */ #define PHP_STREAM_AS_FD 1 /* cast as a socketd */ #define PHP_STREAM_AS_SOCKETD 2 /* cast as fd/socket for select purposes */ #define PHP_STREAM_AS_FD_FOR_SELECT 3 /* try really, really hard to make sure the cast happens (avoid using this flag if possible) */ #define PHP_STREAM_CAST_TRY_HARD 0x80000000 #define PHP_STREAM_CAST_RELEASE 0x40000000 /* stream becomes invalid on success */ #define PHP_STREAM_CAST_INTERNAL 0x20000000 /* stream cast for internal use */ #define PHP_STREAM_CAST_MASK (PHP_STREAM_CAST_TRY_HARD | PHP_STREAM_CAST_RELEASE | PHP_STREAM_CAST_INTERNAL) BEGIN_EXTERN_C() PHPAPI int _php_stream_cast(php_stream *stream, int castas, void **ret, int show_err TSRMLS_DC); END_EXTERN_C() /* use this to check if a stream can be cast into another form */ #define php_stream_can_cast(stream, as) _php_stream_cast((stream), (as), NULL, 0 TSRMLS_CC) #define php_stream_cast(stream, as, ret, show_err) _php_stream_cast((stream), (as), (ret), (show_err) TSRMLS_CC) /* use this to check if a stream is of a particular type: * PHPAPI int php_stream_is(php_stream *stream, php_stream_ops *ops); */ #define php_stream_is(stream, anops) ((stream)->ops == anops) #define PHP_STREAM_IS_STDIO &php_stream_stdio_ops #define php_stream_is_persistent(stream) (stream)->is_persistent /* Wrappers support */ #define IGNORE_PATH 0x00000000 #define USE_PATH 0x00000001 #define IGNORE_URL 0x00000002 #define ENFORCE_SAFE_MODE 0x00000004 #define REPORT_ERRORS 0x00000008 /* If you don't need to write to the stream, but really need to * be able to seek, use this flag in your options. */ #define STREAM_MUST_SEEK 0x00000010 /* If you are going to end up casting the stream into a FILE* or * a socket, pass this flag and the streams/wrappers will not use * buffering mechanisms while reading the headers, so that HTTP * wrapped streams will work consistently. * If you omit this flag, streams will use buffering and should end * up working more optimally. * */ #define STREAM_WILL_CAST 0x00000020 /* this flag applies to php_stream_locate_url_wrapper */ #define STREAM_LOCATE_WRAPPERS_ONLY 0x00000040 /* this flag is only used by include/require functions */ #define STREAM_OPEN_FOR_INCLUDE 0x00000080 /* this flag tells streams to ONLY open urls */ #define STREAM_USE_URL 0x00000100 /* this flag is used when only the headers from HTTP request are to be fetched */ #define STREAM_ONLY_GET_HEADERS 0x00000200 /* don't apply open_basedir checks */ #define STREAM_DISABLE_OPEN_BASEDIR 0x00000400 /* get (or create) a persistent version of the stream */ #define STREAM_OPEN_PERSISTENT 0x00000800 /* use glob stream for directory open in plain files stream */ #define STREAM_USE_GLOB_DIR_OPEN 0x00001000 /* don't check allow_url_fopen and allow_url_include */ #define STREAM_DISABLE_URL_PROTECTION 0x00002000 /* assume the path passed in exists and is fully expanded, avoiding syscalls */ #define STREAM_ASSUME_REALPATH 0x00004000 /* Antique - no longer has meaning */ #define IGNORE_URL_WIN 0 int php_init_stream_wrappers(int module_number TSRMLS_DC); int php_shutdown_stream_wrappers(int module_number TSRMLS_DC); void php_shutdown_stream_hashes(TSRMLS_D); PHP_RSHUTDOWN_FUNCTION(streams); BEGIN_EXTERN_C() PHPAPI int php_register_url_stream_wrapper(char *protocol, php_stream_wrapper *wrapper TSRMLS_DC); PHPAPI int php_unregister_url_stream_wrapper(char *protocol TSRMLS_DC); PHPAPI int php_register_url_stream_wrapper_volatile(char *protocol, php_stream_wrapper *wrapper TSRMLS_DC); PHPAPI int php_unregister_url_stream_wrapper_volatile(char *protocol TSRMLS_DC); PHPAPI php_stream *_php_stream_open_wrapper_ex(char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC); PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper(const char *path, char **path_for_open, int options TSRMLS_DC); PHPAPI char *php_stream_locate_eol(php_stream *stream, char *buf, size_t buf_len TSRMLS_DC); #define php_stream_open_wrapper(path, mode, options, opened) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), NULL STREAMS_CC TSRMLS_CC) #define php_stream_open_wrapper_ex(path, mode, options, opened, context) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), (context) STREAMS_CC TSRMLS_CC) #define php_stream_get_from_zval(stream, zstream, mode, options, opened, context) \ if (Z_TYPE_PP((zstream)) == IS_RESOURCE) { \ php_stream_from_zval((stream), (zstream)); \ } else (stream) = Z_TYPE_PP((zstream)) == IS_STRING ? \ php_stream_open_wrapper_ex(Z_STRVAL_PP((zstream)), (mode), (options), (opened), (context)) : NULL /* pushes an error message onto the stack for a wrapper instance */ #ifdef ZTS PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 4, 5); #else PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4); #endif #define PHP_STREAM_UNCHANGED 0 /* orig stream was seekable anyway */ #define PHP_STREAM_RELEASED 1 /* newstream should be used; origstream is no longer valid */ #define PHP_STREAM_FAILED 2 /* an error occurred while attempting conversion */ #define PHP_STREAM_CRITICAL 3 /* an error occurred; origstream is in an unknown state; you should close origstream */ #define PHP_STREAM_NO_PREFERENCE 0 #define PHP_STREAM_PREFER_STDIO 1 #define PHP_STREAM_FORCE_CONVERSION 2 /* DO NOT call this on streams that are referenced by resources! */ PHPAPI int _php_stream_make_seekable(php_stream *origstream, php_stream **newstream, int flags STREAMS_DC TSRMLS_DC); #define php_stream_make_seekable(origstream, newstream, flags) _php_stream_make_seekable((origstream), (newstream), (flags) STREAMS_CC TSRMLS_CC) /* Give other modules access to the url_stream_wrappers_hash and stream_filters_hash */ PHPAPI HashTable *_php_stream_get_url_stream_wrappers_hash(TSRMLS_D); #define php_stream_get_url_stream_wrappers_hash() _php_stream_get_url_stream_wrappers_hash(TSRMLS_C) PHPAPI HashTable *php_stream_get_url_stream_wrappers_hash_global(void); PHPAPI HashTable *_php_get_stream_filters_hash(TSRMLS_D); #define php_get_stream_filters_hash() _php_get_stream_filters_hash(TSRMLS_C) PHPAPI HashTable *php_get_stream_filters_hash_global(void); extern php_stream_wrapper_ops *php_stream_user_wrapper_ops; END_EXTERN_C() #endif /* Definitions for user streams */ #define PHP_STREAM_IS_URL 1 /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 07070100081280000081a40000000000000000000000014dc0faed000024fd0000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/main/php_network.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Venaas | +----------------------------------------------------------------------+ */ /* $Id: php_network.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef _PHP_NETWORK_H #define _PHP_NETWORK_H #ifdef PHP_WIN32 # include "win32/inet.h" #else # undef closesocket # define closesocket close #endif #ifndef HAVE_SHUTDOWN #undef shutdown #define shutdown(s,n) /* nothing */ #endif #ifdef PHP_WIN32 # ifdef EWOULDBLOCK # undef EWOULDBLOCK # endif # ifdef EINPROGRESS # undef EINPROGRESS # endif # define EWOULDBLOCK WSAEWOULDBLOCK # define EINPROGRESS WSAEWOULDBLOCK # define fsync _commit # define ftruncate(a, b) chsize(a, b) #endif /* defined(PHP_WIN32) */ #ifndef EWOULDBLOCK # define EWOULDBLOCK EAGAIN #endif #ifdef PHP_WIN32 #define php_socket_errno() WSAGetLastError() #else #define php_socket_errno() errno #endif /* like strerror, but caller must efree the returned string, * unless buf is not NULL. * Also works sensibly for win32 */ BEGIN_EXTERN_C() PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize); END_EXTERN_C() #ifdef HAVE_NETINET_IN_H # include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif /* These are here, rather than with the win32 counterparts above, * since defines them. */ #ifndef SHUT_RD # define SHUT_RD 0 # define SHUT_WR 1 # define SHUT_RDWR 2 #endif #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_STDDEF_H #include #endif #ifdef PHP_WIN32 typedef SOCKET php_socket_t; #else typedef int php_socket_t; #endif #ifdef PHP_WIN32 # define SOCK_ERR INVALID_SOCKET # define SOCK_CONN_ERR SOCKET_ERROR # define SOCK_RECV_ERR SOCKET_ERROR #else # define SOCK_ERR -1 # define SOCK_CONN_ERR -1 # define SOCK_RECV_ERR -1 #endif /* uncomment this to debug poll(2) emulation on systems that have poll(2) */ /* #define PHP_USE_POLL_2_EMULATION 1 */ #if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) # include typedef struct pollfd php_pollfd; #else typedef struct _php_pollfd { php_socket_t fd; short events; short revents; } php_pollfd; PHPAPI int php_poll2(php_pollfd *ufds, unsigned int nfds, int timeout); #ifndef POLLIN # define POLLIN 0x0001 /* There is data to read */ # define POLLPRI 0x0002 /* There is urgent data to read */ # define POLLOUT 0x0004 /* Writing now will not block */ # define POLLERR 0x0008 /* Error condition */ # define POLLHUP 0x0010 /* Hung up */ # define POLLNVAL 0x0020 /* Invalid request: fd not open */ #endif # ifndef PHP_USE_POLL_2_EMULATION # define PHP_USE_POLL_2_EMULATION 1 # endif #endif #define PHP_POLLREADABLE (POLLIN|POLLERR|POLLHUP) #ifndef PHP_USE_POLL_2_EMULATION # define php_poll2(ufds, nfds, timeout) poll(ufds, nfds, timeout) #endif /* timeval-to-timeout (for poll(2)) */ static inline int php_tvtoto(struct timeval *timeouttv) { if (timeouttv) { return (timeouttv->tv_sec * 1000) + (timeouttv->tv_usec / 1000); } return -1; } /* hybrid select(2)/poll(2) for a single descriptor. * timeouttv follows same rules as select(2), but is reduced to millisecond accuracy. * Returns 0 on timeout, -1 on error, or the event mask (ala poll(2)). */ static inline int php_pollfd_for(php_socket_t fd, int events, struct timeval *timeouttv) { php_pollfd p; int n; p.fd = fd; p.events = events; p.revents = 0; n = php_poll2(&p, 1, php_tvtoto(timeouttv)); if (n > 0) { return p.revents; } return n; } static inline int php_pollfd_for_ms(php_socket_t fd, int events, int timeout) { php_pollfd p; int n; p.fd = fd; p.events = events; p.revents = 0; n = php_poll2(&p, 1, timeout); if (n > 0) { return p.revents; } return n; } /* emit warning and suggestion for unsafe select(2) usage */ PHPAPI void _php_emit_fd_setsize_warning(int max_fd); #ifdef PHP_WIN32 /* it is safe to FD_SET too many fd's under win32; the macro will simply ignore * descriptors that go beyond the default FD_SETSIZE */ # define PHP_SAFE_FD_SET(fd, set) FD_SET(fd, set) # define PHP_SAFE_FD_ISSET(fd, set) FD_ISSET(fd, set) # define PHP_SAFE_MAX_FD(m, n) do { if (n + 1 >= FD_SETSIZE) { _php_emit_fd_setsize_warning(n); }} while(0) #else # define PHP_SAFE_FD_SET(fd, set) do { if (fd < FD_SETSIZE) FD_SET(fd, set); } while(0) # define PHP_SAFE_FD_ISSET(fd, set) ((fd < FD_SETSIZE) && FD_ISSET(fd, set)) # define PHP_SAFE_MAX_FD(m, n) do { if (m >= FD_SETSIZE) { _php_emit_fd_setsize_warning(m); m = FD_SETSIZE - 1; }} while(0) #endif #define PHP_SOCK_CHUNK_SIZE 8192 #ifdef HAVE_SOCKADDR_STORAGE typedef struct sockaddr_storage php_sockaddr_storage; #else typedef struct { #ifdef HAVE_SOCKADDR_SA_LEN unsigned char ss_len; unsigned char ss_family; #else unsigned short ss_family; #endif char info[126]; } php_sockaddr_storage; #endif BEGIN_EXTERN_C() PHPAPI php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short port, int socktype, int asynchronous, struct timeval *timeout, char **error_string, int *error_code, char *bindto, unsigned short bindport TSRMLS_DC); PHPAPI int php_network_connect_socket(php_socket_t sockfd, const struct sockaddr *addr, socklen_t addrlen, int asynchronous, struct timeval *timeout, char **error_string, int *error_code); #define php_connect_nonb(sock, addr, addrlen, timeout) \ php_network_connect_socket((sock), (addr), (addrlen), 0, (timeout), NULL, NULL) PHPAPI php_socket_t php_network_bind_socket_to_local_addr(const char *host, unsigned port, int socktype, char **error_string, int *error_code TSRMLS_DC); PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock, char **textaddr, long *textaddrlen, struct sockaddr **addr, socklen_t *addrlen, struct timeval *timeout, char **error_string, int *error_code TSRMLS_DC); PHPAPI int php_network_get_sock_name(php_socket_t sock, char **textaddr, long *textaddrlen, struct sockaddr **addr, socklen_t *addrlen TSRMLS_DC); PHPAPI int php_network_get_peer_name(php_socket_t sock, char **textaddr, long *textaddrlen, struct sockaddr **addr, socklen_t *addrlen TSRMLS_DC); PHPAPI void php_any_addr(int family, php_sockaddr_storage *addr, unsigned short port); PHPAPI int php_sockaddr_size(php_sockaddr_storage *addr); END_EXTERN_C() struct _php_netstream_data_t { php_socket_t socket; char is_blocked; struct timeval timeout; char timeout_event; size_t ownsize; }; typedef struct _php_netstream_data_t php_netstream_data_t; PHPAPI extern php_stream_ops php_stream_socket_ops; extern php_stream_ops php_stream_generic_socket_ops; #define PHP_STREAM_IS_SOCKET (&php_stream_socket_ops) BEGIN_EXTERN_C() PHPAPI php_stream *_php_stream_sock_open_from_socket(php_socket_t socket, const char *persistent_id STREAMS_DC TSRMLS_DC ); /* open a connection to a host using php_hostconnect and return a stream */ PHPAPI php_stream *_php_stream_sock_open_host(const char *host, unsigned short port, int socktype, struct timeval *timeout, const char *persistent_id STREAMS_DC TSRMLS_DC); PHPAPI void php_network_populate_name_from_sockaddr( /* input address */ struct sockaddr *sa, socklen_t sl, /* output readable address */ char **textaddr, long *textaddrlen, /* output address */ struct sockaddr **addr, socklen_t *addrlen TSRMLS_DC); PHPAPI int php_network_parse_network_address_with_port(const char *addr, long addrlen, struct sockaddr *sa, socklen_t *sl TSRMLS_DC); END_EXTERN_C() #define php_stream_sock_open_from_socket(socket, persistent) _php_stream_sock_open_from_socket((socket), (persistent) STREAMS_CC TSRMLS_CC) #define php_stream_sock_open_host(host, port, socktype, timeout, persistent) _php_stream_sock_open_host((host), (port), (socktype), (timeout), (persistent) STREAMS_CC TSRMLS_CC) /* {{{ memory debug */ #define php_stream_sock_open_from_socket_rel(socket, persistent) _php_stream_sock_open_from_socket((socket), (persistent) STREAMS_REL_CC TSRMLS_CC) #define php_stream_sock_open_host_rel(host, port, socktype, timeout, persistent) _php_stream_sock_open_host((host), (port), (socktype), (timeout), (persistent) STREAMS_REL_CC TSRMLS_CC) #define php_stream_sock_open_unix_rel(path, pathlen, persistent, timeval) _php_stream_sock_open_unix((path), (pathlen), (persistent), (timeval) STREAMS_REL_CC TSRMLS_CC) /* }}} */ #endif /* _PHP_NETWORK_H */ /* * Local variables: * tab-width: 8 * c-basic-offset: 8 * End: */ 0707010008128e000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002800000000root/usr/local/include/php/main/streams07070100081292000081a40000000000000000000000014dc0faee00000ded0000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/main/streams/php_stream_mmap.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_stream_mmap.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Memory Mapping interface for streams. * The intention is to provide a uniform interface over the most common * operations that are used within PHP itself, rather than a complete * API for all memory mapping needs. * * ATM, we support only mmap(), but win32 memory mapping support will * follow soon. * */ typedef enum { /* Does the stream support mmap ? */ PHP_STREAM_MMAP_SUPPORTED, /* Request a range and offset to be mapped; * while mapped, you MUST NOT use any read/write functions * on the stream (win9x compatibility) */ PHP_STREAM_MMAP_MAP_RANGE, /* Unmap the last range that was mapped for the stream */ PHP_STREAM_MMAP_UNMAP } php_stream_mmap_operation_t; typedef enum { PHP_STREAM_MAP_MODE_READONLY, PHP_STREAM_MAP_MODE_READWRITE, PHP_STREAM_MAP_MODE_SHARED_READONLY, PHP_STREAM_MAP_MODE_SHARED_READWRITE } php_stream_mmap_access_t; typedef struct { /* requested offset and length. * If length is 0, the whole file is mapped */ size_t offset; size_t length; php_stream_mmap_access_t mode; /* returned mapped address */ char *mapped; } php_stream_mmap_range; #define PHP_STREAM_MMAP_ALL 0 #define php_stream_mmap_supported(stream) (_php_stream_set_option((stream), PHP_STREAM_OPTION_MMAP_API, PHP_STREAM_MMAP_SUPPORTED, NULL TSRMLS_CC) == 0 ? 1 : 0) /* Returns 1 if the stream in its current state can be memory mapped, * 0 otherwise */ #define php_stream_mmap_possible(stream) (!php_stream_is_filtered((stream)) && php_stream_mmap_supported((stream))) BEGIN_EXTERN_C() PHPAPI char *_php_stream_mmap_range(php_stream *stream, size_t offset, size_t length, php_stream_mmap_operation_t mode, size_t *mapped_len TSRMLS_DC); #define php_stream_mmap_range(stream, offset, length, mode, mapped_len) _php_stream_mmap_range((stream), (offset), (length), (mode), (mapped_len) TSRMLS_CC) /* un-maps the last mapped range */ PHPAPI int _php_stream_mmap_unmap(php_stream *stream TSRMLS_DC); #define php_stream_mmap_unmap(stream) _php_stream_mmap_unmap((stream) TSRMLS_CC) PHPAPI int _php_stream_mmap_unmap_ex(php_stream *stream, off_t readden TSRMLS_DC); #define php_stream_mmap_unmap_ex(stream, readden) _php_stream_mmap_unmap_ex((stream), (readden) TSRMLS_CC) END_EXTERN_C() /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ 07070100081296000081a40000000000000000000000014dc0faee00000c0f0000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/main/streams/php_streams_int.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_streams_int.h 306939 2011-01-01 02:19:59Z felipe $ */ #if ZEND_DEBUG #define emalloc_rel_orig(size) \ ( __php_stream_call_depth == 0 \ ? _emalloc((size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_RELAY_CC) \ : _emalloc((size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_ORIG_RELAY_CC) ) #define erealloc_rel_orig(ptr, size) \ ( __php_stream_call_depth == 0 \ ? _erealloc((ptr), (size), 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_RELAY_CC) \ : _erealloc((ptr), (size), 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_ORIG_RELAY_CC) ) #define pemalloc_rel_orig(size, persistent) ((persistent) ? malloc((size)) : emalloc_rel_orig((size))) #define perealloc_rel_orig(ptr, size, persistent) ((persistent) ? realloc((ptr), (size)) : erealloc_rel_orig((ptr), (size))) #else # define pemalloc_rel_orig(size, persistent) pemalloc((size), (persistent)) # define perealloc_rel_orig(ptr, size, persistent) perealloc((ptr), (size), (persistent)) # define emalloc_rel_orig(size) emalloc((size)) #endif #define STREAM_DEBUG 0 #define STREAM_WRAPPER_PLAIN_FILES ((php_stream_wrapper*)-1) #ifndef MAP_FAILED #define MAP_FAILED ((void *) -1) #endif #define CHUNK_SIZE 8192 #ifdef PHP_WIN32 # ifdef EWOULDBLOCK # undef EWOULDBLOCK # endif # define EWOULDBLOCK WSAEWOULDBLOCK #endif #ifndef S_ISREG #define S_ISREG(mode) (((mode)&S_IFMT) == S_IFREG) #endif /* This functions transforms the first char to 'w' if it's not 'r', 'a' or 'w' * and strips any subsequent chars except '+' and 'b'. * Use this to sanitize stream->mode if you call e.g. fdopen, fopencookie or * any other function that expects standard modes and you allow non-standard * ones. result should be a char[5]. */ void php_stream_mode_sanitize_fdopen_fopencookie(php_stream *stream, char *result); void php_stream_tidy_wrapper_error_log(php_stream_wrapper *wrapper TSRMLS_DC); void php_stream_display_wrapper_errors(php_stream_wrapper *wrapper, const char *path, const char *caption TSRMLS_DC); 07070100081290000081a40000000000000000000000014dc0faee00001c690000010000010007ffffffffffffffff0000004000000000root/usr/local/include/php/main/streams/php_stream_filter_api.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | | With suggestions from: | | Moriyoshi Koizumi | | Sara Golemon | +----------------------------------------------------------------------+ */ /* $Id: php_stream_filter_api.h 306939 2011-01-01 02:19:59Z felipe $ */ /* The filter API works on the principle of "Bucket-Brigades". This is * partially inspired by the Apache 2 method of doing things, although * it is intentially a light-weight implementation. * * Each stream can have a chain of filters for reading and another for writing. * * When data is written to the stream, is is placed into a bucket and placed at * the start of the input brigade. * * The first filter in the chain is invoked on the brigade and (depending on * it's return value), the next filter is invoked and so on. * */ #define PHP_STREAM_FILTER_READ 0x0001 #define PHP_STREAM_FILTER_WRITE 0x0002 #define PHP_STREAM_FILTER_ALL (PHP_STREAM_FILTER_READ | PHP_STREAM_FILTER_WRITE) typedef struct _php_stream_bucket php_stream_bucket; typedef struct _php_stream_bucket_brigade php_stream_bucket_brigade; struct _php_stream_bucket { php_stream_bucket *next, *prev; php_stream_bucket_brigade *brigade; char *buf; size_t buflen; /* if non-zero, buf should be pefreed when the bucket is destroyed */ int own_buf; int is_persistent; /* destroy this struct when refcount falls to zero */ int refcount; }; struct _php_stream_bucket_brigade { php_stream_bucket *head, *tail; }; typedef enum { PSFS_ERR_FATAL, /* error in data stream */ PSFS_FEED_ME, /* filter needs more data; stop processing chain until more is available */ PSFS_PASS_ON /* filter generated output buckets; pass them on to next in chain */ } php_stream_filter_status_t; /* Buckets API. */ BEGIN_EXTERN_C() PHPAPI php_stream_bucket *php_stream_bucket_new(php_stream *stream, char *buf, size_t buflen, int own_buf, int buf_persistent TSRMLS_DC); PHPAPI int php_stream_bucket_split(php_stream_bucket *in, php_stream_bucket **left, php_stream_bucket **right, size_t length TSRMLS_DC); PHPAPI void php_stream_bucket_delref(php_stream_bucket *bucket TSRMLS_DC); #define php_stream_bucket_addref(bucket) (bucket)->refcount++ PHPAPI void php_stream_bucket_prepend(php_stream_bucket_brigade *brigade, php_stream_bucket *bucket TSRMLS_DC); PHPAPI void php_stream_bucket_append(php_stream_bucket_brigade *brigade, php_stream_bucket *bucket TSRMLS_DC); PHPAPI void php_stream_bucket_unlink(php_stream_bucket *bucket TSRMLS_DC); PHPAPI php_stream_bucket *php_stream_bucket_make_writeable(php_stream_bucket *bucket TSRMLS_DC); END_EXTERN_C() #define PSFS_FLAG_NORMAL 0 /* regular read/write */ #define PSFS_FLAG_FLUSH_INC 1 /* an incremental flush */ #define PSFS_FLAG_FLUSH_CLOSE 2 /* final flush prior to closing */ typedef struct _php_stream_filter_ops { php_stream_filter_status_t (*filter)( php_stream *stream, php_stream_filter *thisfilter, php_stream_bucket_brigade *buckets_in, php_stream_bucket_brigade *buckets_out, size_t *bytes_consumed, int flags TSRMLS_DC); void (*dtor)(php_stream_filter *thisfilter TSRMLS_DC); const char *label; } php_stream_filter_ops; typedef struct _php_stream_filter_chain { php_stream_filter *head, *tail; /* Owning stream */ php_stream *stream; } php_stream_filter_chain; struct _php_stream_filter { php_stream_filter_ops *fops; void *abstract; /* for use by filter implementation */ php_stream_filter *next; php_stream_filter *prev; int is_persistent; /* link into stream and chain */ php_stream_filter_chain *chain; /* buffered buckets */ php_stream_bucket_brigade buffer; /* filters are auto_registered when they're applied */ int rsrc_id; }; /* stack filter onto a stream */ BEGIN_EXTERN_C() PHPAPI void _php_stream_filter_prepend(php_stream_filter_chain *chain, php_stream_filter *filter TSRMLS_DC); PHPAPI int php_stream_filter_prepend_ex(php_stream_filter_chain *chain, php_stream_filter *filter TSRMLS_DC); PHPAPI void _php_stream_filter_append(php_stream_filter_chain *chain, php_stream_filter *filter TSRMLS_DC); PHPAPI int php_stream_filter_append_ex(php_stream_filter_chain *chain, php_stream_filter *filter TSRMLS_DC); PHPAPI int _php_stream_filter_flush(php_stream_filter *filter, int finish TSRMLS_DC); PHPAPI php_stream_filter *php_stream_filter_remove(php_stream_filter *filter, int call_dtor TSRMLS_DC); PHPAPI void php_stream_filter_free(php_stream_filter *filter TSRMLS_DC); PHPAPI php_stream_filter *_php_stream_filter_alloc(php_stream_filter_ops *fops, void *abstract, int persistent STREAMS_DC TSRMLS_DC); END_EXTERN_C() #define php_stream_filter_alloc(fops, thisptr, persistent) _php_stream_filter_alloc((fops), (thisptr), (persistent) STREAMS_CC TSRMLS_CC) #define php_stream_filter_alloc_rel(fops, thisptr, persistent) _php_stream_filter_alloc((fops), (thisptr), (persistent) STREAMS_REL_CC TSRMLS_CC) #define php_stream_filter_prepend(chain, filter) _php_stream_filter_prepend((chain), (filter) TSRMLS_CC) #define php_stream_filter_append(chain, filter) _php_stream_filter_append((chain), (filter) TSRMLS_CC) #define php_stream_filter_flush(filter, finish) _php_stream_filter_flush((filter), (finish) TSRMLS_CC) #define php_stream_is_filtered(stream) ((stream)->readfilters.head || (stream)->writefilters.head) typedef struct _php_stream_filter_factory { php_stream_filter *(*create_filter)(const char *filtername, zval *filterparams, int persistent TSRMLS_DC); } php_stream_filter_factory; BEGIN_EXTERN_C() PHPAPI int php_stream_filter_register_factory(const char *filterpattern, php_stream_filter_factory *factory TSRMLS_DC); PHPAPI int php_stream_filter_unregister_factory(const char *filterpattern TSRMLS_DC); PHPAPI int php_stream_filter_register_factory_volatile(const char *filterpattern, php_stream_filter_factory *factory TSRMLS_DC); PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval *filterparams, int persistent TSRMLS_DC); END_EXTERN_C() /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 07070100081294000081a40000000000000000000000014dc0faee00001a770000010000010007ffffffffffffffff0000003f00000000root/usr/local/include/php/main/streams/php_stream_transport.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_stream_transport.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifdef PHP_WIN32 #include "config.w32.h" #include #endif #if HAVE_SYS_SOCKET_H # include #endif typedef php_stream *(php_stream_transport_factory_func)(const char *proto, long protolen, char *resourcename, long resourcenamelen, const char *persistent_id, int options, int flags, struct timeval *timeout, php_stream_context *context STREAMS_DC TSRMLS_DC); typedef php_stream_transport_factory_func *php_stream_transport_factory; BEGIN_EXTERN_C() PHPAPI int php_stream_xport_register(char *protocol, php_stream_transport_factory factory TSRMLS_DC); PHPAPI int php_stream_xport_unregister(char *protocol TSRMLS_DC); #define STREAM_XPORT_CLIENT 0 #define STREAM_XPORT_SERVER 1 #define STREAM_XPORT_CONNECT 2 #define STREAM_XPORT_BIND 4 #define STREAM_XPORT_LISTEN 8 #define STREAM_XPORT_CONNECT_ASYNC 16 /* Open a client or server socket connection */ PHPAPI php_stream *_php_stream_xport_create(const char *name, long namelen, int options, int flags, const char *persistent_id, struct timeval *timeout, php_stream_context *context, char **error_string, int *error_code STREAMS_DC TSRMLS_DC); #define php_stream_xport_create(name, namelen, options, flags, persistent_id, timeout, context, estr, ecode) \ _php_stream_xport_create(name, namelen, options, flags, persistent_id, timeout, context, estr, ecode STREAMS_CC TSRMLS_CC) /* Bind the stream to a local address */ PHPAPI int php_stream_xport_bind(php_stream *stream, const char *name, long namelen, char **error_text TSRMLS_DC); /* Connect to a remote address */ PHPAPI int php_stream_xport_connect(php_stream *stream, const char *name, long namelen, int asynchronous, struct timeval *timeout, char **error_text, int *error_code TSRMLS_DC); /* Prepare to listen */ PHPAPI int php_stream_xport_listen(php_stream *stream, int backlog, char **error_text TSRMLS_DC); /* Get the next client and their address as a string, or the underlying address * structure. You must efree either of these if you request them */ PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client, char **textaddr, int *textaddrlen, void **addr, socklen_t *addrlen, struct timeval *timeout, char **error_text TSRMLS_DC); /* Get the name of either the socket or it's peer */ PHPAPI int php_stream_xport_get_name(php_stream *stream, int want_peer, char **textaddr, int *textaddrlen, void **addr, socklen_t *addrlen TSRMLS_DC); enum php_stream_xport_send_recv_flags { STREAM_OOB = 1, STREAM_PEEK = 2 }; /* Similar to recv() system call; read data from the stream, optionally * peeking, optionally retrieving OOB data */ PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t buflen, long flags, void **addr, socklen_t *addrlen, char **textaddr, int *textaddrlen TSRMLS_DC); /* Similar to send() system call; send data to the stream, optionally * sending it as OOB data */ PHPAPI int php_stream_xport_sendto(php_stream *stream, const char *buf, size_t buflen, long flags, void *addr, socklen_t addrlen TSRMLS_DC); typedef enum { STREAM_SHUT_RD, STREAM_SHUT_WR, STREAM_SHUT_RDWR } stream_shutdown_t; /* Similar to shutdown() system call; shut down part of a full-duplex * connection */ PHPAPI int php_stream_xport_shutdown(php_stream *stream, stream_shutdown_t how TSRMLS_DC); END_EXTERN_C() /* Structure definition for the set_option interface that the above functions wrap */ typedef struct _php_stream_xport_param { enum { STREAM_XPORT_OP_BIND, STREAM_XPORT_OP_CONNECT, STREAM_XPORT_OP_LISTEN, STREAM_XPORT_OP_ACCEPT, STREAM_XPORT_OP_CONNECT_ASYNC, STREAM_XPORT_OP_GET_NAME, STREAM_XPORT_OP_GET_PEER_NAME, STREAM_XPORT_OP_RECV, STREAM_XPORT_OP_SEND, STREAM_XPORT_OP_SHUTDOWN } op; unsigned int want_addr:1; unsigned int want_textaddr:1; unsigned int want_errortext:1; unsigned int how:2; struct { char *name; long namelen; int backlog; struct timeval *timeout; struct sockaddr *addr; socklen_t addrlen; char *buf; size_t buflen; long flags; } inputs; struct { php_stream *client; int returncode; struct sockaddr *addr; socklen_t addrlen; char *textaddr; long textaddrlen; char *error_text; int error_code; } outputs; } php_stream_xport_param; /* These functions provide crypto support on the underlying transport */ typedef enum { STREAM_CRYPTO_METHOD_SSLv2_CLIENT, STREAM_CRYPTO_METHOD_SSLv3_CLIENT, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, STREAM_CRYPTO_METHOD_TLS_CLIENT, STREAM_CRYPTO_METHOD_SSLv2_SERVER, STREAM_CRYPTO_METHOD_SSLv3_SERVER, STREAM_CRYPTO_METHOD_SSLv23_SERVER, STREAM_CRYPTO_METHOD_TLS_SERVER } php_stream_xport_crypt_method_t; BEGIN_EXTERN_C() PHPAPI int php_stream_xport_crypto_setup(php_stream *stream, php_stream_xport_crypt_method_t crypto_method, php_stream *session_stream TSRMLS_DC); PHPAPI int php_stream_xport_crypto_enable(php_stream *stream, int activate TSRMLS_DC); END_EXTERN_C() typedef struct _php_stream_xport_crypto_param { enum { STREAM_XPORT_CRYPTO_OP_SETUP, STREAM_XPORT_CRYPTO_OP_ENABLE } op; struct { int activate; php_stream_xport_crypt_method_t method; php_stream *session; } inputs; struct { int returncode; } outputs; } php_stream_xport_crypto_param; BEGIN_EXTERN_C() PHPAPI HashTable *php_stream_xport_get_hash(void); PHPAPI php_stream_transport_factory_func php_stream_generic_socket_factory; END_EXTERN_C() /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ 0707010008128f000081a40000000000000000000000014dc0faee000018fb0000010000010007ffffffffffffffff0000003d00000000root/usr/local/include/php/main/streams/php_stream_context.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_stream_context.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Stream context and status notification related definitions */ /* callback for status notifications */ typedef void (*php_stream_notification_func)(php_stream_context *context, int notifycode, int severity, char *xmsg, int xcode, size_t bytes_sofar, size_t bytes_max, void * ptr TSRMLS_DC); #define PHP_STREAM_NOTIFIER_PROGRESS 1 /* Attempt to fetch context from the zval passed, If no context was passed, use the default context The the default context has not yet been created, do it now. */ #define php_stream_context_from_zval(zcontext, nocontext) ( \ (zcontext) ? zend_fetch_resource(&(zcontext) TSRMLS_CC, -1, "Stream-Context", NULL, 1, php_le_stream_context()) : \ (nocontext) ? NULL : \ FG(default_context) ? FG(default_context) : \ (FG(default_context) = php_stream_context_alloc()) ) #define php_stream_context_to_zval(context, zval) { ZVAL_RESOURCE(zval, (context)->rsrc_id); zend_list_addref((context)->rsrc_id); } typedef struct _php_stream_notifier php_stream_notifier; struct _php_stream_notifier { php_stream_notification_func func; void (*dtor)(php_stream_notifier *notifier); void *ptr; int mask; size_t progress, progress_max; /* position for progress notification */ }; struct _php_stream_context { php_stream_notifier *notifier; zval *options; /* hash keyed by wrapper family or specific wrapper */ zval *links; /* hash keyed by hostent for connection pooling */ int rsrc_id; /* used for auto-cleanup */ }; BEGIN_EXTERN_C() PHPAPI void php_stream_context_free(php_stream_context *context); PHPAPI php_stream_context *php_stream_context_alloc(void); PHPAPI int php_stream_context_get_option(php_stream_context *context, const char *wrappername, const char *optionname, zval ***optionvalue); PHPAPI int php_stream_context_set_option(php_stream_context *context, const char *wrappername, const char *optionname, zval *optionvalue); PHPAPI int php_stream_context_get_link(php_stream_context *context, const char *hostent, php_stream **stream); PHPAPI int php_stream_context_set_link(php_stream_context *context, const char *hostent, php_stream *stream); PHPAPI int php_stream_context_del_link(php_stream_context *context, php_stream *stream); PHPAPI php_stream_notifier *php_stream_notification_alloc(void); PHPAPI void php_stream_notification_free(php_stream_notifier *notifier); END_EXTERN_C() /* not all notification codes are implemented */ #define PHP_STREAM_NOTIFY_RESOLVE 1 #define PHP_STREAM_NOTIFY_CONNECT 2 #define PHP_STREAM_NOTIFY_AUTH_REQUIRED 3 #define PHP_STREAM_NOTIFY_MIME_TYPE_IS 4 #define PHP_STREAM_NOTIFY_FILE_SIZE_IS 5 #define PHP_STREAM_NOTIFY_REDIRECTED 6 #define PHP_STREAM_NOTIFY_PROGRESS 7 #define PHP_STREAM_NOTIFY_COMPLETED 8 #define PHP_STREAM_NOTIFY_FAILURE 9 #define PHP_STREAM_NOTIFY_AUTH_RESULT 10 #define PHP_STREAM_NOTIFY_SEVERITY_INFO 0 #define PHP_STREAM_NOTIFY_SEVERITY_WARN 1 #define PHP_STREAM_NOTIFY_SEVERITY_ERR 2 BEGIN_EXTERN_C() PHPAPI void php_stream_notification_notify(php_stream_context *context, int notifycode, int severity, char *xmsg, int xcode, size_t bytes_sofar, size_t bytes_max, void * ptr TSRMLS_DC); PHPAPI php_stream_context *php_stream_context_set(php_stream *stream, php_stream_context *context); END_EXTERN_C() #define php_stream_notify_info(context, code, xmsg, xcode) do { if ((context) && (context)->notifier) { \ php_stream_notification_notify((context), (code), PHP_STREAM_NOTIFY_SEVERITY_INFO, \ (xmsg), (xcode), 0, 0, NULL TSRMLS_CC); } } while (0) #define php_stream_notify_progress(context, bsofar, bmax) do { if ((context) && (context)->notifier) { \ php_stream_notification_notify((context), PHP_STREAM_NOTIFY_PROGRESS, PHP_STREAM_NOTIFY_SEVERITY_INFO, \ NULL, 0, (bsofar), (bmax), NULL TSRMLS_CC); } } while(0) #define php_stream_notify_progress_init(context, sofar, bmax) do { if ((context) && (context)->notifier) { \ (context)->notifier->progress = (sofar); \ (context)->notifier->progress_max = (bmax); \ (context)->notifier->mask |= PHP_STREAM_NOTIFIER_PROGRESS; \ php_stream_notify_progress((context), (sofar), (bmax)); } } while (0) #define php_stream_notify_progress_increment(context, dsofar, dmax) do { if ((context) && (context)->notifier && (context)->notifier->mask & PHP_STREAM_NOTIFIER_PROGRESS) { \ (context)->notifier->progress += (dsofar); \ (context)->notifier->progress_max += (dmax); \ php_stream_notify_progress((context), (context)->notifier->progress, (context)->notifier->progress_max); } } while (0) #define php_stream_notify_file_size(context, file_size, xmsg, xcode) do { if ((context) && (context)->notifier) { \ php_stream_notification_notify((context), PHP_STREAM_NOTIFY_FILE_SIZE_IS, PHP_STREAM_NOTIFY_SEVERITY_INFO, \ (xmsg), (xcode), 0, (file_size), NULL TSRMLS_CC); } } while(0) #define php_stream_notify_error(context, code, xmsg, xcode) do { if ((context) && (context)->notifier) {\ php_stream_notification_notify((context), (code), PHP_STREAM_NOTIFY_SEVERITY_ERR, \ (xmsg), (xcode), 0, 0, NULL TSRMLS_CC); } } while(0) /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 07070100081291000081a40000000000000000000000014dc0faee000008830000010000010007ffffffffffffffff0000004200000000root/usr/local/include/php/main/streams/php_stream_glob_wrapper.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: php_stream_glob_wrapper.h 306939 2011-01-01 02:19:59Z felipe $ */ PHPAPI extern php_stream_wrapper php_glob_stream_wrapper; PHPAPI extern php_stream_ops php_glob_stream_ops; BEGIN_EXTERN_C() PHPAPI char* _php_glob_stream_get_path(php_stream *stream, int copy, int *plen STREAMS_DC TSRMLS_DC); #define php_glob_stream_get_path(stream, copy, plen) _php_glob_stream_get_path((stream), (copy), (plen) STREAMS_CC TSRMLS_CC) PHPAPI char* _php_glob_stream_get_pattern(php_stream *stream, int copy, int *plen STREAMS_DC TSRMLS_DC); #define php_glob_stream_get_pattern(stream, copy, plen) _php_glob_stream_get_pattern((stream), (copy), (plen) STREAMS_CC TSRMLS_CC) PHPAPI int _php_glob_stream_get_count(php_stream *stream, int *pflags STREAMS_DC TSRMLS_DC); #define php_glob_stream_get_count(stream, pflags) _php_glob_stream_get_count((stream), (pflags) STREAMS_CC TSRMLS_CC) END_EXTERN_C() /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 07070100081293000081a40000000000000000000000014dc0faee00000f020000010000010007ffffffffffffffff0000004300000000root/usr/local/include/php/main/streams/php_stream_plain_wrapper.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_stream_plain_wrapper.h 306939 2011-01-01 02:19:59Z felipe $ */ /* definitions for the plain files wrapper */ /* operations for a plain file; use the php_stream_fopen_XXX funcs below */ PHPAPI extern php_stream_ops php_stream_stdio_ops; PHPAPI extern php_stream_wrapper php_plain_files_wrapper; BEGIN_EXTERN_C() /* like fopen, but returns a stream */ PHPAPI php_stream *_php_stream_fopen(const char *filename, const char *mode, char **opened_path, int options STREAMS_DC TSRMLS_DC); #define php_stream_fopen(filename, mode, opened) _php_stream_fopen((filename), (mode), (opened), 0 STREAMS_CC TSRMLS_CC) PHPAPI php_stream *_php_stream_fopen_with_path(char *filename, char *mode, char *path, char **opened_path, int options STREAMS_DC TSRMLS_DC); #define php_stream_fopen_with_path(filename, mode, path, opened) _php_stream_fopen_with_path((filename), (mode), (path), (opened) STREAMS_CC TSRMLS_CC) PHPAPI php_stream *_php_stream_fopen_from_file(FILE *file, const char *mode STREAMS_DC TSRMLS_DC); #define php_stream_fopen_from_file(file, mode) _php_stream_fopen_from_file((file), (mode) STREAMS_CC TSRMLS_CC) PHPAPI php_stream *_php_stream_fopen_from_fd(int fd, const char *mode, const char *persistent_id STREAMS_DC TSRMLS_DC); #define php_stream_fopen_from_fd(fd, mode, persistent_id) _php_stream_fopen_from_fd((fd), (mode), (persistent_id) STREAMS_CC TSRMLS_CC) PHPAPI php_stream *_php_stream_fopen_from_pipe(FILE *file, const char *mode STREAMS_DC TSRMLS_DC); #define php_stream_fopen_from_pipe(file, mode) _php_stream_fopen_from_pipe((file), (mode) STREAMS_CC TSRMLS_CC) PHPAPI php_stream *_php_stream_fopen_tmpfile(int dummy STREAMS_DC TSRMLS_DC); #define php_stream_fopen_tmpfile() _php_stream_fopen_tmpfile(0 STREAMS_CC TSRMLS_CC) PHPAPI php_stream *_php_stream_fopen_temporary_file(const char *dir, const char *pfx, char **opened_path STREAMS_DC TSRMLS_DC); #define php_stream_fopen_temporary_file(dir, pfx, opened_path) _php_stream_fopen_temporary_file((dir), (pfx), (opened_path) STREAMS_CC TSRMLS_CC) /* This is a utility API for extensions that are opening a stream, converting it * to a FILE* and then closing it again. Be warned that fileno() on the result * will most likely fail on systems with fopencookie. */ PHPAPI FILE * _php_stream_open_wrapper_as_file(char * path, char * mode, int options, char **opened_path STREAMS_DC TSRMLS_DC); #define php_stream_open_wrapper_as_file(path, mode, options, opened_path) _php_stream_open_wrapper_as_file((path), (mode), (options), (opened_path) STREAMS_CC TSRMLS_CC) END_EXTERN_C() /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 07070100081295000081a40000000000000000000000014dc0faee0000064f0000010000010007ffffffffffffffff0000003f00000000root/usr/local/include/php/main/streams/php_stream_userspace.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_stream_userspace.h 306939 2011-01-01 02:19:59Z felipe $ */ /* for user-space streams */ PHPAPI extern php_stream_ops php_stream_userspace_ops; PHPAPI extern php_stream_ops php_stream_userspace_dir_ops; #define PHP_STREAM_IS_USERSPACE &php_stream_userspace_ops #define PHP_STREAM_IS_USERSPACE_DIR &php_stream_userspace_dir_ops /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 0707010008127f000081a40000000000000000000000014dc0faed00000d3b0000010000010007ffffffffffffffff0000003500000000root/usr/local/include/php/main/php_memory_streams.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: php_memory_streams.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_MEMORY_STREAM_H #define PHP_MEMORY_STREAM_H #include "php_streams.h" #define PHP_STREAM_MAX_MEM 2 * 1024 * 1024 #define TEMP_STREAM_DEFAULT 0 #define TEMP_STREAM_READONLY 1 #define TEMP_STREAM_TAKE_BUFFER 2 #define php_stream_memory_create(mode) _php_stream_memory_create((mode) STREAMS_CC TSRMLS_CC) #define php_stream_memory_create_rel(mode) _php_stream_memory_create((mode) STREAMS_REL_CC TSRMLS_CC) #define php_stream_memory_open(mode, buf, length) _php_stream_memory_open((mode), (buf), (length) STREAMS_CC TSRMLS_CC) #define php_stream_memory_get_buffer(stream, length) _php_stream_memory_get_buffer((stream), (length) STREAMS_CC TSRMLS_CC) #define php_stream_temp_new() php_stream_temp_create(TEMP_STREAM_DEFAULT, PHP_STREAM_MAX_MEM) #define php_stream_temp_create(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_CC TSRMLS_CC) #define php_stream_temp_create_rel(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_REL_CC TSRMLS_CC) #define php_stream_temp_open(mode, max_memory_usage, buf, length) _php_stream_temp_open((mode), (max_memory_usage), (buf), (length) STREAMS_CC TSRMLS_CC) BEGIN_EXTERN_C() PHPAPI php_stream *_php_stream_memory_create(int mode STREAMS_DC TSRMLS_DC); PHPAPI php_stream *_php_stream_memory_open(int mode, char *buf, size_t length STREAMS_DC TSRMLS_DC); PHPAPI char *_php_stream_memory_get_buffer(php_stream *stream, size_t *length STREAMS_DC TSRMLS_DC); PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC); PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char *buf, size_t length STREAMS_DC TSRMLS_DC); END_EXTERN_C() extern PHPAPI php_stream_ops php_stream_memory_ops; extern PHPAPI php_stream_ops php_stream_temp_ops; extern PHPAPI php_stream_ops php_stream_rfc2397_ops; extern PHPAPI php_stream_wrapper php_stream_rfc2397_wrapper; #define PHP_STREAM_IS_MEMORY &php_stream_memory_ops #define PHP_STREAM_IS_TEMP &php_stream_temp_ops #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 0707010008128c000081a40000000000000000000000014dc0faed00001ba50000010000010007ffffffffffffffff0000002b00000000root/usr/local/include/php/main/snprintf.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken | | Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: snprintf.h 308525 2011-02-21 06:53:24Z cataphract $ */ /* Comparing: sprintf, snprintf, slprintf, spprintf sprintf offers the ability to make a lot of failures since it does not know the size of the buffer it uses. Therefore usage of sprintf often results in possible entries for buffer overrun attacks. So please use this version only if you are sure the call is safe. sprintf allways terminstes the buffer it writes to. snprintf knows the buffers size and will not write behind it. But you will have to use either a static buffer or allocate a dynamic buffer before beeing able to call the function. In other words you must be sure that you really know the maximum size of the buffer required. A bad thing is having a big maximum while in most cases you would only need a small buffer. If the size of the resulting string is longer or equal to the buffer size than the buffer is not terminated. The function also returns the number of chars not including the terminating \0 that were needed to fully comply to the print request. slprintf same as snprintf with the difference that it actually returns the length printed not including the terminating \0. spprintf is the dynamical version of snprintf. It allocates the buffer in size as needed and allows a maximum setting as snprintf (turn this feature off by setting max_len to 0). spprintf is a little bit slower than snprintf and offers possible memory leakes if you miss freeing the buffer allocated by the function. Therfore this function should be used where either no maximum is known or the maximum is much bigger than normal size required. spprintf allways terminates the buffer. Example: #define MAX 1024 | #define MAX 1024 | #define MAX 1024 char buffer[MAX] | char buffer[MAX] | char *buffer; | | | | // No need to initialize buffer: | | // spprintf ignores value of buffer sprintf(buffer, "test"); | snprintf(buffer, MAX, "test"); | spprintf(&buffer, MAX, "text"); | | if (!buffer) | | return OUT_OF_MEMORY // sprintf allways terminates | // manual termination of | // spprintf allays terminates buffer // buffer | // buffer *IS* required | | buffer[MAX-1] = 0; | action_with_buffer(buffer); | action_with_buffer(buffer); | action_with_buffer(buffer); | | efree(buffer); */ #ifndef SNPRINTF_H #define SNPRINTF_H typedef int bool_int; typedef enum { NO = 0, YES = 1 } boolean_e; BEGIN_EXTERN_C() PHPAPI int ap_php_slprintf(char *buf, size_t len, const char *format,...); PHPAPI int ap_php_vslprintf(char *buf, size_t len, const char *format, va_list ap); PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...); PHPAPI int ap_php_vsnprintf(char *, size_t, const char *, va_list ap); PHPAPI int ap_php_vasprintf(char **buf, const char *format, va_list ap); PHPAPI int ap_php_asprintf(char **buf, const char *format, ...); PHPAPI int php_sprintf (char* s, const char* format, ...) PHP_ATTRIBUTE_FORMAT(printf, 2, 3); PHPAPI char * php_gcvt(double value, int ndigit, char dec_point, char exponent, char *buf); PHPAPI char * php_conv_fp(register char format, register double num, boolean_e add_dp, int precision, char dec_point, bool_int * is_negative, char *buf, int *len); END_EXTERN_C() #ifdef slprintf #undef slprintf #endif #define slprintf ap_php_slprintf #ifdef vslprintf #undef vslprintf #endif #define vslprintf ap_php_vslprintf #ifdef snprintf #undef snprintf #endif #define snprintf ap_php_snprintf #ifdef vsnprintf #undef vsnprintf #endif #define vsnprintf ap_php_vsnprintf #ifndef HAVE_VASPRINTF #define vasprintf ap_php_vasprintf #endif #ifndef HAVE_ASPRINTF #define asprintf ap_php_asprintf #endif #ifdef sprintf #undef sprintf #endif #define sprintf php_sprintf typedef enum { LM_STD = 0, #if SIZEOF_INTMAX_T LM_INTMAX_T, #endif #if SIZEOF_PTRDIFF_T LM_PTRDIFF_T, #endif #if SIZEOF_LONG_LONG LM_LONG_LONG, #endif LM_SIZE_T, LM_LONG, LM_LONG_DOUBLE } length_modifier_e; #ifdef PHP_WIN32 # define WIDE_INT __int64 #elif SIZEOF_LONG_LONG_INT # define WIDE_INT long long int #elif SIZEOF_LONG_LONG # define WIDE_INT long long #else # define WIDE_INT long #endif typedef WIDE_INT wide_int; typedef unsigned WIDE_INT u_wide_int; extern char * ap_php_conv_10(register wide_int num, register bool_int is_unsigned, register bool_int * is_negative, char *buf_end, register int *len); extern char * ap_php_conv_p2(register u_wide_int num, register int nbits, char format, char *buf_end, register int *len); /* The maximum precision that's allowed for float conversion. Does not include * decimal separator, exponent, sign, terminator. Currently does not affect * the modes e/f, only g/k/H, as those have a different limit enforced at * another level (see NDIG in php_conv_fp()). * Applies to the formatting functions of both spprintf.c and snprintf.c, which * use equally sized buffers of MAX_BUF_SIZE = 512 to hold the result of the * call to php_gcvt(). * This should be reasonably smaller than MAX_BUF_SIZE (I think MAX_BUF_SIZE - 9 * should be enough, but let's give some more space) */ #define FORMAT_CONV_MAX_PRECISION 500 #endif /* SNPRINTF_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 0707010008127b000081a40000000000000000000000014dc0faec000010e30000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/main/php_globals.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php_globals.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_GLOBALS_H #define PHP_GLOBALS_H #include "zend_globals.h" typedef struct _php_core_globals php_core_globals; #ifdef ZTS # define PG(v) TSRMG(core_globals_id, php_core_globals *, v) extern PHPAPI int core_globals_id; #else # define PG(v) (core_globals.v) extern ZEND_API struct _php_core_globals core_globals; #endif /* Error display modes */ #define PHP_DISPLAY_ERRORS_STDOUT 1 #define PHP_DISPLAY_ERRORS_STDERR 2 /* Track vars */ #define TRACK_VARS_POST 0 #define TRACK_VARS_GET 1 #define TRACK_VARS_COOKIE 2 #define TRACK_VARS_SERVER 3 #define TRACK_VARS_ENV 4 #define TRACK_VARS_FILES 5 #define TRACK_VARS_REQUEST 6 struct _php_tick_function_entry; typedef struct _arg_separators { char *output; char *input; } arg_separators; struct _php_core_globals { zend_bool magic_quotes_gpc; zend_bool magic_quotes_runtime; zend_bool magic_quotes_sybase; zend_bool safe_mode; zend_bool allow_call_time_pass_reference; zend_bool implicit_flush; long output_buffering; char *safe_mode_include_dir; zend_bool safe_mode_gid; zend_bool sql_safe_mode; zend_bool enable_dl; char *output_handler; char *unserialize_callback_func; long serialize_precision; char *safe_mode_exec_dir; long memory_limit; long max_input_time; zend_bool track_errors; zend_bool display_errors; zend_bool display_startup_errors; zend_bool log_errors; long log_errors_max_len; zend_bool ignore_repeated_errors; zend_bool ignore_repeated_source; zend_bool report_memleaks; char *error_log; char *doc_root; char *user_dir; char *include_path; char *open_basedir; char *extension_dir; char *upload_tmp_dir; long upload_max_filesize; char *error_append_string; char *error_prepend_string; char *auto_prepend_file; char *auto_append_file; arg_separators arg_separator; char *variables_order; HashTable rfc1867_protected_variables; short connection_status; short ignore_user_abort; unsigned char header_is_being_sent; zend_llist tick_functions; zval *http_globals[6]; zend_bool expose_php; zend_bool register_globals; zend_bool register_long_arrays; zend_bool register_argc_argv; zend_bool auto_globals_jit; zend_bool y2k_compliance; char *docref_root; char *docref_ext; zend_bool html_errors; zend_bool xmlrpc_errors; long xmlrpc_error_number; zend_bool activated_auto_globals[8]; zend_bool modules_activated; zend_bool file_uploads; zend_bool during_request_startup; zend_bool allow_url_fopen; zend_bool always_populate_raw_post_data; zend_bool report_zend_debug; int last_error_type; char *last_error_message; char *last_error_file; int last_error_lineno; char *disable_functions; char *disable_classes; zend_bool allow_url_include; zend_bool exit_on_timeout; #ifdef PHP_WIN32 zend_bool com_initialized; #endif long max_input_nesting_level; zend_bool in_user_include; char *user_ini_filename; long user_ini_cache_ttl; char *request_order; zend_bool mail_x_header; char *mail_log; zend_bool in_error_log; }; #endif /* PHP_GLOBALS_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081298000081a40000000000000000000000014dc0faed00000ab40000010000010007ffffffffffffffff0000002a00000000root/usr/local/include/php/main/win95nt.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: win95nt.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Defines and types for Windows 95/NT */ #define HAVE_DECLARED_TIMEZONE #define WIN32_LEAN_AND_MEAN #include #include #include #include #include #include #include #include typedef int uid_t; typedef int gid_t; typedef char * caddr_t; #define lstat(x, y) php_sys_lstat(x, y) #define _IFIFO 0010000 /* fifo */ #define _IFBLK 0060000 /* block special */ #define _IFLNK 0120000 /* symbolic link */ #define S_IFIFO _IFIFO #define S_IFBLK _IFBLK #define S_IFLNK _IFLNK #ifndef S_ISREG #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif #define chdir(path) _chdir(path) #define mkdir(a, b) _mkdir(a) #define rmdir(a) _rmdir(a) #define getpid _getpid #define php_sleep(t) SleepEx(t*1000, TRUE) #ifndef getcwd # define getcwd(a, b) _getcwd(a, b) #endif #define off_t _off_t typedef unsigned int uint; typedef unsigned long ulong; #if !NSAPI typedef long pid_t; #endif /* missing in vc5 math.h */ #define M_PI 3.14159265358979323846 #define M_TWOPI (M_PI * 2.0) #define M_PI_2 1.57079632679489661923 #ifndef M_PI_4 #define M_PI_4 0.78539816339744830962 #endif #if !defined(PHP_DEBUG) #ifdef inline #undef inline #endif #define inline __inline #endif /* General Windows stuff */ #ifndef WINDOWS # define WINDOWS 1 #endif /* Prevent use of VC5 OpenFile function */ #define NOOPENFILE /* sendmail is built-in */ #ifdef PHP_PROG_SENDMAIL #undef PHP_PROG_SENDMAIL #define PHP_PROG_SENDMAIL "Built in mailer" #endif 0707010008127a000081a40000000000000000000000014dc0faec000008490000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/main/php_getopt.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: php_getopt.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_GETOPT_H #define PHP_GETOPT_H #include "php.h" #ifdef NETWARE /* As NetWare LibC has optind and optarg macros defined in unistd.h our local variables were getting mistakenly preprocessed so undeffing optind and optarg */ #undef optarg #undef optind #endif /* Define structure for one recognized option (both single char and long name). * If short_open is '-' this is the last option. */ typedef struct _opt_struct { char opt_char; int need_param; char * opt_name; } opt_struct; BEGIN_EXTERN_C() /* holds the index of the latest fetched element from the opts array */ extern PHPAPI int php_optidx; PHPAPI int php_getopt(int argc, char* const *argv, const opt_struct opts[], char **optarg, int *optind, int show_err, int arg_start); END_EXTERN_C() #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ 07070100081279000081a40000000000000000000000014dc0faec0000061d0000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/main/php_content_types.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_content_types.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_CONTENT_TYPES_H #define PHP_CONTENT_TYPES_H #define DEFAULT_POST_CONTENT_TYPE "application/x-www-form-urlencoded" SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader); SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler); int php_startup_sapi_content_types(TSRMLS_D); int php_setup_sapi_content_types(TSRMLS_D); #endif /* PHP_CONTENT_TYPES_H */ 07070100081276000081a40000000000000000000000014dc0faec000012050000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/main/php3_compat.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php3_compat.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP3_COMPAT_H #define PHP3_COMPAT_H typedef zval pval; #define pval_copy_constructor zval_copy_ctor #define pval_destructor zval_dtor #define _php3_hash_init zend_hash_init #define _php3_hash_destroy zend_hash_destroy #define _php3_hash_clean zend_hash_clean #define _php3_hash_add_or_update zend_hash_add_or_update #define _php3_hash_add zend_hash_add #define _php3_hash_update zend_hash_update #define _php3_hash_quick_add_or_update zend_hash_quick_add_or_update #define _php3_hash_quick_add zend_hash_quick_add #define _php3_hash_quick_update zend_hash_quick_update #define _php3_hash_index_update_or_next_insert zend_hash_index_update_or_next_insert #define _php3_hash_index_update zend_hash_index_update #define _php3_hash_next_index_insert zend_hash_next_index_insert #define _php3_hash_pointer_update zend_hash_pointer_update #define _php3_hash_pointer_index_update_or_next_insert zend_hash_pointer_index_update_or_next_insert #define _php3_hash_pointer_index_update zend_hash_pointer_index_update #define _php3_hash_next_index_pointer_update zend_hash_next_index_pointer_update #define _php3_hash_next_index_pointer_insert zend_hash_next_index_pointer_insert #define _php3_hash_del_key_or_index zend_hash_del_key_or_index #define _php3_hash_del zend_hash_del #define _php3_hash_index_del zend_hash_index_del #define _php3_hash_find zend_hash_find #define _php3_hash_quick_find zend_hash_quick_find #define _php3_hash_index_find zend_hash_index_find #define _php3_hash_exists zend_hash_exists #define _php3_hash_index_exists zend_hash_index_exists #define _php3_hash_is_pointer zend_hash_is_pointer #define _php3_hash_index_is_pointer zend_hash_index_is_pointer #define _php3_hash_next_free_element zend_hash_next_free_element #define _php3_hash_move_forward zend_hash_move_forward #define _php3_hash_move_backwards zend_hash_move_backwards #define _php3_hash_get_current_key zend_hash_get_current_key #define _php3_hash_get_current_data zend_hash_get_current_data #define _php3_hash_internal_pointer_reset zend_hash_internal_pointer_reset #define _php3_hash_internal_pointer_end zend_hash_internal_pointer_end #define _php3_hash_copy zend_hash_copy #define _php3_hash_merge zend_hash_merge #define _php3_hash_sort zend_hash_sort #define _php3_hash_minmax zend_hash_minmax #define _php3_hash_num_elements zend_hash_num_elements #define _php3_hash_apply zend_hash_apply #define _php3_hash_apply_with_argument zend_hash_apply_with_argument #define php3_error php_error #define php3_printf php_printf #define _php3_sprintf php_sprintf #define php3_module_entry zend_module_entry #define php3_strndup zend_strndup #define php3_str_tolower zend_str_tolower #define php3_binary_strcmp zend_binary_strcmp #define php3_list_insert zend_list_insert #define php3_list_find zend_list_find #define php3_list_delete zend_list_delete #define php3_plist_insert zend_plist_insert #define php3_plist_find zend_plist_find #define php3_plist_delete zend_plist_delete #define zend_print_pval zend_print_zval #define zend_print_pval_r zend_print_zval_r #define function_entry zend_function_entry #define _php3_addslashes php_addslashes #define _php3_stripslashes php_stripslashes #define php3_dl php_dl #define getParameters zend_get_parameters #define getParametersArray zend_get_parameters_array #define list_entry zend_rsrc_list_entry #endif /* PHP3_COMPAT_H */ 07070100081278000081a40000000000000000000000014dc0faec0000ec5a0000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/main/php_config.h/* main/php_config.h. Generated automatically by configure. */ /* main/php_config.h.in. Generated automatically from configure.in by autoheader. */ /* Leave this file alone */ /* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ | Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.zend.com/license/2_00.txt. | | If you did not receive a copy of the Zend license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@zend.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: acconfig.h 306939 2011-01-01 02:19:59Z felipe $ */ #if defined(__GNUC__) && __GNUC__ >= 4 # define ZEND_API __attribute__ ((visibility("default"))) # define ZEND_DLEXPORT __attribute__ ((visibility("default"))) #else # define ZEND_API # define ZEND_DLEXPORT #endif #define ZEND_DLIMPORT /* Define if on AIX 3. System headers sometimes define this. We just want to avoid a redefinition error message. */ #ifndef _ALL_SOURCE /* #undef _ALL_SOURCE */ #endif /* Define if using alloca.c. */ /* #undef C_ALLOCA */ /* Define to empty if the keyword does not work. */ /* #undef const */ /* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. This function is required for alloca.c support on those systems. */ /* #undef CRAY_STACKSEG_END */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define if you have alloca, as a function or macro. */ #define HAVE_ALLOCA 1 /* Define if you have and it should be used (not on Ultrix). */ #define HAVE_ALLOCA_H 1 /* Define if you don't have vprintf but do have _doprnt. */ /* #undef HAVE_DOPRNT */ /* Define if your system has a working fnmatch function. */ #define HAVE_FNMATCH 1 /* Define if your struct stat has st_blksize. */ #define HAVE_ST_BLKSIZE 1 /* Define if your struct stat has st_blocks. */ #define HAVE_ST_BLOCKS 1 /* Define if your struct stat has st_rdev. */ #define HAVE_ST_RDEV 1 /* Define if your struct tm has tm_zone. */ /* #undef HAVE_TM_ZONE */ /* Define if you don't have tm_zone but do have the external array tzname. */ #define HAVE_TZNAME 1 /* Define if utime(file, NULL) sets file's timestamp to the present. */ #define HAVE_UTIME_NULL 1 /* Define if you have the vprintf function. */ #define HAVE_VPRINTF 1 /* Define as __inline if that's what the C compiler calls it. */ /* #undef inline */ /* Define if your C compiler doesn't accept -c and -o together. */ /* #undef NO_MINUS_C_MINUS_O */ /* Define as the return type of signal handlers (int or void). */ #define RETSIGTYPE void /* Define to `unsigned' if doesn't define. */ /* #undef size_t */ /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ /* #undef STACK_DIRECTION */ /* Define if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Define if you can safely include both and . */ /* #undef TIME_WITH_SYS_TIME */ /* Define if your declares struct tm. */ /* #undef TM_IN_SYS_TIME */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ /* #undef uint */ /* #undef ulong */ /* The number of bytes in a char. */ /* #undef SIZEOF_CHAR */ /* The number of bytes in a char *. */ #define SIZEOF_CHAR_P 8 /* The number of bytes in a int. */ #define SIZEOF_INT 4 /* The number of bytes in a long. */ #define SIZEOF_LONG 8 /* The number of bytes in a long int. */ /* #undef SIZEOF_LONG_INT */ /* The number of bytes in a long long. */ #define SIZEOF_LONG_LONG 8 /* The number of bytes in a long long int. */ #define SIZEOF_LONG_LONG_INT 8 /* The number of bytes in a short. */ #define SIZEOF_SHORT 2 /* The number of bytes in a size_t. */ #define SIZEOF_SIZE_T 8 /* Define if you have the CreateProcess function. */ /* #undef HAVE_CREATEPROCESS */ /* Define if you have the acosh function. */ #define HAVE_ACOSH 1 /* Define if you have the alphasort function. */ #define HAVE_ALPHASORT 1 /* Define if you have the asctime_r function. */ #define HAVE_ASCTIME_R 1 /* Define if you have the asinh function. */ #define HAVE_ASINH 1 /* Define if you have the asprintf function. */ /* #undef HAVE_ASPRINTF */ /* Define if you have the atanh function. */ #define HAVE_ATANH 1 /* Define if you have the atoll function. */ #define HAVE_ATOLL 1 /* Define if you have the chroot function. */ #define HAVE_CHROOT 1 /* Define if you have the clearenv function. */ /* #undef HAVE_CLEARENV */ /* Define if you have the crypt function. */ #define HAVE_CRYPT 1 /* Define if you have the crypt_r function. */ /* #undef HAVE_CRYPT_R */ /* Define if you have the ctermid function. */ #define HAVE_CTERMID 1 /* Define if you have the ctime_r function. */ #define HAVE_CTIME_R 1 /* Define if you have the cuserid function. */ #define HAVE_CUSERID 1 /* Define if you have the fabsf function. */ #define HAVE_FABSF 1 /* Define if you have the finite function. */ #define HAVE_FINITE 1 /* Define if you have the flock function. */ /* #undef HAVE_FLOCK */ /* Define if you have the floorf function. */ #define HAVE_FLOORF 1 /* Define if you have the fork function. */ #define HAVE_FORK 1 /* Define if you have the fpclass function. */ #define HAVE_FPCLASS 1 /* Define if you have the ftok function. */ #define HAVE_FTOK 1 /* Define if you have the funopen function. */ /* #undef HAVE_FUNOPEN */ /* Define if you have the gai_strerror function. */ #define HAVE_GAI_STRERROR 1 /* Define if you have the gcvt function. */ #define HAVE_GCVT 1 /* Define if you have the getcwd function. */ #define HAVE_GETCWD 1 /* Define if you have the getgrgid_r function. */ #define HAVE_GETGRGID_R 1 /* Define if you have the getgrnam_r function. */ #define HAVE_GETGRNAM_R 1 /* Define if you have the getgroups function. */ #define HAVE_GETGROUPS 1 /* Define if you have the gethostname function. */ #define HAVE_GETHOSTNAME 1 /* Define if you have the getloadavg function. */ #define HAVE_GETLOADAVG 1 /* Define if you have the getlogin function. */ #define HAVE_GETLOGIN 1 /* Define if you have the getopt function. */ #define HAVE_GETOPT 1 /* Define if you have the getpgid function. */ #define HAVE_GETPGID 1 /* Define if you have the getpid function. */ #define HAVE_GETPID 1 /* Define if you have the getpriority function. */ /* #undef HAVE_GETPRIORITY */ /* Define if you have the getprotobyname function. */ #define HAVE_GETPROTOBYNAME 1 /* Define if you have the getprotobynumber function. */ #define HAVE_GETPROTOBYNUMBER 1 /* Define if you have the getpwnam_r function. */ #define HAVE_GETPWNAM_R 1 /* Define if you have the getpwuid_r function. */ #define HAVE_GETPWUID_R 1 /* Define if you have the getrlimit function. */ #define HAVE_GETRLIMIT 1 /* Define if you have the getrusage function. */ #define HAVE_GETRUSAGE 1 /* Define if you have the getservbyname function. */ #define HAVE_GETSERVBYNAME 1 /* Define if you have the getservbyport function. */ #define HAVE_GETSERVBYPORT 1 /* Define if you have the getsid function. */ #define HAVE_GETSID 1 /* Define if you have the gettimeofday function. */ #define HAVE_GETTIMEOFDAY 1 /* Define if you have the getwd function. */ #define HAVE_GETWD 1 /* Define if you have the glob function. */ #define HAVE_GLOB 1 /* Define if you have the gmtime_r function. */ #define HAVE_GMTIME_R 1 /* Define if you have the grantpt function. */ #define HAVE_GRANTPT 1 /* Define if you have the hstrerror function. */ /* #undef HAVE_HSTRERROR */ /* Define if you have the hypot function. */ #define HAVE_HYPOT 1 /* Define if you have the inet_ntoa function. */ #define HAVE_INET_NTOA 1 /* Define if you have the inet_ntop function. */ #define HAVE_INET_NTOP 1 /* Define if you have the inet_pton function. */ #define HAVE_INET_PTON 1 /* Define if you have the initgroups function. */ #define HAVE_INITGROUPS 1 /* Define if you have the isascii function. */ #define HAVE_ISASCII 1 /* Define if you have the isfinite function. */ /* #undef HAVE_ISFINITE */ /* Define if you have the isinf function. */ /* #undef HAVE_ISINF */ /* Define if you have the isnan function. */ #define HAVE_ISNAN 1 /* Define if you have the kill function. */ #define HAVE_KILL 1 /* Define if you have the lchown function. */ #define HAVE_LCHOWN 1 /* Define if you have the ldap_parse_reference function. */ #define HAVE_LDAP_PARSE_REFERENCE 1 /* Define if you have the ldap_parse_result function. */ #define HAVE_LDAP_PARSE_RESULT 1 /* Define if you have the ldap_start_tls_s function. */ #define HAVE_LDAP_START_TLS_S 1 /* Define if you have the link function. */ #define HAVE_LINK 1 /* Define if you have the localeconv function. */ #define HAVE_LOCALECONV 1 /* Define if you have the localtime_r function. */ #define HAVE_LOCALTIME_R 1 /* Define if you have the lockf function. */ #define HAVE_LOCKF 1 /* Define if you have the log1p function. */ #define HAVE_LOG1P 1 /* Define if you have the lrand48 function. */ #define HAVE_LRAND48 1 /* Define if you have the makedev function. */ /* #undef HAVE_MAKEDEV */ /* Define if you have the mblen function. */ #define HAVE_MBLEN 1 /* Define if you have the mbrlen function. */ #define HAVE_MBRLEN 1 /* Define if you have the mbsinit function. */ #define HAVE_MBSINIT 1 /* Define if you have the memcpy function. */ #define HAVE_MEMCPY 1 /* Define if you have the memmove function. */ #define HAVE_MEMMOVE 1 /* Define if you have the mempcpy function. */ /* #undef HAVE_MEMPCPY */ /* Define if you have the mkfifo function. */ #define HAVE_MKFIFO 1 /* Define if you have the mknod function. */ #define HAVE_MKNOD 1 /* Define if you have the mkstemp function. */ #define HAVE_MKSTEMP 1 /* Define if you have the mmap function. */ #define HAVE_MMAP 1 /* Define if you have the mremap function. */ /* #undef HAVE_MREMAP */ /* Define if you have the mysql_commit function. */ /* #undef HAVE_MYSQL_COMMIT */ /* Define if you have the mysql_next_result function. */ /* #undef HAVE_MYSQL_NEXT_RESULT */ /* Define if you have the mysql_sqlstate function. */ /* #undef HAVE_MYSQL_SQLSTATE */ /* Define if you have the mysql_stmt_prepare function. */ /* #undef HAVE_MYSQL_STMT_PREPARE */ /* Define if you have the nanosleep function. */ #define HAVE_NANOSLEEP 1 /* Define if you have the nice function. */ #define HAVE_NICE 1 /* Define if you have the nl_langinfo function. */ #define HAVE_NL_LANGINFO 1 /* Define if you have the perror function. */ #define HAVE_PERROR 1 /* Define if you have the poll function. */ #define HAVE_POLL 1 /* Define if you have the ptsname function. */ #define HAVE_PTSNAME 1 /* Define if you have the putenv function. */ #define HAVE_PUTENV 1 /* Define if you have the rand_r function. */ #define HAVE_RAND_R 1 /* Define if you have the random function. */ #define HAVE_RANDOM 1 /* Define if you have the realpath function. */ #define HAVE_REALPATH 1 /* Define if you have the rl_completion_matches function. */ #define HAVE_RL_COMPLETION_MATCHES 1 /* Define if you have the scandir function. */ #define HAVE_SCANDIR 1 /* Define if you have the setegid function. */ #define HAVE_SETEGID 1 /* Define if you have the setenv function. */ #define HAVE_SETENV 1 /* Define if you have the seteuid function. */ #define HAVE_SETEUID 1 /* Define if you have the setitimer function. */ #define HAVE_SETITIMER 1 /* Define if you have the setlocale function. */ #define HAVE_SETLOCALE 1 /* Define if you have the setpgid function. */ #define HAVE_SETPGID 1 /* Define if you have the setpriority function. */ /* #undef HAVE_SETPRIORITY */ /* Define if you have the setproctitle function. */ /* #undef HAVE_SETPROCTITLE */ /* Define if you have the setsid function. */ #define HAVE_SETSID 1 /* Define if you have the setsockopt function. */ #define HAVE_SETSOCKOPT 1 /* Define if you have the setvbuf function. */ #define HAVE_SETVBUF 1 /* Define if you have the shutdown function. */ #define HAVE_SHUTDOWN 1 /* Define if you have the sigaction function. */ /* #undef HAVE_SIGACTION */ /* Define if you have the sigprocmask function. */ /* #undef HAVE_SIGPROCMASK */ /* Define if you have the sigsetjmp function. */ #define HAVE_SIGSETJMP 1 /* Define if you have the sigtimedwait function. */ /* #undef HAVE_SIGTIMEDWAIT */ /* Define if you have the sigwaitinfo function. */ /* #undef HAVE_SIGWAITINFO */ /* Define if you have the sin function. */ #define HAVE_SIN 1 /* Define if you have the snprintf function. */ #define HAVE_SNPRINTF 1 /* Define if you have the socketpair function. */ #define HAVE_SOCKETPAIR 1 /* Define if you have the srand48 function. */ #define HAVE_SRAND48 1 /* Define if you have the srandom function. */ #define HAVE_SRANDOM 1 /* Define if you have the statfs function. */ #define HAVE_STATFS 1 /* Define if you have the statvfs function. */ #define HAVE_STATVFS 1 /* Define if you have the std_syslog function. */ /* #undef HAVE_STD_SYSLOG */ /* Define if you have the strcasecmp function. */ #define HAVE_STRCASECMP 1 /* Define if you have the strcoll function. */ #define HAVE_STRCOLL 1 /* Define if you have the strdup function. */ #define HAVE_STRDUP 1 /* Define if you have the strerror function. */ #define HAVE_STRERROR 1 /* Define if you have the strfmon function. */ #define HAVE_STRFMON 1 /* Define if you have the strftime function. */ #define HAVE_STRFTIME 1 /* Define if you have the strlcat function. */ #define HAVE_STRLCAT 1 /* Define if you have the strlcpy function. */ #define HAVE_STRLCPY 1 /* Define if you have the strndup function. */ /* #undef HAVE_STRNDUP */ /* Define if you have the strnlen function. */ /* #undef HAVE_STRNLEN */ /* Define if you have the strpbrk function. */ /* #undef HAVE_STRPBRK */ /* Define if you have the strpncpy function. */ /* #undef HAVE_STRPNCPY */ /* Define if you have the strptime function. */ #define HAVE_STRPTIME 1 /* Define if you have the strstr function. */ #define HAVE_STRSTR 1 /* Define if you have the strtod function. */ #define HAVE_STRTOD 1 /* Define if you have the strtok_r function. */ #define HAVE_STRTOK_R 1 /* Define if you have the strtol function. */ #define HAVE_STRTOL 1 /* Define if you have the strtoll function. */ #define HAVE_STRTOLL 1 /* Define if you have the strtoul function. */ /* #undef HAVE_STRTOUL */ /* Define if you have the strtoull function. */ /* #undef HAVE_STRTOULL */ /* Define if you have the symlink function. */ #define HAVE_SYMLINK 1 /* Define if you have the tempnam function. */ #define HAVE_TEMPNAM 1 /* Define if you have the tzset function. */ #define HAVE_TZSET 1 /* Define if you have the unlockpt function. */ #define HAVE_UNLOCKPT 1 /* Define if you have the unsetenv function. */ #define HAVE_UNSETENV 1 /* Define if you have the usleep function. */ #define HAVE_USLEEP 1 /* Define if you have the utime function. */ #define HAVE_UTIME 1 /* Define if you have the utimes function. */ #define HAVE_UTIMES 1 /* Define if you have the vasprintf function. */ /* #undef HAVE_VASPRINTF */ /* Define if you have the vsnprintf function. */ #define HAVE_VSNPRINTF 1 /* Define if you have the wait3 function. */ /* #undef HAVE_WAIT3 */ /* Define if you have the waitpid function. */ /* #undef HAVE_WAITPID */ /* Define if you have the header file. */ /* #undef HAVE__NSAPI_H */ /* Define if you have the header file. */ /* #undef HAVE_APPLICATIONSERVICES_APPLICATIONSERVICES_H */ /* Define if you have the header file. */ #define HAVE_ALLOCA_H 1 /* Define if you have the header file. */ #define HAVE_ARPA_INET_H 1 /* Define if you have the header file. */ #define HAVE_ARPA_NAMESER_H 1 /* Define if you have the header file. */ #define HAVE_ASSERT_H 1 /* Define if you have the header file. */ #define HAVE_ATOMIC_H 1 /* Define if you have the header file. */ #define HAVE_CRYPT_H 1 /* Define if you have the header file. */ /* #undef HAVE_DEFAULT_STORE_H */ /* Define if you have the header file. */ #define HAVE_DIRENT_H 1 /* Define if you have the header file. */ #define HAVE_DLFCN_H 1 /* Define if you have the header file. */ /* #undef HAVE_DNS_H */ /* Define if you have the header file. */ #define HAVE_ERRNO_H 1 /* Define if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define if you have the header file. */ #define HAVE_GRP_H 1 /* Define if you have the header file. */ #define HAVE_IEEEFP_H 1 /* Define if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define if you have the header file. */ #define HAVE_LANGINFO_H 1 /* Define if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define if you have the header file. */ #define HAVE_MALLOC_H 1 /* Define if you have the header file. */ #define HAVE_MONETARY_H 1 /* Define if you have the header file. */ /* #undef HAVE_NDIR_H */ /* Define if you have the header file. */ #define HAVE_NETDB_H 1 /* Define if you have the header file. */ #define HAVE_NETINET_IN_H 1 /* Define if you have the header file. */ #define HAVE_NETINET_TCP_H 1 /* Define if you have the header file. */ /* #undef HAVE_OPENSSL_CRYPTO_H */ /* Define if you have the header file. */ #define HAVE_PWD_H 1 /* Define if you have the header file. */ #define HAVE_RESOLV_H 1 /* Define if you have the header file. */ #define HAVE_SIGNAL_H 1 /* Define if you have the header file. */ /* #undef HAVE_ST_H */ /* Define if you have the header file. */ #define HAVE_STDARG_H 1 /* Define if you have the header file. */ /* #undef HAVE_STDBOOL_H */ /* Define if you have the header file. */ #define HAVE_STDINT_H 1 /* Define if you have the header file. */ /* #undef HAVE_STDIO_H */ /* Define if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define if you have the header file. */ #define HAVE_STRING_H 1 /* Define if you have the header file. */ /* #undef HAVE_STRINGS_H */ /* Define if you have the header file. */ /* #undef HAVE_SYS_DIR_H */ /* Define if you have the header file. */ #define HAVE_SYS_FILE_H 1 /* Define if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define if you have the header file. */ #define HAVE_SYS_IPC_H 1 /* Define if you have the header file. */ #define HAVE_SYS_LOADAVG_H 1 /* Define if you have the header file. */ #define HAVE_SYS_MKDEV_H 1 /* Define if you have the header file. */ #define HAVE_SYS_MMAN_H 1 /* Define if you have the header file. */ #define HAVE_SYS_MOUNT_H 1 /* Define if you have the header file. */ /* #undef HAVE_SYS_NDIR_H */ /* Define if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define if you have the header file. */ #define HAVE_SYS_POLL_H 1 /* Define if you have the header file. */ #define HAVE_SYS_RESOURCE_H 1 /* Define if you have the header file. */ #define HAVE_SYS_SELECT_H 1 /* Define if you have the header file. */ #define HAVE_SYS_SOCKET_H 1 /* Define if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define if you have the header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define if you have the header file. */ /* #undef HAVE_SYS_SYSEXITS_H */ /* Define if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define if you have the header file. */ /* #undef HAVE_SYS_TIMES_H */ /* Define if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define if you have the header file. */ /* #undef HAVE_SYS_UIO_H */ /* Define if you have the header file. */ #define HAVE_SYS_UN_H 1 /* Define if you have the header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define if you have the header file. */ #define HAVE_SYS_VARARGS_H 1 /* Define if you have the header file. */ #define HAVE_SYS_VFS_H 1 /* Define if you have the header file. */ #define HAVE_SYS_WAIT_H 1 /* Define if you have the header file. */ #define HAVE_SYSEXITS_H 1 /* Define if you have the header file. */ #define HAVE_SYSLOG_H 1 /* Define if you have the header file. */ #define HAVE_TERMIOS_H 1 /* Define if you have the header file. */ #define HAVE_TIME_H 1 /* Define if you have the header file. */ /* #undef HAVE_TUXMODULE_H */ /* Define if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define if you have the header file. */ /* #undef HAVE_UNIX_H */ /* Define if you have the header file. */ #define HAVE_UTIME_H 1 /* Define if you have the header file. */ #define HAVE_WCHAR_H 1 /* Define if you have the header file. */ /* #undef HAVE_XMLPARSE_H */ /* Define if you have the header file. */ /* #undef HAVE_XMLTOK_H */ /* Define if you have the m library (-lm). */ #define HAVE_LIBM 1 /* Define if the target system has /dev/urandom device */ #define HAVE_DEV_URANDOM 1 /* Whether you have AOLserver */ /* #undef HAVE_AOLSERVER */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_APACHE */ /* */ /* #undef HAVE_APACHE */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_OLD_COMPAT_H */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_OLD_COMPAT_H */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_OLD_COMPAT_H */ /* */ /* #undef USE_TRANSFER_TABLES */ /* */ /* #undef PHP_APACHE_HAVE_CLIENT_FD */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_APACHE_HOOKS */ /* */ /* #undef HAVE_APACHE */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_OLD_COMPAT_H */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_OLD_COMPAT_H */ /* */ /* #undef HAVE_AP_CONFIG_H */ /* */ /* #undef HAVE_AP_COMPAT_H */ /* */ /* #undef HAVE_OLD_COMPAT_H */ /* */ /* #undef USE_TRANSFER_TABLES */ /* */ /* #undef PHP_APACHE_HAVE_CLIENT_FD */ /* Whether to compile with Caudium support */ /* #undef HAVE_CAUDIUM */ /* Whether you have a Continuity Server */ /* #undef HAVE_CONTINUITY */ /* do we have prctl? */ /* #undef HAVE_PRCTL */ /* do we have clock_gettime? */ /* #undef HAVE_CLOCK_GETTIME */ /* do we have clock_get_time? */ /* #undef HAVE_CLOCK_GET_TIME */ /* do we have ptrace? */ /* #undef HAVE_PTRACE */ /* do we have mach_vm_read? */ /* #undef HAVE_MACH_VM_READ */ /* /proc/pid/mem interface */ /* #undef PROC_MEM_FILE */ /* Define to 1 if gcc supports __sync_bool_compare_and_swap() a.o. */ /* #undef HAVE_BUILTIN_ATOMIC */ /* do we have TCP_INFO? */ /* #undef HAVE_LQ_TCP_INFO */ /* do we have SO_LISTENQxxx? */ /* #undef HAVE_LQ_SO_LISTENQ */ /* fpm user name */ /* #undef PHP_FPM_USER */ /* fpm group name */ /* #undef PHP_FPM_GROUP */ /* */ /* #undef WITH_ZEUS */ /* Whether you have a Netscape/iPlanet/Sun Webserver */ /* #undef HAVE_NSAPI */ /* Whether you have phttpd */ /* #undef HAVE_PHTTPD */ /* whether you want Pi3Web support */ /* #undef WITH_PI3WEB */ /* Whether you use Roxen */ /* #undef HAVE_ROXEN */ /* Whether to use Roxen in ZTS mode */ /* #undef ROXEN_USE_ZTS */ /* Define if the socklen_t typedef is in sys/socket.h */ #define HAVE_SOCKLEN_T 1 /* Define if sockaddr_un in sys/un.h contains a sun_len component */ /* #undef HAVE_SOCKADDR_UN_SUN_LEN */ /* Define if cross-process locking is required by accept() */ /* #undef USE_LOCKING */ /* Define if system uses EBCDIC */ /* #undef CHARSET_EBCDIC */ /* Define if processor uses big-endian word */ #define WORDS_BIGENDIAN /* whether write(2) works */ #define PHP_WRITE_STDOUT 1 /* */ #define HAVE_SOCKET 1 /* */ #define HAVE_SOCKET 1 /* */ #define HAVE_LIBSOCKET 1 /* */ #define HAVE_SOCKETPAIR 1 /* */ #define HAVE_SOCKETPAIR 1 /* */ #define HAVE_LIBSOCKET 1 /* */ #define HAVE_HTONL 1 /* */ #define HAVE_HTONL 1 /* */ #define HAVE_LIBSOCKET 1 /* */ #define HAVE_GETHOSTNAME 1 /* */ #define HAVE_GETHOSTNAME 1 /* */ #define HAVE_LIBNSL 1 /* */ #define HAVE_GETHOSTBYADDR 1 /* */ #define HAVE_GETHOSTBYADDR 1 /* */ #define HAVE_LIBNSL 1 /* */ #define HAVE_YP_GET_DEFAULT_DOMAIN 1 /* */ #define HAVE_YP_GET_DEFAULT_DOMAIN 1 /* */ #define HAVE_LIBNSL 1 /* */ #define HAVE_DLOPEN 1 /* */ #define HAVE_DLOPEN 1 /* */ #define HAVE_LIBDL 1 /* */ #define HAVE_LIBDL 1 /* */ #define HAVE_INET_ATON 1 /* */ #define HAVE_INET_ATON 1 /* */ #define HAVE_LIBRESOLV 1 /* */ #define HAVE_INET_ATON 1 /* */ /* #undef HAVE_LIBBIND */ /* */ /* #undef HAVE_FOPENCOOKIE */ /* */ /* #undef COOKIE_IO_FUNCTIONS_T */ /* */ /* #undef COOKIE_SEEKER_USES_OFF64_T */ /* Define if system has broken getcwd */ #define HAVE_BROKEN_GETCWD 1 /* Define if your glibc borks on fopen with mode a+ */ #define HAVE_BROKEN_GLIBC_FOPEN_APPEND 1 /* Whether localtime_r is declared */ /* #undef MISSING_LOCALTIME_R_DECL */ /* Whether gmtime_r is declared */ /* #undef MISSING_GMTIME_R_DECL */ /* Whether asctime_r is declared */ /* #undef MISSING_ASCTIME_R_DECL */ /* Whether ctime_r is declared */ /* #undef MISSING_CTIME_R_DECL */ /* Whether strtok_r is declared */ /* #undef MISSING_STRTOK_R_DECL */ /* */ #define MISSING_FCLOSE_DECL 0 /* */ #define MISSING_FCLOSE_DECL 0 /* whether you have tm_gmtoff in struct tm */ /* #undef HAVE_TM_GMTOFF */ /* whether you have struct flock */ #define HAVE_STRUCT_FLOCK 1 /* Whether you have socklen_t */ #define HAVE_SOCKLEN_T 1 /* Size of intmax_t */ #define SIZEOF_INTMAX_T 8 /* Whether intmax_t is available */ #define HAVE_INTMAX_T 1 /* Size of ssize_t */ #define SIZEOF_SSIZE_T 8 /* Whether ssize_t is available */ #define HAVE_SSIZE_T 1 /* Size of ptrdiff_t */ #define SIZEOF_PTRDIFF_T 8 /* Whether ptrdiff_t is available */ #define HAVE_PTRDIFF_T 1 /* Whether you have struct sockaddr_storage */ #define HAVE_SOCKADDR_STORAGE 1 /* Whether struct sockaddr has field sa_len */ /* #undef HAVE_SOCKADDR_SA_LEN */ /* */ #define HAVE_NANOSLEEP 1 /* */ #define HAVE_LIBRT 1 /* Define if you have the getaddrinfo function */ #define HAVE_GETADDRINFO 1 /* Whether system headers declare timezone */ #define HAVE_DECLARED_TIMEZONE 1 /* Whether you have HP-UX 10.x */ /* #undef PHP_HPUX_TIME_R */ /* Whether you have IRIX-style functions */ /* #undef PHP_IRIX_TIME_R */ /* whether you have POSIX readdir_r */ #define HAVE_POSIX_READDIR_R 1 /* whether you have old-style readdir_r */ /* #undef HAVE_OLD_READDIR_R */ /* */ /* #undef in_addr_t */ /* Define if crypt_r has uses CRYPTD */ /* #undef CRYPT_R_CRYPTD */ /* Define if crypt_r uses struct crypt_data */ /* #undef CRYPT_R_STRUCT_CRYPT_DATA */ /* Define if struct crypt_data requires _GNU_SOURCE */ /* #undef CRYPT_R_GNU_SOURCE */ /* Whether you have gcov */ /* #undef HAVE_GCOV */ /* */ #define PHP_SAFE_MODE 0 /* */ #define PHP_SAFE_MODE 0 /* */ #define PHP_SAFE_MODE_EXEC_DIR "/usr/local/php/bin" /* */ #define PHP_SAFE_MODE_EXEC_DIR "/usr/local/php/bin" /* */ #define PHP_SIGCHILD 0 /* */ #define PHP_SIGCHILD 0 /* */ #define MAGIC_QUOTES 0 /* */ #define MAGIC_QUOTES 0 /* */ #define DEFAULT_SHORT_OPEN_TAG "1" /* */ #define DEFAULT_SHORT_OPEN_TAG "1" /* Whether you have dmalloc */ /* #undef HAVE_DMALLOC */ /* Whether to enable IPv6 support */ #define HAVE_IPV6 1 /* Define if int32_t type is present. */ #define HAVE_INT32_T 1 /* Define if uint32_t type is present. */ #define HAVE_UINT32_T 1 /* Whether to build date as dynamic module */ /* #undef COMPILE_DL_DATE */ /* Whether to build ereg as dynamic module */ /* #undef COMPILE_DL_EREG */ /* */ #define HAVE_REGEX_T_RE_MAGIC 1 /* */ #define HSREGEX 1 /* */ #define REGEX 1 /* */ #define REGEX 1 /* 1 */ #define HAVE_REGEX_T_RE_MAGIC 1 /* */ #define HAVE_LIBXML 1 /* */ #define HAVE_LIBXML 1 /* Whether to build libxml as dynamic module */ /* #undef COMPILE_DL_LIBXML */ /* Whether to build openssl as dynamic module */ /* #undef COMPILE_DL_OPENSSL */ /* OpenSSL 0.9.7 or later */ /* #undef HAVE_DSA_DEFAULT_METHOD */ /* */ #define HAVE_OPENSSL_EXT 1 /* */ #define HAVE_PCRE 1 /* Whether to build pcre as dynamic module */ /* #undef COMPILE_DL_PCRE */ /* Whether to build pcre as dynamic module */ /* #undef COMPILE_DL_PCRE */ /* */ /* #undef HAVE_BUNDLED_PCRE */ /* have commercial sqlite3 with crypto support */ /* #undef HAVE_SQLITE3_KEY */ /* have sqlite3 with extension support */ /* #undef SQLITE_OMIT_LOAD_EXTENSION */ /* */ #define HAVE_SQLITE3 1 /* Whether to build sqlite3 as dynamic module */ /* #undef COMPILE_DL_SQLITE3 */ /* Whether to build zlib as dynamic module */ /* #undef COMPILE_DL_ZLIB */ /* */ #define HAVE_ZLIB 1 /* Whether to build bcmath as dynamic module */ /* #undef COMPILE_DL_BCMATH */ /* Whether you have bcmath */ /* #undef HAVE_BCMATH */ /* */ #define HAVE_BZ2 1 /* Whether to build bz2 as dynamic module */ /* #undef COMPILE_DL_BZ2 */ /* */ /* #undef HAVE_CALENDAR */ /* Whether to build calendar as dynamic module */ /* #undef COMPILE_DL_CALENDAR */ /* */ #define HAVE_CTYPE 1 /* Whether to build ctype as dynamic module */ /* #undef COMPILE_DL_CTYPE */ /* Have cURL with SSL support */ #define HAVE_CURL_SSL 1 /* Have cURL with OpenSSL support */ /* #undef HAVE_CURL_OPENSSL */ /* Have cURL with GnuTLS support */ /* #undef HAVE_CURL_GNUTLS */ /* */ #define HAVE_CURL 1 /* */ #define HAVE_CURL_VERSION_INFO 1 /* */ #define HAVE_CURL_EASY_STRERROR 1 /* */ #define HAVE_CURL_MULTI_STRERROR 1 /* */ #define PHP_CURL_URL_WRAPPERS 1 /* Whether to build curl as dynamic module */ /* #undef COMPILE_DL_CURL */ /* */ /* #undef QDBM_INCLUDE_FILE */ /* */ /* #undef DBA_QDBM */ /* */ #define GDBM_INCLUDE_FILE "/usr/local/include/gdbm.h" /* */ #define DBA_GDBM 1 /* */ /* #undef NDBM_INCLUDE_FILE */ /* */ /* #undef DBA_NDBM */ /* */ #define DBA_DB4 1 /* */ #define DB4_INCLUDE_FILE "/usr/local/include/db.h" /* */ /* #undef DBA_DB3 */ /* */ /* #undef DB3_INCLUDE_FILE */ /* */ /* #undef DBA_DB2 */ /* */ /* #undef DB2_INCLUDE_FILE */ /* */ /* #undef DB1_VERSION */ /* */ /* #undef DB1_VERSION */ /* */ /* #undef DB1_INCLUDE_FILE */ /* */ /* #undef DBA_DB1 */ /* */ /* #undef DBM_INCLUDE_FILE */ /* */ /* #undef DBM_VERSION */ /* */ /* #undef DBM_VERSION */ /* */ /* #undef DBA_DBM */ /* */ #define DBA_CDB_BUILTIN 1 /* */ #define DBA_CDB_MAKE 1 /* */ #define DBA_CDB 1 /* */ /* #undef CDB_INCLUDE_FILE */ /* */ #define DBA_CDB 1 /* */ #define DBA_INIFILE 1 /* */ #define DBA_FLATFILE 1 /* */ #define HAVE_DBA 1 /* Whether to build dba as dynamic module */ /* #undef COMPILE_DL_DBA */ /* */ #define HAVE_LIBXML 1 /* */ #define HAVE_DOM 1 /* Whether to build dom as dynamic module */ /* #undef COMPILE_DL_DOM */ /* Whether to build enchant as dynamic module */ /* #undef COMPILE_DL_ENCHANT */ /* */ /* #undef HAVE_ENCHANT */ /* */ /* #undef HAVE_ENCHANT_BROKER_SET_PARAM */ /* */ /* #undef ENCHANT_VERSION_STRING */ /* Whether you want EXIF (metadata from images) support */ /* #undef HAVE_EXIF */ /* Whether to build exif as dynamic module */ /* #undef COMPILE_DL_EXIF */ /* Whether to build fileinfo as dynamic module */ /* #undef COMPILE_DL_FILEINFO */ /* Whether to build filter as dynamic module */ /* #undef COMPILE_DL_FILTER */ /* Whether you want FTP support */ /* #undef HAVE_FTP */ /* Whether to build ftp as dynamic module */ /* #undef COMPILE_DL_FTP */ /* */ #define USE_GD_IMGSTRTTF 1 /* */ #define USE_GD_IMGSTRTTF 1 /* */ #define HAVE_LIBFREETYPE 1 /* */ #define ENABLE_GD_TTF 1 /* */ /* #undef HAVE_LIBT1 */ /* */ #define HAVE_LIBGD 1 /* */ #define HAVE_LIBGD13 1 /* */ #define HAVE_LIBGD15 1 /* */ #define HAVE_LIBGD20 1 /* */ #define HAVE_LIBGD204 1 /* */ #define HAVE_GD_IMAGESETTILE 1 /* */ #define HAVE_GD_IMAGESETBRUSH 1 /* */ #define HAVE_GDIMAGECOLORRESOLVE 1 /* */ #define HAVE_COLORCLOSESTHWB 1 /* */ #define HAVE_GD_WBMP 1 /* */ #define HAVE_GD_GD2 1 /* */ #define HAVE_GD_PNG 1 /* */ #define HAVE_GD_XBM 1 /* */ #define HAVE_GD_BUNDLED 1 /* */ #define HAVE_GD_GIF_READ 1 /* */ #define HAVE_GD_GIF_CREATE 1 /* */ #define HAVE_GD_IMAGEELLIPSE 1 /* */ #define HAVE_GD_FONTCACHESHUTDOWN 1 /* */ #define HAVE_GD_FONTMUTEX 1 /* */ #define HAVE_GD_DYNAMIC_CTX_EX 1 /* */ #define HAVE_GD_GIF_CTX 1 /* */ #define HAVE_GD_JPG 1 /* */ #define HAVE_GD_XPM 1 /* */ #define HAVE_GD_STRINGFT 1 /* */ #define HAVE_GD_STRINGFTEX 1 /* */ #define ENABLE_GD_TTF 1 /* */ /* #undef USE_GD_JISX0208 */ /* */ #define USE_GD_IMGSTRTTF 1 /* */ #define USE_GD_IMGSTRTTF 1 /* */ #define HAVE_LIBFREETYPE 1 /* */ #define ENABLE_GD_TTF 1 /* */ /* #undef HAVE_LIBT1 */ /* */ #define HAVE_LIBGD 1 /* */ #define HAVE_LIBGD13 1 /* */ #define HAVE_LIBGD15 1 /* */ #define HAVE_GD_PNG 1 /* */ #define HAVE_GD_GIF_READ 1 /* */ #define HAVE_GD_GIF_CREATE 1 /* */ #define HAVE_GD_WBMP 1 /* */ #define HAVE_GD_JPG 1 /* */ #define HAVE_GD_XPM 1 /* */ #define HAVE_GD_GD2 1 /* */ #define HAVE_LIBGD20 1 /* */ #define HAVE_GD_IMAGESETTILE 1 /* */ #define HAVE_GD_IMAGEELLIPSE 1 /* */ #define HAVE_GD_IMAGESETBRUSH 1 /* */ /* #undef HAVE_GD_STRINGTTF */ /* */ #define HAVE_GD_STRINGFT 1 /* */ #define HAVE_GD_STRINGFTEX 1 /* */ #define HAVE_COLORCLOSESTHWB 1 /* */ #define HAVE_GDIMAGECOLORRESOLVE 1 /* */ #define HAVE_GD_GIF_CTX 1 /* */ /* #undef HAVE_GD_CACHE_CREATE */ /* */ #define HAVE_GD_FONTCACHESHUTDOWN 1 /* */ /* #undef HAVE_GD_FREEFONTCACHE */ /* */ #define HAVE_GD_FONTMUTEX 1 /* */ #define HAVE_GD_DYNAMIC_CTX_EX 1 /* */ #define HAVE_LIBGD204 1 /* Whether to build gd as dynamic module */ /* #undef COMPILE_DL_GD */ /* */ #define HAVE_LIBINTL 1 /* Whether to build gettext as dynamic module */ /* #undef COMPILE_DL_GETTEXT */ /* */ #define HAVE_NGETTEXT 1 /* */ #define HAVE_DNGETTEXT 1 /* */ #define HAVE_DCNGETTEXT 1 /* */ #define HAVE_BIND_TEXTDOMAIN_CODESET 1 /* Whether to build gmp as dynamic module */ /* #undef COMPILE_DL_GMP */ /* */ /* #undef HAVE_GMP */ /* */ /* #undef PHP_MHASH_BC */ /* Have HASH Extension */ #define HAVE_HASH_EXT 1 /* Define if processor uses big-endian word */ #define WORDS_BIGENDIAN /* Whether to build hash as dynamic module */ /* #undef COMPILE_DL_HASH */ /* */ /* #undef HAVE_LIBICONV */ /* */ /* #undef HAVE_GICONV_H */ /* */ /* #undef HAVE_LIBICONV */ /* iconv() is aliased to libiconv() in -liconv */ /* #undef ICONV_ALIASED_LIBICONV */ /* */ #define HAVE_ICONV 1 /* Which iconv implementation to use */ /* #undef PHP_ICONV_IMPL */ /* Konstantin Chuguev's iconv implementation */ /* #undef HAVE_BSD_ICONV */ /* Which iconv implementation to use */ /* #undef PHP_ICONV_IMPL */ /* glibc's iconv implementation */ /* #undef HAVE_GLIBC_ICONV */ /* Which iconv implementation to use */ /* #undef PHP_ICONV_IMPL */ /* IBM iconv implementation */ /* #undef HAVE_IBM_ICONV */ /* Which iconv implementation to use */ /* #undef PHP_ICONV_IMPL */ /* Whether iconv supports error no or not */ #define ICONV_SUPPORTS_ERRNO 1 /* Whether iconv supports error no or not */ #define ICONV_SUPPORTS_ERRNO 1 /* Whether iconv supports error no or not */ #define ICONV_SUPPORTS_ERRNO 1 /* Path to iconv.h */ #define PHP_ICONV_H_PATH /* Whether to build iconv as dynamic module */ /* #undef COMPILE_DL_ICONV */ /* Whether to build imap as dynamic module */ /* #undef COMPILE_DL_IMAP */ /* */ /* #undef HAVE_IMAP */ /* */ /* #undef HAVE_IMAP2000 */ /* */ /* #undef HAVE_IMAP2000 */ /* */ /* #undef HAVE_IMAP2000 */ /* */ /* #undef HAVE_IMAP2000 */ /* */ /* #undef HAVE_IMAP2000 */ /* */ /* #undef HAVE_IMAP2000 */ /* */ /* #undef HAVE_IMAP2004 */ /* Whether utf8_mime2text() has new signature */ /* #undef HAVE_NEW_MIME2TEXT */ /* */ /* #undef HAVE_IMAP2001 */ /* */ /* #undef HAVE_LIBPAM */ /* */ /* #undef HAVE_LIBCRYPT */ /* */ /* #undef HAVE_IMAP_KRB */ /* */ /* #undef HAVE_IMAP_SSL */ /* */ /* #undef HAVE_IMAP_AUTH_GSS */ /* */ /* #undef HAVE_IMAP_MUTF7 */ /* */ /* #undef HAVE_RFC822_OUTPUT_ADDRESS_LIST */ /* */ /* #undef HAVE_IBASE */ /* Whether to build interbase as dynamic module */ /* #undef COMPILE_DL_INTERBASE */ /* Whether to build intl as dynamic module */ /* #undef COMPILE_DL_INTL */ /* whether to enable JavaScript Object Serialization support */ #define HAVE_JSON 1 /* Whether to build json as dynamic module */ /* #undef COMPILE_DL_JSON */ /* Whether to build ldap as dynamic module */ /* #undef COMPILE_DL_LDAP */ /* */ /* #undef HAVE_NSLDAP */ /* */ /* #undef HAVE_NSLDAP */ /* */ /* #undef HAVE_NSLDAP */ /* */ /* #undef HAVE_NSLDAP */ /* */ /* #undef HAVE_ORALDAP */ /* */ /* #undef HAVE_ORALDAP_10 */ /* */ #define HAVE_LDAP 1 /* Whether 3 arg set_rebind_proc() */ #define HAVE_3ARG_SETREBINDPROC 1 /* */ /* #undef HAVE_LDAP_SASL_SASL_H */ /* */ /* #undef HAVE_LDAP_SASL_H */ /* LDAP SASL support */ /* #undef HAVE_LDAP_SASL */ /* whether to have multibyte string support */ /* #undef HAVE_MBSTRING */ /* whether to check multibyte regex backtrack */ /* #undef USE_COMBINATION_EXPLOSION_CHECK */ /* Define to 1 if you have the header file. */ /* #undef HAVE_STDARG_PROTOTYPES */ /* Define to 1 if the bundled oniguruma is used */ /* #undef PHP_ONIG_BUNDLED */ /* Define to 1 if the oniguruma library is available */ /* #undef HAVE_ONIG */ /* Define to 1 if the oniguruma library is available */ /* #undef HAVE_ONIG */ /* define to 1 if oniguruma has an invalid entry for KOI8 encoding */ /* #undef PHP_ONIG_BAD_KOI8_ENTRY */ /* whether to have multibyte regex support */ /* #undef HAVE_MBREGEX */ /* Whether to build mbstring as dynamic module */ /* #undef COMPILE_DL_MBSTRING */ /* */ #define HAVE_LIBMCRYPT 1 /* */ #define HAVE_LIBMCRYPT 1 /* Whether to build mcrypt as dynamic module */ /* #undef COMPILE_DL_MCRYPT */ /* Whether to build mssql as dynamic module */ /* #undef COMPILE_DL_MSSQL */ /* */ /* #undef HAVE_LIBDNET_STUB */ /* */ /* #undef HAVE_MSSQL */ /* */ /* #undef HAVE_FREETDS */ /* */ /* #undef PHP_MYSQL_UNIX_SOCK_ADDR */ /* */ /* #undef PHP_MYSQL_UNIX_SOCK_ADDR */ /* Whether you have MySQL */ #define HAVE_MYSQL 1 /* Whether to build mysql as dynamic module */ /* #undef COMPILE_DL_MYSQL */ /* Whether mysqlnd is enabled */ /* #undef MYSQL_USE_MYSQLND */ /* embedded MySQL support enabled */ /* #undef HAVE_EMBEDDED_MYSQLI */ /* */ /* #undef HAVE_MYSQLILIB */ /* */ /* #undef HAVE_STMT_NEXT_RESULT */ /* Whether to build mysqli as dynamic module */ /* #undef COMPILE_DL_MYSQLI */ /* Whether mysqlnd is enabled */ /* #undef MYSQLI_USE_MYSQLND */ /* */ /* #undef HAVE_OCI_LOB_READ2 */ /* Whether to build oci8 as dynamic module */ /* #undef COMPILE_DL_OCI8 */ /* */ /* #undef HAVE_OCI8 */ /* */ /* #undef PHP_OCI8_DEF_DIR */ /* */ /* #undef PHP_OCI8_DEF_SHARED_LIBADD */ /* */ /* #undef HAVE_OCI_INSTANT_CLIENT */ /* */ /* #undef HAVE_OCI_LOB_READ2 */ /* Whether to build oci8 as dynamic module */ /* #undef COMPILE_DL_OCI8 */ /* */ /* #undef HAVE_OCI8 */ /* */ /* #undef HAVE_ADABAS */ /* */ /* #undef HAVE_SAPDB */ /* */ /* #undef HAVE_SOLID_35 */ /* */ /* #undef HAVE_SOLID_30 */ /* */ /* #undef HAVE_SOLID */ /* Needed in sqlunix.h */ /* #undef SS_LINUX */ /* Needed in sqlunix.h */ /* #undef SS_LINUX */ /* Needed in sqlunix.h for wchar defs */ /* #undef SS_FBX */ /* Needed in sqlunix.h for wchar defs */ /* #undef SS_FBX */ /* */ /* #undef HAVE_IBMDB2 */ /* */ /* #undef HAVE_ODBC_ROUTER */ /* */ /* #undef HAVE_EMPRESS */ /* */ /* #undef HAVE_EMPRESS */ /* */ /* #undef AIX */ /* */ /* #undef HPUX */ /* */ /* #undef LINUX */ /* */ /* #undef NEUTRINO */ /* */ /* #undef ISOLARIS */ /* */ /* #undef SOLARIS */ /* */ /* #undef UNIXWARE */ /* */ /* #undef HAVE_BIRDSTEP */ /* */ /* #undef HAVE_CODBC */ /* */ #define HAVE_IODBC 1 /* */ #define HAVE_ODBC2 1 /* */ /* #undef HAVE_ESOOB */ /* */ /* #undef HAVE_UNIXODBC */ /* Whether you want DBMaker */ /* #undef HAVE_DBMAKER */ /* */ #define HAVE_SQLDATASOURCES 1 /* */ #define HAVE_UODBC 1 /* Whether to build odbc as dynamic module */ /* #undef COMPILE_DL_ODBC */ /* */ #define HAVE_FORK 1 /* */ /* #undef HAVE_WAITPID */ /* */ /* #undef HAVE_SIGACTION */ /* Whether to build pcntl as dynamic module */ /* #undef COMPILE_DL_PCNTL */ /* Whether to build pdo as dynamic module */ /* #undef COMPILE_DL_PDO */ /* Whether to build pdo_dblib as dynamic module */ /* #undef COMPILE_DL_PDO_DBLIB */ /* */ /* #undef HAVE_LIBDNET_STUB */ /* */ /* #undef HAVE_PDO_DBLIB */ /* */ /* #undef HAVE_FREETDS */ /* */ /* #undef HAVE_PDO_FIREBIRD */ /* Whether to build pdo_firebird as dynamic module */ /* #undef COMPILE_DL_PDO_FIREBIRD */ /* Whether pdo_mysql uses mysqlnd */ /* #undef PDO_USE_MYSQLND */ /* Whether you have MySQL */ #define HAVE_MYSQL 1 /* */ /* #undef PDO_MYSQL_UNIX_ADDR */ /* Whether to build pdo_mysql as dynamic module */ /* #undef COMPILE_DL_PDO_MYSQL */ /* */ /* #undef HAVE_OCIENVCREATE */ /* */ /* #undef HAVE_OCIENVNLSCREATE */ /* */ /* #undef HAVE_OCILOBISTEMPORARY */ /* */ /* #undef HAVE_OCILOBISTEMPORARY */ /* */ /* #undef HAVE_OCICOLLASSIGN */ /* */ /* #undef HAVE_OCISTMTFETCH2 */ /* Whether to build pdo_oci as dynamic module */ /* #undef COMPILE_DL_PDO_OCI */ /* */ /* #undef PHP_PDO_OCI_CLIENT_VERSION */ /* */ /* #undef HAVE_ODBC_H */ /* */ /* #undef HAVE_ODBCSDK_H */ /* */ /* #undef HAVE_IODBC_H */ /* */ /* #undef HAVE_SQLUNIX_H */ /* */ /* #undef HAVE_SQLTYPES_H */ /* */ /* #undef HAVE_SQLUCODE_H */ /* */ /* #undef HAVE_SQL_H */ /* */ /* #undef HAVE_ISQL_H */ /* */ /* #undef HAVE_SQLEXT_H */ /* */ /* #undef HAVE_ISQLEXT_H */ /* */ /* #undef HAVE_UDBCEXT_H */ /* */ /* #undef HAVE_SQLCLI1_H */ /* */ /* #undef HAVE_LIBRARYMANAGER_H */ /* */ /* #undef HAVE_CLI0CORE_H */ /* */ /* #undef HAVE_CLI0EXT_H */ /* */ /* #undef HAVE_CLI0CLI_H */ /* */ /* #undef HAVE_CLI0DEFS_H */ /* */ /* #undef HAVE_CLI0ENV_H */ /* Whether to build pdo_odbc as dynamic module */ /* #undef COMPILE_DL_PDO_ODBC */ /* Whether to have pg_config.h */ /* #undef HAVE_PG_CONFIG_H */ /* Whether to have pg_config.h */ /* #undef HAVE_PG_CONFIG_H */ /* Whether to build PostgreSQL for PDO support or not */ /* #undef HAVE_PDO_PGSQL */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQPARAMETERSTATUS */ /* PostgreSQL 8.0 or later */ /* #undef HAVE_PQPREPARE */ /* PostgreSQL 8.1.4 or later */ /* #undef HAVE_PQESCAPE_CONN */ /* PostgreSQL 8.1.4 or later */ /* #undef HAVE_PQESCAPE_BYTEA_CONN */ /* Whether libpq is compiled with --enable-multibyte */ /* #undef HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT */ /* Whether to build pdo_pgsql as dynamic module */ /* #undef COMPILE_DL_PDO_PGSQL */ /* */ /* #undef HAVE_PDO_SQLITELIB */ /* have commercial sqlite3 with crypto support */ /* #undef HAVE_SQLITE3_KEY */ /* Whether to build pdo_sqlite as dynamic module */ /* #undef COMPILE_DL_PDO_SQLITE */ /* Whether to build pdo_sqlite as dynamic module */ /* #undef COMPILE_DL_PDO_SQLITE */ /* Whether to have pg_config.h */ /* #undef HAVE_PG_CONFIG_H */ /* Whether to have pg_config.h */ /* #undef HAVE_PG_CONFIG_H */ /* Whether to build PostgreSQL support or not */ /* #undef HAVE_PGSQL */ /* PostgreSQL 7.2.0 or later */ /* #undef HAVE_PQESCAPE */ /* PostgreSQL 7.3.0 or later */ /* #undef HAVE_PQUNESCAPEBYTEA */ /* PostgreSQL 7.0.x or later */ /* #undef HAVE_PQSETNONBLOCKING */ /* Broken libpq under windows */ /* #undef HAVE_PQCMDTUPLES */ /* Older PostgreSQL */ /* #undef HAVE_PQOIDVALUE */ /* PostgreSQL 7.0.x or later */ /* #undef HAVE_PQCLIENTENCODING */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQPARAMETERSTATUS */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQPROTOCOLVERSION */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PGTRANSACTIONSTATUS */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQEXECPARAMS */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQPREPARE */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQEXECPREPARED */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQRESULTERRORFIELD */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQSENDQUERYPARAMS */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQSENDPREPARE */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQSENDQUERYPREPARED */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQPUTCOPYDATA */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQPUTCOPYEND */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQGETCOPYDATA */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQFREEMEM */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQSETERRORVERBOSITY */ /* PostgreSQL 7.4 or later */ /* #undef HAVE_PQFTABLE */ /* PostgreSQL 8.1.4 or later */ /* #undef HAVE_PQESCAPE_CONN */ /* PostgreSQL 8.1.4 or later */ /* #undef HAVE_PQESCAPE_BYTEA_CONN */ /* Whether libpq is compiled with --enable-multibyte */ /* #undef HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT */ /* PostgreSQL 8.1 or later */ /* #undef HAVE_PG_LO_CREATE */ /* PostgreSQL 8.4 or later */ /* #undef HAVE_PG_LO_IMPORT_WITH_OID */ /* Whether to build pgsql as dynamic module */ /* #undef COMPILE_DL_PGSQL */ /* Whether to build phar as dynamic module */ /* #undef COMPILE_DL_PHAR */ /* */ #define PHAR_HASH_OK 1 /* */ /* #undef PHAR_HAVE_OPENSSL */ /* whether to include POSIX-like functions */ #define HAVE_POSIX 1 /* Whether to build posix as dynamic module */ /* #undef COMPILE_DL_POSIX */ /* Whether you have a working ttyname_r */ /* #undef HAVE_TTYNAME_R */ /* Wether struct utsname has domainname */ /* #undef HAVE_UTSNAME_DOMAINNAME */ /* Whether to build pspell as dynamic module */ /* #undef COMPILE_DL_PSPELL */ /* */ /* #undef HAVE_PSPELL */ /* */ #define HAVE_RL_CALLBACK_READ_CHAR 1 /* */ #define HAVE_LIBREADLINE 1 /* */ /* #undef HAVE_LIBEDIT */ /* Whether to build readline as dynamic module */ /* #undef COMPILE_DL_READLINE */ /* Whether we have librecode 3.5 */ /* #undef HAVE_BROKEN_RECODE */ /* Whether we have librecode 3.5 or higher */ /* #undef HAVE_LIBRECODE */ /* Whether to build recode as dynamic module */ /* #undef COMPILE_DL_RECODE */ /* Whether Reflection is enabled */ #define HAVE_REFLECTION 1 /* Whether to build reflection as dynamic module */ /* #undef COMPILE_DL_REFLECTION */ /* */ #define HAVE_PWRITE 1 /* whether pwrite64 is default */ /* #undef PHP_PWRITE_64 */ /* */ #define HAVE_PREAD 1 /* whether pread64 is default */ /* #undef PHP_PREAD_64 */ /* Whether to build session as dynamic module */ /* #undef COMPILE_DL_SESSION */ /* */ #define HAVE_PHP_SESSION 1 /* Whether you have libmm */ /* #undef HAVE_LIBMM */ /* */ /* #undef HAVE_SHMOP */ /* Whether to build shmop as dynamic module */ /* #undef COMPILE_DL_SHMOP */ /* */ #define HAVE_LIBXML 1 /* */ #define HAVE_SIMPLEXML 1 /* Whether to build simplexml as dynamic module */ /* #undef COMPILE_DL_SIMPLEXML */ /* */ /* #undef HAVE_NET_SNMP */ /* */ /* #undef HAVE_SNMP_PARSE_OID */ /* */ /* #undef HAVE_SNMP */ /* */ /* #undef UCD_SNMP_HACK */ /* Whether to build snmp as dynamic module */ /* #undef COMPILE_DL_SNMP */ /* */ #define HAVE_LIBXML 1 /* */ #define HAVE_SOAP 1 /* Whether to build soap as dynamic module */ /* #undef COMPILE_DL_SOAP */ /* Whether you have struct cmsghdr */ #define HAVE_CMSGHDR 1 /* */ #define MISSING_MSGHDR_MSGFLAGS 1 /* */ #define HAVE_SOCKETS 1 /* Whether to build sockets as dynamic module */ /* #undef COMPILE_DL_SOCKETS */ /* Whether struct _zend_object_value is packed */ #define HAVE_PACKED_OBJECT_VALUE 0 /* Whether you want SPL (Standard PHP Library) support */ #define HAVE_SPL 1 /* Whether to build spl as dynamic module */ /* #undef COMPILE_DL_SPL */ /* Have PDO */ #define PHP_SQLITE2_HAVE_PDO 1 /* Whether to build sqlite as dynamic module */ /* #undef COMPILE_DL_SQLITE */ /* Size of a pointer */ #define SQLITE_PTR_SZ SIZEOF_CHAR_P /* */ /* #undef SQLITE_UTF8 */ /* Define if flush should be called explicitly after a buffered io. */ #define HAVE_FLUSHIO 1 /* */ #define HAVE_CRYPT 1 /* whether the compiler supports __alignof__ */ #define HAVE_ALIGNOF 1 /* whether the compiler supports __attribute__ ((__aligned__)) */ #define HAVE_ATTRIBUTE_ALIGNED 1 /* Whether PHP has to use its own crypt_r for blowfish, des, ext des and md5 */ #define PHP_USE_PHP_CRYPT_R 1 /* Whether the system supports standard DES salt */ #define PHP_STD_DES_CRYPT 1 /* Whether the system supports BlowFish salt */ #define PHP_BLOWFISH_CRYPT 1 /* Whether the system supports extended DES salt */ #define PHP_EXT_DES_CRYPT 1 /* Whether the system supports MD5 salt */ #define PHP_MD5_CRYPT 1 /* Whether the system supports SHA512 salt */ #define PHP_SHA512_CRYPT 1 /* Whether the system supports SHA256 salt */ #define PHP_SHA256_CRYPT 1 /* Whether the system supports standard DES salt */ #define PHP_STD_DES_CRYPT 1 /* Whether the system supports BlowFish salt */ #define PHP_BLOWFISH_CRYPT 1 /* Whether the system supports extended DES salt */ #define PHP_EXT_DES_CRYPT 1 /* Whether the system supports MD5 salt */ #define PHP_MD5_CRYPT 1 /* Whether the system supports SHA512 salt */ #define PHP_SHA512_CRYPT 1 /* Whether the system supports SHA256 salt */ #define PHP_SHA256_CRYPT 1 /* Whether PHP has to use its own crypt_r for blowfish, des and ext des */ #define PHP_USE_PHP_CRYPT_R 1 /* Define if your system has fork/vfork/CreateProcess */ #define PHP_CAN_SUPPORT_PROC_OPEN 1 /* Whether to enable chroot() function */ /* #undef ENABLE_CHROOT_FUNC */ /* */ #define HAVE_RES_NSEARCH 1 /* */ #define HAVE_RES_NSEARCH 1 /* */ #define HAVE_LIBRESOLV 1 /* */ #define HAVE_RES_NSEARCH 1 /* */ /* #undef HAVE_LIBBIND */ /* */ #define HAVE_RES_NSEARCH 1 /* */ #define HAVE_LIBSOCKET 1 /* */ /* #undef HAVE_DNS_SEARCH */ /* */ /* #undef HAVE_DNS_SEARCH */ /* */ #define HAVE_LIBRESOLV 1 /* */ /* #undef HAVE_DNS_SEARCH */ /* */ /* #undef HAVE_LIBBIND */ /* */ /* #undef HAVE_DNS_SEARCH */ /* */ #define HAVE_LIBSOCKET 1 /* */ #define HAVE_DN_EXPAND 1 /* */ #define HAVE_DN_EXPAND 1 /* */ #define HAVE_LIBRESOLV 1 /* */ #define HAVE_DN_EXPAND 1 /* */ /* #undef HAVE_LIBBIND */ /* */ #define HAVE_DN_EXPAND 1 /* */ #define HAVE_LIBSOCKET 1 /* */ #define HAVE_DN_SKIPNAME 1 /* */ #define HAVE_DN_SKIPNAME 1 /* */ #define HAVE_LIBRESOLV 1 /* */ #define HAVE_DN_SKIPNAME 1 /* */ /* #undef HAVE_LIBBIND */ /* */ #define HAVE_DN_SKIPNAME 1 /* */ #define HAVE_LIBSOCKET 1 /* */ #define HAVE_RES_SEARCH 1 /* */ #define HAVE_RES_SEARCH 1 /* */ #define HAVE_LIBRESOLV 1 /* */ #define HAVE_RES_SEARCH 1 /* */ /* #undef HAVE_LIBBIND */ /* */ #define HAVE_RES_SEARCH 1 /* */ #define HAVE_LIBSOCKET 1 /* whether atof() accepts NAN */ #define HAVE_ATOF_ACCEPTS_NAN 1 /* whether atof() accepts INF */ /* #undef HAVE_ATOF_ACCEPTS_INF */ /* whether HUGE_VAL == INF */ #define HAVE_HUGE_VAL_INF 1 /* whether HUGE_VAL + -HUGEVAL == NAN */ #define HAVE_HUGE_VAL_NAN 1 /* whether strptime() declaration fails */ #define HAVE_STRPTIME_DECL_FAILS 1 /* Define if your system has mbstate_t in wchar.h */ /* #undef HAVE_MBSTATE_T */ /* Whether to build standard as dynamic module */ /* #undef COMPILE_DL_STANDARD */ /* */ /* #undef HAVE_SYBASE_CT */ /* Whether to build sybase_ct as dynamic module */ /* #undef COMPILE_DL_SYBASE_CT */ /* */ /* #undef HAVE_SYSVMSG */ /* Whether to build sysvmsg as dynamic module */ /* #undef COMPILE_DL_SYSVMSG */ /* Whether to build sysvsem as dynamic module */ /* #undef COMPILE_DL_SYSVSEM */ /* */ /* #undef HAVE_SYSVSEM */ /* */ /* #undef HAVE_SEMUN */ /* */ /* #undef HAVE_SEMUN */ /* */ /* #undef HAVE_SYSVSHM */ /* Whether to build sysvshm as dynamic module */ /* #undef COMPILE_DL_SYSVSHM */ /* */ /* #undef HAVE_TIDYOPTGETDOC */ /* Whether to build tidy as dynamic module */ /* #undef COMPILE_DL_TIDY */ /* */ /* #undef HAVE_TIDY */ /* Whether to build tokenizer as dynamic module */ /* #undef COMPILE_DL_TOKENIZER */ /* */ #define HAVE_LIBXML 1 /* */ /* #undef HAVE_LIBEXPAT */ /* */ /* #undef HAVE_WDDX */ /* Whether to build wddx as dynamic module */ /* #undef COMPILE_DL_WDDX */ /* */ #define HAVE_LIBXML 1 /* */ /* #undef HAVE_LIBEXPAT */ /* Whether to build xml as dynamic module */ /* #undef COMPILE_DL_XML */ /* */ #define HAVE_XML 1 /* */ #define HAVE_LIBXML 1 /* */ #define HAVE_XMLREADER 1 /* Whether to build xmlreader as dynamic module */ /* #undef COMPILE_DL_XMLREADER */ /* */ /* #undef HAVE_XMLRPC */ /* */ #define HAVE_LIBXML 1 /* */ /* #undef HAVE_LIBEXPAT */ /* */ /* #undef HAVE_LIBICONV */ /* */ /* #undef HAVE_GICONV_H */ /* */ /* #undef HAVE_LIBICONV */ /* iconv() is aliased to libiconv() in -liconv */ /* #undef ICONV_ALIASED_LIBICONV */ /* */ #define HAVE_ICONV 1 /* */ /* #undef UNDEF_THREADS_HACK */ /* Whether to build xmlrpc as dynamic module */ /* #undef COMPILE_DL_XMLRPC */ /* Whether to build xmlrpc as dynamic module */ /* #undef COMPILE_DL_XMLRPC */ /* */ #define HAVE_LIBXML 1 /* */ #define HAVE_XMLWRITER 1 /* Whether to build xmlwriter as dynamic module */ /* #undef COMPILE_DL_XMLWRITER */ /* */ #define HAVE_XSL_EXSLT 1 /* */ #define HAVE_XSL 1 /* Whether to build xsl as dynamic module */ /* #undef COMPILE_DL_XSL */ /* */ #define HAVE_ZIP 1 /* Whether to build zip as dynamic module */ /* #undef COMPILE_DL_ZIP */ /* Whether to build mysqlnd as dynamic module */ /* #undef COMPILE_DL_MYSQLND */ /* Enable compressed protocol support */ /* #undef MYSQLND_COMPRESSION_ENABLED */ /* Enable SSL support */ /* #undef MYSQLND_SSL_SUPPORTED */ /* Define if int32_t type is present. */ #define HAVE_INT32_T 1 /* Define if uint32_t type is present. */ #define HAVE_UINT32_T 1 /* Whether sprintf is broken */ #define ZEND_BROKEN_SPRINTF 0 /* whether floatingpoint.h defines fp_except */ /* #undef HAVE_FP_EXCEPT */ /* whether _FPU_SETCW is present and usable */ /* #undef HAVE__FPU_SETCW */ /* whether fpsetprec is present and usable */ /* #undef HAVE_FPSETPREC */ /* whether _controlfp is present usable */ /* #undef HAVE__CONTROLFP */ /* whether _controlfp_s is present and usable */ /* #undef HAVE__CONTROLFP_S */ /* whether FPU control word can be manipulated by inline assembler */ /* #undef HAVE_FPU_INLINE_ASM_X86 */ /* Define if double cast to long preserves least significant bits */ /* #undef ZEND_DVAL_TO_LVAL_CAST_OK */ /* Define if dlsym() requires a leading underscore in symbol names. */ /* #undef DLSYM_NEEDS_UNDERSCORE */ /* virtual machine dispatch method */ #define ZEND_VM_KIND ZEND_VM_KIND_CALL /* virtual machine dispatch method */ #define ZEND_VM_KIND ZEND_VM_KIND_CALL /* virtual machine dispatch method */ #define ZEND_VM_KIND ZEND_VM_KIND_CALL /* */ #define ZEND_DEBUG 0 /* */ #define ZEND_DEBUG 0 /* */ /* #undef ZTS */ /* */ /* #undef ZEND_MULTIBYTE */ /* Define if the target system is darwin */ /* #undef DARWIN */ /* */ #define ZEND_MM_ALIGNMENT 8 /* */ #define ZEND_MM_ALIGNMENT_LOG2 3 /* Define if the target system has support for memory allocation using mmap(MAP_ANON) */ #define HAVE_MEM_MMAP_ANON 1 /* Define if the target system has support for memory allocation using mmap(/dev/zero) */ #define HAVE_MEM_MMAP_ZERO 1 /* */ /* #undef ZTS */ /* Whether you use GNU Pth */ /* #undef GNUPTH */ /* */ /* #undef TSRM_ST */ /* Whether to use native BeOS threads */ /* #undef BETHREADS */ /* Whether to use Pthreads */ /* #undef PTHREADS */ /* PHP build date */ #define PHP_BUILD_DATE "2011-05-04" /* hardcode for each of the cross compiler host */ #define PHP_OS "SunOS" /* hardcode for each of the cross compiler host */ #define PHP_UNAME "SunOS aunswaz192040 5.10 Generic_142909-17 sun4v sparc SUNW,T5240" /* uname -a output */ #define PHP_UNAME "SunOS aunswaz192040 5.10 Generic_142909-17 sun4v sparc SUNW,T5240" /* uname output */ #define PHP_OS "SunOS" /* */ #define HAVE_BUILD_DEFS_H 1 #ifndef ZEND_ACCONFIG_H_NO_C_PROTOS #ifdef HAVE_STDLIB_H # include #endif #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_SELECT_H #include #endif #ifdef HAVE_IEEEFP_H # include #endif #ifdef HAVE_STRING_H # include #else # include #endif #if ZEND_BROKEN_SPRINTF int zend_sprintf(char *buffer, const char *format, ...); #else # define zend_sprintf sprintf #endif #include /* To enable the is_nan, is_infinite and is_finite PHP functions */ #ifdef NETWARE #define HAVE_ISNAN 1 #define HAVE_ISINF 1 #define HAVE_ISFINITE 1 #endif #ifndef zend_isnan #ifdef HAVE_ISNAN #define zend_isnan(a) isnan(a) #elif defined(HAVE_FPCLASS) #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) #else #define zend_isnan(a) 0 #endif #endif #ifdef HAVE_ISINF #define zend_isinf(a) isinf(a) #elif defined(INFINITY) /* Might not work, but is required by ISO C99 */ #define zend_isinf(a) (((a)==INFINITY)?1:0) #elif defined(HAVE_FPCLASS) #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF)) #else #define zend_isinf(a) 0 #endif #ifdef HAVE_FINITE #define zend_finite(a) finite(a) #elif defined(HAVE_ISFINITE) || defined(isfinite) #define zend_finite(a) isfinite(a) #elif defined(fpclassify) #define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0) #else #define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1) #endif #endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */ #ifdef NETWARE #ifdef USE_WINSOCK #/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T #/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H #endif #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * indent-tabs-mode: t * End: */ /* #undef PTHREADS */ 07070100081273000081a40000000000000000000000014dc0faec00000a970000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/main/fopen_wrappers.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead | +----------------------------------------------------------------------+ */ /* $Id: fopen_wrappers.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef FOPEN_WRAPPERS_H #define FOPEN_WRAPPERS_H BEGIN_EXTERN_C() #include "php_globals.h" #include "php_ini.h" PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle TSRMLS_DC); PHPAPI char *expand_filepath(const char *filepath, char *real_path TSRMLS_DC); PHPAPI char *expand_filepath_ex(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len TSRMLS_DC); PHPAPI int php_check_open_basedir(const char *path TSRMLS_DC); PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC); PHPAPI int php_check_specific_open_basedir(const char *basedir, const char *path TSRMLS_DC); /* {{{ OPENBASEDIR_CHECKPATH(filename) to ease merge between 6.x and 5.x */ #if (PHP_MAJOR_VERSION < 6) # define OPENBASEDIR_CHECKPATH(filename) \ (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(filename TSRMLS_CC) #else #define OPENBASEDIR_CHECKPATH(filename) \ php_check_open_basedir(filename TSRMLS_CC) #endif /* }}} */ PHPAPI int php_check_safe_mode_include_dir(const char *path TSRMLS_DC); PHPAPI char *php_resolve_path(const char *filename, int filename_len, const char *path TSRMLS_DC); PHPAPI FILE *php_fopen_with_path(const char *filename, const char *mode, const char *path, char **opened_path TSRMLS_DC); PHPAPI char *php_strip_url_passwd(char *path); PHPAPI ZEND_INI_MH(OnUpdateBaseDir); END_EXTERN_C() #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 0707010008127d000081a40000000000000000000000014dc0faec000006330000010000010007ffffffffffffffff0000002c00000000root/usr/local/include/php/main/php_logos.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_logos.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef _PHP_LOGOS_H #define _PHP_LOGOS_H BEGIN_EXTERN_C() PHPAPI int php_register_info_logo(char *logo_string, const char *mimetype, const unsigned char *data, int size); PHPAPI int php_unregister_info_logo(char *logo_string); END_EXTERN_C() int php_init_info_logos(void); int php_shutdown_info_logos(void); int php_info_logos(const char *logo_string TSRMLS_DC); #endif /* _PHP_LOGOS_H */ 0707010008128d000081a40000000000000000000000014dc0faed000008470000010000010007ffffffffffffffff0000002b00000000root/usr/local/include/php/main/spprintf.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spprintf.h 306939 2011-01-01 02:19:59Z felipe $ */ /* The pbuf parameter of all spprintf version receives a pointer to the allocated buffer. This buffer must be freed manually after usage using efree() function. The buffer will allways be terminated by a zero character. When pbuf is NULL the function can be used to calculate the required size of the buffer but for that purpose snprintf is faster. When both pbuf and the return value are 0 than you are out of memory. There is also snprintf: See difference explained in snprintf.h */ #ifndef SPPRINTF_H #define SPPRINTF_H #include "snprintf.h" BEGIN_EXTERN_C() PHPAPI int spprintf( char **pbuf, size_t max_len, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4); PHPAPI int vspprintf(char **pbuf, size_t max_len, const char *format, va_list ap) PHP_ATTRIBUTE_FORMAT(printf, 3, 0); END_EXTERN_C() #endif /* SNPRINTF_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081274000081a40000000000000000000000014dc0faec0000dae70000010000010007ffffffffffffffff0000002800000000root/usr/local/include/php/main/logos.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: logos.h 306939 2011-01-01 02:19:59Z felipe $ */ #define CONTEXT_TYPE_IMAGE_GIF "Content-Type: image/gif" static const unsigned char zend_logo[] = { 71, 73, 70, 56, 57, 97, 113, 0, 72, 0, 213, 0, 0, 13, 13, 14, 1, 3, 6, 2, 5, 9, 46, 68, 94, 21, 29, 39, 5, 15, 26, 4, 10, 17, 29, 43, 58, 0, 1, 2, 9, 25, 42, 38, 105, 171, 24, 67, 109, 13, 36, 59, 10, 27, 45, 9, 25, 41, 35, 96, 157, 32, 87, 142, 29, 79, 130, 26, 70, 114, 20, 54, 87, 29, 77, 124, 10, 26, 42, 34, 88, 141, 10, 24, 38, 11, 26, 41, 1, 2, 3, 55, 80, 105, 45, 63, 81, 49, 53, 57, 5, 15, 24, 9, 26, 42, 30, 85, 138, 33, 92, 149, 26, 73, 117, 10, 28, 45, 32, 89, 142, 30, 84, 134, 26, 72, 115, 15, 42, 67, 23, 62, 99, 12, 32, 51, 7, 21, 33, 9, 26, 41, 8, 23, 35, 7, 25, 37, 51, 58, 63, 2, 4, 5, 25, 26, 26, 49, 50, 50, 255, 102, 0, 255, 255, 255, 204, 204, 204, 199, 199, 199, 191, 191, 191, 171, 171, 171, 146, 146, 146, 115, 115, 115, 85, 85, 85, 60, 60, 60, 55, 55, 55, 38, 38, 38, 7, 7, 7, 3, 3, 3, 0, 0, 0, 44, 0, 0, 0, 0, 113, 0, 72, 0, 0, 6, 255, 192, 153, 112, 72, 44, 26, 143, 200, 164, 114, 121, 252, 49, 159, 208, 168, 148, 248, 171, 58, 167, 210, 171, 208, 170, 197, 122, 191, 70, 109, 23, 140, 236, 138, 201, 232, 239, 121, 102, 221, 186, 217, 219, 171, 83, 46, 110, 15, 207, 235, 180, 190, 124, 135, 187, 229, 127, 127, 128, 112, 121, 108, 118, 132, 123, 137, 77, 118, 120, 136, 115, 109, 117, 85, 126, 147, 147, 128, 99, 138, 137, 99, 107, 146, 146, 148, 133, 159, 125, 136, 152, 163, 151, 135, 121, 144, 84, 157, 92, 169, 157, 111, 163, 175, 176, 83, 151, 177, 180, 181, 161, 182, 184, 185, 186, 187, 188, 189, 67, 54, 56, 58, 56, 53, 190, 197, 88, 55, 57, 60, 63, 2, 43, 2, 56, 198, 208, 74, 192, 58, 0, 63, 5, 12, 11, 35, 35, 12, 47, 209, 222, 67, 53, 201, 203, 34, 19, 20, 218, 231, 37, 63, 54, 223, 222, 60, 2, 216, 231, 241, 231, 206, 76, 193, 55, 236, 176, 63, 39, 242, 252, 35, 40, 58, 75, 114, 8, 40, 240, 227, 25, 62, 76, 60, 24, 244, 147, 55, 161, 202, 11, 24, 57, 134, 17, 201, 241, 99, 130, 191, 130, 7, 21, 225, 48, 176, 48, 30, 137, 5, 11, 38, 48, 88, 81, 5, 198, 51, 138, 22, 181, 53, 52, 152, 49, 141, 141, 31, 230, 58, 46, 60, 129, 194, 74, 202, 115, 43, 91, 234, 1, 112, 83, 102, 63, 255, 18, 38, 122, 226, 252, 145, 67, 39, 153, 26, 47, 68, 248, 92, 186, 176, 97, 81, 163, 88, 108, 188, 48, 80, 130, 169, 85, 134, 68, 161, 74, 177, 1, 160, 0, 137, 171, 96, 135, 62, 213, 186, 132, 171, 215, 176, 104, 71, 52, 188, 71, 54, 9, 210, 179, 105, 195, 166, 99, 219, 214, 198, 58, 34, 48, 12, 124, 213, 38, 163, 175, 223, 191, 50, 22, 132, 216, 139, 182, 132, 0, 30, 196, 250, 218, 37, 70, 198, 198, 141, 199, 144, 31, 223, 253, 114, 163, 10, 0, 97, 192, 126, 100, 59, 7, 24, 176, 10, 20, 229, 210, 146, 48, 128, 88, 72, 223, 28, 57, 38, 111, 197, 17, 163, 181, 235, 215, 58, 116, 68, 100, 60, 5, 134, 136, 18, 19, 80, 24, 168, 162, 48, 94, 95, 21, 6, 82, 168, 80, 209, 215, 128, 1, 20, 39, 8, 95, 37, 81, 160, 180, 105, 25, 177, 233, 62, 1, 246, 186, 186, 245, 24, 209, 177, 84, 140, 71, 97, 130, 114, 109, 33, 76, 48, 152, 176, 192, 111, 135, 20, 222, 211, 54, 167, 61, 163, 111, 246, 39, 55, 174, 203, 175, 254, 30, 74, 229, 152, 62, 73, 132, 24, 60, 162, 47, 131, 14, 12, 132, 224, 155, 95, 130, 145, 208, 89, 129, 40, 116, 211, 25, 12, 58, 72, 135, 68, 124, 214, 197, 38, 161, 14, 243, 73, 200, 222, 18, 27, 161, 213, 215, 4, 159, 37, 199, 255, 25, 96, 12, 116, 230, 223, 9, 11, 252, 32, 226, 11, 13, 74, 35, 223, 132, 19, 174, 24, 27, 75, 76, 192, 128, 66, 88, 126, 161, 160, 66, 122, 124, 201, 112, 2, 3, 195, 125, 54, 65, 95, 29, 4, 87, 227, 9, 126, 233, 192, 3, 12, 125, 161, 232, 160, 93, 207, 184, 200, 98, 139, 17, 74, 24, 197, 118, 96, 249, 7, 160, 128, 31, 242, 72, 30, 72, 33, 244, 149, 2, 122, 229, 201, 0, 224, 105, 60, 52, 216, 23, 131, 14, 226, 96, 194, 1, 78, 74, 152, 195, 13, 196, 208, 192, 90, 148, 177, 217, 7, 83, 149, 50, 112, 136, 220, 94, 34, 22, 216, 159, 12, 195, 101, 227, 37, 113, 50, 192, 0, 3, 156, 238, 165, 72, 196, 11, 21, 178, 184, 228, 117, 19, 66, 145, 225, 85, 53, 222, 72, 152, 136, 42, 152, 32, 224, 111, 42, 8, 10, 40, 161, 101, 222, 96, 67, 95, 61, 40, 58, 3, 13, 55, 24, 112, 221, 101, 19, 226, 64, 131, 17, 54, 64, 42, 229, 19, 50, 226, 249, 95, 128, 127, 238, 23, 166, 113, 194, 105, 250, 103, 160, 191, 18, 90, 232, 13, 59, 0, 249, 130, 168, 56, 160, 198, 195, 10, 214, 161, 144, 1, 131, 245, 21, 1, 33, 125, 177, 141, 181, 4, 149, 76, 137, 232, 23, 3, 38, 132, 9, 216, 9, 93, 126, 234, 105, 160, 34, 94, 208, 129, 14, 7, 152, 112, 255, 2, 4, 40, 84, 80, 157, 8, 30, 176, 154, 195, 133, 68, 200, 250, 34, 124, 119, 102, 171, 109, 113, 157, 142, 16, 238, 111, 160, 113, 58, 110, 167, 38, 252, 213, 192, 193, 12, 72, 32, 193, 3, 15, 128, 192, 128, 7, 175, 121, 32, 66, 7, 101, 230, 240, 42, 18, 53, 216, 171, 131, 106, 73, 224, 32, 0, 88, 221, 217, 216, 227, 200, 190, 234, 39, 210, 112, 12, 36, 23, 158, 175, 254, 154, 160, 105, 9, 5, 236, 88, 129, 7, 41, 83, 240, 65, 195, 32, 56, 236, 128, 107, 14, 36, 208, 64, 10, 24, 41, 161, 177, 181, 74, 84, 182, 194, 4, 85, 45, 181, 239, 134, 11, 236, 165, 31, 151, 95, 233, 199, 223, 8, 82, 27, 40, 3, 9, 39, 144, 56, 24, 4, 92, 119, 61, 129, 3, 96, 135, 221, 128, 8, 12, 0, 64, 239, 47, 26, 59, 88, 52, 53, 227, 132, 182, 208, 210, 128, 178, 76, 163, 12, 46, 135, 208, 245, 221, 92, 3, 21, 54, 216, 9, 152, 208, 48, 64, 72, 12, 237, 197, 52, 0, 152, 208, 209, 111, 193, 141, 204, 239, 102, 104, 45, 96, 128, 9, 20, 224, 45, 249, 215, 97, 51, 240, 1, 8, 10, 152, 80, 20, 14, 56, 208, 213, 38, 199, 181, 245, 214, 207, 111, 96, 130, 4, 146, 72, 114, 135, 69, 194, 10, 38, 64, 0, 130, 228, 120, 71, 240, 181, 8, 145, 67, 240, 255, 128, 2, 44, 164, 0, 26, 2, 66, 180, 9, 163, 23, 56, 20, 112, 184, 184, 242, 232, 119, 224, 212, 127, 18, 56, 152, 95, 14, 252, 8, 88, 129, 120, 255, 37, 216, 205, 17, 68, 160, 192, 3, 24, 212, 64, 131, 198, 58, 92, 12, 70, 101, 223, 125, 8, 172, 60, 218, 166, 252, 149, 136, 41, 251, 21, 64, 249, 201, 117, 221, 89, 202, 151, 131, 112, 251, 9, 211, 194, 54, 161, 218, 88, 212, 128, 237, 128, 207, 35, 15, 164, 144, 125, 65, 78, 141, 206, 3, 164, 0, 245, 69, 0, 34, 248, 95, 10, 134, 68, 2, 8, 244, 101, 71, 97, 3, 77, 237, 70, 240, 0, 18, 248, 110, 15, 58, 80, 10, 63, 48, 37, 55, 47, 129, 169, 128, 86, 10, 152, 12, 132, 19, 166, 2, 36, 112, 132, 31, 20, 83, 128, 28, 40, 3, 6, 52, 207, 116, 91, 227, 218, 3, 218, 68, 52, 50, 224, 32, 95, 228, 147, 1, 175, 134, 211, 65, 226, 13, 138, 116, 222, 249, 77, 1, 10, 38, 3, 7, 52, 160, 47, 96, 91, 0, 11, 83, 224, 128, 62, 197, 176, 107, 32, 224, 222, 217, 192, 240, 130, 25, 109, 16, 133, 91, 242, 159, 15, 63, 37, 176, 63, 25, 64, 0, 68, 108, 128, 7, 144, 232, 0, 37, 146, 81, 68, 14, 208, 20, 20, 163, 72, 167, 216, 128, 14, 85, 201, 66, 205, 155, 110, 224, 61, 37, 220, 255, 16, 63, 226, 235, 215, 135, 194, 5, 44, 78, 249, 5, 61, 86, 251, 65, 5, 36, 208, 23, 15, 52, 177, 136, 101, 100, 97, 18, 195, 197, 171, 52, 218, 205, 117, 51, 108, 163, 169, 132, 16, 171, 54, 118, 174, 142, 69, 48, 75, 248, 224, 22, 162, 45, 146, 171, 51, 8, 160, 221, 25, 17, 105, 70, 82, 90, 237, 91, 131, 137, 164, 37, 137, 80, 73, 238, 221, 11, 86, 93, 9, 95, 242, 180, 101, 128, 46, 10, 236, 148, 126, 177, 6, 5, 70, 153, 68, 69, 38, 18, 2, 255, 42, 34, 104, 34, 160, 74, 106, 9, 99, 8, 245, 51, 230, 147, 126, 55, 131, 26, 196, 178, 35, 225, 25, 153, 52, 131, 82, 55, 240, 84, 19, 107, 60, 234, 11, 0, 12, 16, 1, 16, 148, 160, 110, 43, 123, 100, 56, 243, 22, 2, 145, 128, 45, 101, 16, 152, 15, 118, 44, 54, 131, 100, 218, 239, 73, 111, 58, 66, 13, 120, 0, 151, 133, 60, 205, 116, 248, 20, 12, 5, 246, 227, 52, 126, 106, 195, 120, 50, 56, 146, 1, 46, 247, 1, 126, 86, 141, 156, 79, 132, 192, 61, 67, 240, 1, 117, 182, 6, 85, 141, 90, 38, 232, 134, 176, 17, 89, 198, 165, 35, 134, 17, 70, 14, 92, 32, 63, 134, 141, 224, 117, 176, 11, 105, 215, 44, 232, 208, 136, 178, 72, 34, 118, 212, 203, 69, 173, 226, 148, 26, 216, 133, 7, 255, 39, 80, 192, 4, 102, 42, 191, 17, 136, 52, 164, 37, 109, 211, 253, 48, 137, 49, 122, 90, 116, 165, 255, 100, 64, 86, 40, 74, 128, 22, 0, 224, 6, 48, 152, 128, 2, 64, 122, 211, 187, 229, 84, 153, 142, 226, 169, 18, 230, 41, 128, 164, 1, 149, 31, 37, 98, 166, 93, 134, 192, 129, 133, 49, 181, 169, 36, 125, 234, 147, 36, 68, 71, 47, 80, 213, 170, 252, 32, 79, 92, 232, 177, 4, 14, 80, 32, 103, 77, 229, 218, 83, 177, 51, 214, 6, 73, 53, 10, 103, 237, 71, 67, 126, 96, 0, 164, 133, 69, 4, 128, 147, 134, 15, 72, 240, 85, 174, 229, 236, 176, 175, 203, 105, 93, 223, 116, 215, 41, 228, 53, 30, 43, 177, 65, 14, 94, 80, 133, 21, 160, 64, 93, 75, 153, 0, 0, 158, 224, 130, 19, 60, 224, 110, 57, 99, 216, 237, 74, 0, 130, 8, 120, 192, 3, 99, 243, 192, 97, 234, 58, 161, 120, 42, 226, 177, 106, 9, 26, 37, 57, 167, 131, 23, 8, 207, 39, 20, 248, 1, 254, 136, 80, 3, 20, 44, 21, 180, 32, 32, 79, 4, 80, 16, 128, 11, 64, 64, 4, 34, 80, 65, 7, 94, 80, 38, 214, 202, 102, 183, 105, 168, 1, 12, 170, 26, 219, 26, 34, 19, 135, 29, 41, 128, 117, 137, 128, 3, 9, 252, 214, 176, 15, 24, 64, 15, 56, 247, 12, 24, 168, 75, 4, 6, 0, 135, 192, 14, 156, 139, 82, 90, 8, 164, 38, 219, 29, 2, 79, 150, 194, 0, 24, 44, 97, 7, 22, 184, 29, 195, 58, 106, 223, 58, 230, 160, 156, 68, 89, 108, 89, 115, 145, 3, 147, 48, 33, 131, 50, 89, 0, 3, 4, 16, 95, 33, 220, 224, 5, 26, 64, 193, 91, 111, 167, 57, 35, 132, 35, 53, 148, 116, 12, 100, 166, 248, 13, 143, 241, 163, 59, 34, 16, 192, 15, 120, 208, 222, 36, 208, 192, 49, 63, 216, 192, 9, 36, 192, 128, 137, 114, 152, 44, 47, 217, 140, 130, 9, 114, 25, 28, 76, 148, 9, 162, 2, 128, 141, 219, 50, 5, 122, 134, 120, 196, 174, 141, 46, 143, 167, 96, 131, 23, 221, 120, 200, 72, 214, 74, 16, 0, 0, 59 }; static const unsigned char php_logo[] = { 71, 73, 70, 56, 57, 97, 120, 0, 67, 0, 230, 106, 0, 127, 130, 184, 57, 55, 71, 40, 37, 42, 204, 205, 226, 161, 164, 203, 211, 213, 231, 178, 180, 212, 67, 66, 88, 131, 134, 185, 130, 131, 179, 82, 82, 114, 144, 146, 194, 194, 196, 222, 170, 172, 208, 76, 75, 99, 91, 92, 131, 221, 222, 236, 59, 56, 60, 110, 113, 165, 106, 109, 157, 97, 99, 141, 117, 121, 177, 123, 126, 181, 229, 230, 240, 153, 156, 198, 140, 141, 193, 185, 186, 217, 107, 107, 146, 78, 78, 107, 113, 116, 169, 122, 122, 163, 136, 139, 189, 114, 116, 163, 116, 115, 152, 142, 144, 193, 90, 91, 126, 226, 227, 239, 123, 125, 173, 164, 165, 208, 109, 112, 162, 114, 118, 172, 149, 150, 200, 187, 189, 217, 116, 120, 174, 133, 136, 187, 146, 149, 195, 216, 217, 234, 146, 146, 196, 100, 102, 146, 107, 110, 159, 165, 168, 206, 148, 150, 197, 46, 43, 47, 83, 81, 104, 179, 180, 215, 108, 106, 140, 92, 91, 118, 138, 141, 191, 102, 104, 150, 104, 106, 154, 156, 159, 200, 49, 46, 57, 174, 176, 211, 156, 156, 205, 85, 86, 120, 158, 161, 202, 150, 153, 197, 129, 130, 175, 103, 105, 151, 63, 61, 80, 188, 190, 218, 94, 96, 137, 152, 153, 200, 140, 142, 191, 137, 138, 186, 87, 88, 124, 182, 183, 215, 213, 215, 232, 34, 30, 32, 108, 111, 158, 206, 208, 228, 191, 192, 220, 119, 123, 180, 118, 120, 167, 95, 94, 125, 153, 153, 204, 110, 111, 152, 115, 119, 174, 34, 30, 31, 255, 255, 255, 144, 142, 143, 89, 86, 87, 199, 198, 199, 238, 238, 245, 213, 212, 213, 246, 246, 250, 130, 128, 129, 172, 170, 171, 116, 114, 115, 241, 240, 241, 158, 156, 157, 227, 226, 227, 75, 72, 73, 185, 184, 185, 103, 100, 101, 137, 137, 182, 0, 255, 0, 71, 70, 95, 223, 224, 237, 155, 156, 204, 105, 107, 156, 111, 115, 167, 140, 140, 186, 184, 185, 217, 184, 186, 215, 154, 155, 204, 167, 170, 207, 219, 220, 235, 154, 156, 201, 102, 100, 132, 104, 103, 137, 167, 168, 210, 110, 112, 160, 139, 139, 185, 198, 199, 224, 199, 201, 225, 105, 108, 156, 151, 152, 203, 33, 249, 4, 1, 0, 0, 106, 0, 44, 0, 0, 0, 0, 120, 0, 67, 0, 0, 7, 255, 128, 106, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 150, 109, 63, 109, 115, 152, 158, 159, 160, 63, 121, 121, 54, 62, 26, 113, 76, 26, 26, 76, 6, 62, 62, 13, 50, 4, 65, 60, 24, 66, 45, 11, 73, 34, 57, 31, 25, 57, 34, 47, 41, 160, 194, 161, 13, 26, 12, 125, 77, 5, 80, 80, 3, 125, 124, 12, 81, 81, 42, 114, 172, 175, 116, 177, 179, 66, 51, 45, 186, 31, 8, 0, 22, 22, 21, 87, 40, 37, 22, 9, 25, 193, 195, 235, 140, 38, 113, 124, 46, 108, 108, 16, 16, 117, 46, 201, 3, 212, 50, 179, 34, 31, 254, 44, 0, 17, 8, 4, 64, 176, 224, 55, 130, 225, 164, 172, 64, 241, 70, 194, 9, 63, 59, 158, 76, 25, 146, 132, 157, 69, 53, 65, 108, 12, 96, 67, 226, 130, 71, 18, 36, 242, 53, 16, 178, 64, 138, 201, 147, 40, 83, 170, 92, 121, 114, 92, 7, 9, 19, 118, 232, 128, 65, 225, 8, 5, 43, 67, 68, 92, 196, 20, 132, 9, 20, 142, 30, 47, 184, 48, 66, 167, 5, 203, 163, 72, 147, 162, 188, 242, 38, 6, 140, 35, 71, 30, 140, 88, 114, 196, 131, 206, 157, 144, 126, 104, 116, 1, 129, 35, 4, 35, 4, 88, 40, 29, 75, 54, 233, 149, 19, 58, 30, 44, 1, 162, 64, 193, 136, 41, 51, 255, 176, 46, 50, 161, 161, 64, 19, 23, 117, 10, 24, 72, 82, 182, 175, 95, 164, 29, 96, 44, 81, 192, 129, 131, 3, 60, 9, 228, 26, 202, 19, 101, 0, 148, 2, 3, 124, 228, 248, 187, 114, 1, 134, 203, 152, 49, 124, 160, 156, 244, 13, 5, 5, 14, 214, 172, 81, 224, 65, 177, 154, 60, 70, 248, 244, 25, 192, 100, 6, 231, 149, 31, 178, 112, 153, 77, 155, 75, 151, 215, 74, 221, 44, 89, 115, 224, 128, 131, 16, 59, 221, 69, 97, 192, 160, 1, 2, 220, 43, 49, 112, 193, 194, 188, 185, 153, 219, 200, 147, 118, 216, 93, 164, 200, 154, 210, 195, 126, 248, 144, 99, 68, 5, 15, 11, 209, 87, 170, 32, 211, 188, 185, 152, 2, 225, 149, 94, 121, 112, 32, 64, 0, 14, 112, 64, 153, 48, 192, 68, 14, 1, 0, 233, 87, 22, 16, 83, 158, 57, 25, 21, 249, 41, 245, 134, 2, 238, 245, 112, 7, 38, 115, 208, 225, 131, 1, 50, 28, 23, 160, 74, 93, 152, 209, 31, 22, 92, 16, 240, 160, 82, 49, 172, 209, 67, 15, 7, 236, 81, 201, 15, 50, 52, 208, 64, 73, 23, 166, 4, 64, 22, 19, 98, 145, 197, 102, 37, 38, 245, 64, 0, 27, 2, 39, 73, 27, 4, 236, 227, 96, 139, 39, 41, 55, 161, 25, 95, 224, 168, 148, 31, 69, 208, 64, 3, 21, 145, 216, 17, 4, 1, 51, 128, 135, 212, 255, 7, 153, 53, 217, 36, 139, 71, 169, 16, 198, 132, 98, 92, 208, 36, 137, 44, 49, 233, 228, 150, 248, 141, 133, 130, 3, 52, 8, 80, 195, 35, 72, 96, 16, 4, 148, 71, 125, 240, 69, 22, 108, 182, 233, 230, 155, 89, 116, 81, 64, 3, 93, 162, 84, 0, 24, 19, 146, 1, 103, 155, 23, 12, 96, 225, 73, 11, 236, 41, 40, 155, 93, 12, 208, 128, 82, 64, 8, 32, 128, 3, 141, 204, 32, 4, 6, 98, 41, 69, 192, 114, 41, 86, 106, 6, 24, 92, 124, 1, 32, 74, 93, 108, 81, 105, 138, 52, 108, 161, 69, 25, 93, 144, 104, 192, 148, 159, 78, 184, 5, 24, 94, 116, 113, 40, 82, 35, 8, 224, 4, 163, 138, 108, 35, 196, 141, 73, 141, 151, 234, 167, 91, 120, 1, 65, 151, 39, 238, 250, 41, 24, 99, 96, 32, 197, 0, 120, 10, 171, 106, 25, 3, 36, 53, 130, 19, 78, 224, 144, 72, 10, 34, 180, 128, 102, 82, 16, 240, 167, 108, 138, 97, 64, 96, 18, 6, 94, 108, 155, 34, 26, 183, 93, 224, 169, 184, 229, 209, 224, 69, 179, 72, 173, 1, 45, 118, 133, 252, 225, 203, 100, 101, 125, 33, 33, 186, 253, 121, 1, 160, 148, 248, 230, 219, 0, 138, 253, 54, 71, 67, 25, 127, 30, 21, 128, 19, 2, 44, 96, 72, 63, 244, 146, 21, 91, 192, 229, 109, 209, 227, 157, 16, 51, 167, 197, 255, 5, 225, 86, 140, 133, 24, 208, 29, 213, 129, 172, 99, 18, 146, 2, 2, 31, 212, 57, 214, 164, 59, 194, 57, 198, 25, 218, 78, 232, 5, 1, 157, 78, 200, 197, 155, 99, 112, 129, 70, 138, 90, 100, 129, 106, 196, 112, 150, 113, 198, 185, 19, 150, 129, 37, 75, 10, 64, 155, 6, 33, 222, 224, 58, 150, 174, 253, 137, 225, 45, 74, 11, 52, 208, 5, 121, 19, 106, 193, 0, 192, 253, 173, 136, 18, 6, 13, 124, 17, 65, 213, 89, 104, 81, 53, 187, 128, 26, 240, 69, 178, 253, 133, 97, 128, 82, 52, 204, 58, 200, 31, 0, 32, 160, 100, 89, 217, 230, 185, 169, 137, 89, 124, 221, 116, 22, 25, 151, 199, 227, 74, 16, 0, 221, 92, 206, 130, 51, 119, 198, 218, 42, 125, 48, 6, 206, 119, 31, 181, 4, 180, 10, 171, 33, 130, 5, 38, 147, 101, 175, 204, 5, 167, 20, 184, 170, 58, 83, 249, 116, 74, 49, 247, 119, 70, 22, 52, 4, 109, 236, 74, 161, 151, 167, 69, 227, 44, 117, 0, 237, 13, 130, 176, 144, 80, 95, 15, 79, 56, 198, 181, 39, 109, 222, 31, 26, 89, 160, 221, 220, 127, 42, 5, 27, 116, 25, 19, 210, 144, 197, 81, 169, 15, 206, 58, 75, 69, 184, 173, 70, 56, 115, 147, 133, 114, 127, 17, 244, 200, 210, 229, 253, 17, 142, 185, 74, 224, 22, 159, 197, 25, 170, 94, 112, 20, 255, 214, 229, 1, 175, 20, 7, 78, 244, 32, 72, 5, 148, 49, 93, 30, 26, 159, 167, 84, 123, 218, 228, 55, 119, 187, 74, 252, 246, 183, 69, 216, 99, 179, 132, 1, 241, 219, 83, 10, 5, 160, 37, 136, 21, 80, 166, 110, 217, 91, 158, 73, 12, 0, 190, 160, 245, 173, 57, 213, 211, 143, 239, 152, 3, 134, 44, 20, 14, 11, 135, 99, 9, 3, 168, 214, 159, 251, 9, 144, 128, 41, 184, 2, 251, 252, 130, 189, 242, 84, 136, 37, 201, 99, 78, 4, 58, 183, 187, 248, 157, 36, 133, 88, 8, 3, 233, 76, 183, 18, 0, 120, 109, 66, 228, 34, 203, 0, 157, 32, 8, 20, 24, 176, 47, 194, 235, 32, 238, 142, 69, 169, 236, 245, 174, 106, 203, 11, 98, 121, 188, 0, 192, 116, 29, 79, 63, 28, 44, 79, 24, 20, 184, 146, 29, 10, 162, 3, 40, 24, 33, 89, 116, 68, 189, 39, 162, 228, 3, 5, 240, 66, 233, 250, 67, 131, 49, 124, 225, 130, 39, 76, 73, 247, 38, 244, 189, 240, 113, 15, 2, 98, 156, 80, 245, 42, 119, 20, 43, 170, 97, 33, 90, 92, 90, 20, 153, 67, 46, 21, 248, 81, 5, 16, 232, 194, 24, 180, 48, 70, 209, 13, 160, 126, 204, 241, 32, 74, 242, 199, 51, 177, 101, 175, 11, 127, 4, 100, 23, 202, 224, 72, 153, 81, 113, 37, 232, 83, 223, 243, 58, 112, 133, 190, 236, 71, 255, 85, 90, 8, 101, 40, 197, 112, 175, 20, 137, 225, 11, 4, 120, 160, 10, 189, 104, 167, 9, 98, 161, 130, 23, 20, 149, 40, 181, 64, 202, 97, 137, 175, 44, 205, 163, 213, 7, 222, 208, 129, 190, 68, 72, 99, 104, 248, 194, 2, 78, 133, 67, 23, 154, 196, 92, 19, 146, 97, 33, 3, 118, 202, 161, 73, 231, 117, 130, 72, 129, 4, 222, 240, 67, 165, 40, 177, 95, 205, 60, 150, 43, 173, 182, 18, 68, 98, 129, 137, 26, 3, 131, 48, 251, 242, 56, 39, 68, 238, 121, 18, 232, 229, 88, 214, 216, 47, 26, 156, 97, 156, 82, 64, 102, 127, 184, 240, 170, 173, 169, 146, 57, 109, 12, 88, 4, 206, 112, 1, 103, 178, 205, 121, 130, 120, 193, 9, 36, 208, 73, 165, 48, 82, 92, 102, 32, 195, 24, 6, 80, 167, 25, 118, 208, 159, 196, 212, 31, 255, 240, 101, 6, 25, 50, 128, 142, 73, 41, 154, 19, 142, 70, 136, 33, 156, 224, 13, 99, 161, 152, 254, 102, 57, 75, 50, 112, 97, 12, 133, 66, 83, 160, 72, 26, 74, 86, 158, 68, 5, 92, 96, 233, 232, 46, 40, 6, 150, 134, 210, 164, 40, 101, 192, 16, 165, 3, 50, 67, 164, 224, 4, 39, 80, 39, 82, 96, 200, 133, 11, 208, 131, 30, 5, 248, 35, 1, 252, 105, 18, 64, 30, 245, 168, 153, 3, 212, 0, 158, 74, 143, 67, 46, 147, 57, 94, 255, 48, 234, 81, 147, 234, 71, 2, 236, 116, 44, 7, 75, 216, 33, 146, 16, 131, 19, 160, 0, 41, 215, 76, 36, 83, 125, 36, 133, 5, 52, 177, 60, 89, 192, 40, 114, 220, 229, 4, 120, 25, 34, 1, 101, 45, 104, 114, 238, 185, 66, 182, 178, 164, 1, 13, 140, 88, 199, 242, 83, 78, 105, 41, 162, 4, 121, 101, 201, 65, 249, 104, 76, 191, 74, 129, 1, 149, 108, 14, 24, 208, 19, 160, 114, 210, 106, 17, 136, 53, 171, 4, 171, 198, 0, 199, 170, 68, 119, 82, 188, 36, 101, 52, 122, 89, 70, 148, 96, 2, 49, 232, 64, 30, 165, 64, 212, 122, 122, 214, 36, 121, 115, 217, 233, 162, 211, 129, 3, 64, 171, 180, 141, 72, 0, 106, 37, 160, 197, 180, 98, 97, 12, 107, 245, 209, 2, 22, 199, 70, 185, 250, 133, 8, 61, 128, 150, 97, 35, 161, 132, 39, 76, 64, 179, 82, 248, 223, 22, 166, 75, 93, 222, 189, 214, 158, 212, 165, 46, 24, 6, 251, 26, 5, 200, 74, 0, 50, 154, 196, 11, 64, 224, 135, 24, 240, 22, 0, 5, 160, 42, 61, 16, 119, 93, 41, 160, 87, 189, 16, 112, 45, 101, 136, 112, 48, 39, 68, 128, 163, 150, 72, 128, 27, 80, 251, 134, 213, 182, 215, 175, 39, 176, 173, 114, 65, 241, 130, 41, 248, 1, 181, 170, 253, 175, 95, 81, 192, 1, 89, 57, 161, 8, 248, 5, 133, 255, 18, 244, 224, 134, 3, 247, 87, 193, 37, 58, 193, 26, 28, 220, 131, 240, 178, 131, 5, 20, 62, 176, 4, 206, 138, 225, 240, 28, 225, 0, 138, 18, 64, 15, 96, 167, 24, 22, 128, 96, 7, 110, 112, 67, 12, 168, 89, 98, 202, 248, 129, 3, 1, 8, 147, 0, 2, 192, 98, 211, 8, 34, 9, 37, 32, 194, 14, 96, 60, 1, 26, 215, 56, 41, 19, 32, 80, 15, 132, 36, 38, 187, 250, 120, 16, 41, 72, 128, 30, 116, 64, 4, 33, 187, 33, 168, 254, 197, 240, 27, 142, 128, 227, 13, 45, 185, 8, 120, 120, 193, 147, 23, 241, 2, 41, 235, 224, 204, 103, 222, 193, 71, 73, 124, 221, 29, 28, 65, 1, 237, 129, 209, 134, 14, 112, 3, 15, 141, 249, 17, 47, 64, 192, 20, 136, 0, 131, 62, 251, 153, 8, 126, 248, 168, 80, 243, 51, 1, 34, 60, 0, 52, 213, 113, 143, 162, 113, 16, 2, 59, 223, 153, 18, 34, 24, 194, 158, 41, 64, 233, 74, 83, 250, 8, 125, 174, 112, 160, 223, 192, 105, 78, 75, 224, 211, 159, 6, 42, 80, 137, 112, 105, 182, 136, 166, 55, 7, 168, 78, 17, 2, 112, 0, 28, 108, 32, 49, 143, 22, 70, 10, 62, 80, 2, 16, 88, 1, 42, 80, 121, 128, 174, 119, 61, 149, 37, 172, 5, 8, 108, 105, 11, 97, 10, 99, 152, 208, 156, 186, 55, 69, 80, 0, 21, 110, 56, 48, 4, 49, 199, 90, 49, 41, 80, 2, 2, 60, 224, 129, 13, 108, 32, 45, 190, 6, 118, 176, 219, 66, 108, 195, 112, 128, 10, 35, 24, 129, 21, 172, 80, 130, 102, 63, 251, 220, 139, 16, 65, 26, 16, 112, 21, 116, 187, 251, 221, 240, 142, 119, 188, 3, 1, 0, 59, 0 }; static const unsigned char php_egg_logo[] = { 71, 73, 70, 56, 57, 97, 120, 0, 67, 0, 231, 255, 0, 18, 25, 33, 32, 30, 34, 28, 33, 44, 15, 35, 71, 6, 37, 85, 37, 40, 47, 34, 41, 53, 41, 40, 43, 9, 47, 109, 30, 45, 68, 21, 48, 84, 51, 46, 55, 43, 49, 59, 31, 59, 98, 15, 61, 128, 58, 55, 69, 50, 57, 74, 0, 66, 144, 56, 58, 60, 54, 59, 71, 32, 66, 113, 60, 65, 67, 63, 65, 84, 63, 68, 79, 28, 79, 145, 15, 82, 162, 75, 72, 98, 68, 78, 86, 74, 77, 88, 50, 82, 122, 41, 85, 134, 76, 78, 108, 70, 83, 101, 5, 94, 190, 0, 95, 197, 86, 80, 101, 28, 92, 159, 80, 84, 96, 83, 83, 115, 81, 87, 89, 22, 97, 183, 86, 88, 85, 0, 102, 210, 8, 101, 204, 24, 100, 177, 85, 90, 127, 35, 101, 169, 42, 100, 159, 88, 92, 103, 0, 107, 216, 69, 95, 132, 0, 108, 210, 84, 93, 112, 94, 90, 117, 18, 105, 201, 96, 92, 105, 89, 96, 98, 94, 93, 135, 94, 94, 126, 30, 106, 210, 7, 112, 222, 33, 108, 198, 16, 114, 217, 27, 113, 198, 24, 113, 209, 59, 108, 159, 96, 100, 138, 0, 120, 229, 44, 112, 180, 49, 112, 171, 71, 108, 148, 99, 104, 115, 90, 106, 125, 27, 115, 232, 100, 102, 147, 42, 115, 192, 86, 110, 137, 9, 123, 239, 106, 108, 105, 105, 105, 138, 33, 118, 228, 12, 125, 227, 48, 117, 208, 16, 126, 222, 37, 120, 224, 20, 125, 235, 35, 123, 213, 50, 121, 190, 43, 123, 206, 40, 123, 220, 105, 110, 160, 59, 122, 182, 78, 119, 158, 44, 122, 233, 3, 134, 250, 112, 112, 151, 73, 123, 175, 113, 118, 114, 51, 128, 205, 34, 129, 246, 11, 136, 245, 34, 130, 240, 113, 117, 149, 111, 116, 166, 111, 119, 141, 48, 130, 221, 38, 132, 235, 53, 130, 215, 97, 124, 146, 116, 122, 124, 117, 121, 131, 54, 130, 229, 41, 135, 232, 68, 130, 223, 46, 135, 246, 65, 134, 202, 42, 137, 241, 75, 131, 205, 124, 121, 161, 101, 125, 191, 86, 128, 210, 121, 122, 169, 105, 128, 157, 121, 122, 180, 114, 124, 181, 94, 128, 201, 81, 134, 185, 46, 138, 252, 76, 135, 195, 34, 142, 252, 62, 137, 229, 63, 138, 217, 33, 144, 247, 58, 139, 223, 56, 141, 246, 54, 143, 234, 57, 143, 241, 102, 135, 193, 129, 130, 176, 122, 136, 144, 46, 148, 252, 45, 149, 246, 118, 133, 191, 65, 146, 231, 73, 146, 216, 129, 133, 185, 135, 135, 156, 69, 148, 226, 44, 153, 255, 94, 143, 216, 132, 136, 175, 88, 146, 207, 137, 139, 136, 93, 146, 197, 95, 147, 188, 137, 139, 150, 104, 146, 178, 122, 143, 172, 135, 139, 191, 57, 156, 254, 67, 154, 245, 70, 154, 239, 134, 141, 180, 117, 145, 201, 120, 146, 190, 79, 154, 233, 140, 141, 188, 129, 144, 194, 142, 142, 176, 137, 147, 156, 88, 155, 222, 82, 157, 230, 93, 157, 218, 66, 162, 253, 100, 157, 210, 77, 161, 247, 55, 168, 255, 81, 162, 241, 148, 148, 195, 145, 149, 202, 127, 156, 204, 77, 166, 255, 142, 155, 177, 141, 153, 200, 123, 160, 193, 73, 171, 255, 93, 167, 240, 96, 167, 234, 152, 158, 160, 101, 167, 228, 119, 164, 206, 155, 158, 171, 110, 167, 219, 156, 155, 203, 89, 172, 252, 128, 164, 219, 151, 163, 174, 81, 178, 255, 158, 162, 202, 102, 175, 249, 93, 178, 251, 108, 175, 237, 103, 177, 244, 166, 168, 165, 97, 182, 255, 87, 185, 255, 149, 174, 216, 125, 181, 235, 110, 185, 252, 117, 183, 254, 171, 172, 209, 166, 175, 197, 103, 190, 255, 174, 176, 189, 140, 183, 221, 128, 184, 248, 120, 187, 249, 179, 180, 184, 115, 193, 253, 170, 183, 193, 174, 181, 215, 107, 197, 255, 135, 191, 246, 151, 192, 219, 187, 183, 213, 128, 197, 253, 121, 202, 255, 147, 198, 239, 188, 191, 219, 148, 200, 252, 192, 193, 197, 134, 205, 254, 171, 199, 236, 183, 199, 218, 163, 207, 251, 142, 213, 255, 158, 211, 253, 195, 205, 217, 166, 211, 245, 205, 204, 228, 153, 218, 255, 190, 210, 236, 186, 212, 231, 177, 213, 248, 162, 224, 255, 188, 221, 250, 214, 219, 221, 214, 219, 233, 174, 229, 254, 198, 225, 247, 209, 226, 248, 186, 233, 251, 227, 230, 239, 225, 241, 252, 253, 255, 252, 255, 255, 255, 33, 249, 4, 1, 10, 0, 255, 0, 44, 0, 0, 0, 0, 120, 0, 67, 0, 0, 8, 254, 0, 255, 9, 28, 72, 176, 160, 193, 131, 8, 19, 42, 92, 200, 176, 161, 195, 135, 16, 35, 74, 156, 72, 177, 162, 197, 139, 22, 131, 105, 12, 134, 177, 163, 199, 143, 193, 164, 73, 227, 38, 141, 28, 56, 112, 228, 76, 146, 20, 41, 205, 152, 75, 99, 183, 100, 201, 50, 101, 202, 147, 77, 79, 166, 102, 205, 250, 200, 19, 100, 73, 114, 239, 238, 221, 123, 71, 148, 104, 202, 163, 224, 86, 138, 124, 25, 115, 166, 205, 72, 145, 246, 72, 221, 195, 39, 207, 30, 69, 158, 118, 246, 220, 202, 208, 24, 184, 160, 252, 248, 9, 29, 59, 212, 100, 75, 99, 53, 159, 66, 93, 203, 182, 109, 84, 169, 124, 248, 156, 57, 163, 165, 174, 150, 60, 138, 76, 113, 221, 251, 207, 24, 183, 119, 97, 3, 135, 125, 71, 78, 90, 76, 62, 142, 70, 141, 18, 53, 109, 170, 227, 199, 144, 35, 75, 157, 91, 87, 137, 229, 28, 74, 190, 228, 229, 139, 209, 43, 96, 193, 247, 10, 203, 114, 212, 167, 82, 47, 93, 197, 138, 81, 163, 166, 173, 19, 47, 201, 176, 99, 59, 166, 171, 36, 135, 237, 22, 45, 114, 216, 209, 203, 25, 98, 176, 191, 66, 195, 134, 54, 230, 233, 150, 179, 100, 197, 106, 181, 90, 158, 171, 57, 179, 110, 231, 124, 185, 145, 77, 157, 186, 150, 218, 45, 76, 104, 111, 145, 71, 86, 239, 133, 198, 200, 254, 145, 189, 199, 205, 212, 212, 115, 244, 232, 157, 107, 86, 172, 185, 234, 92, 197, 154, 137, 11, 231, 11, 77, 245, 251, 178, 207, 40, 201, 254, 225, 131, 134, 39, 138, 124, 103, 80, 73, 68, 13, 37, 141, 39, 144, 213, 115, 14, 60, 235, 116, 211, 12, 123, 197, 136, 67, 141, 106, 226, 156, 51, 78, 16, 92, 208, 194, 7, 126, 28, 70, 166, 159, 9, 26, 132, 104, 130, 29, 2, 254, 67, 32, 81, 224, 200, 18, 91, 56, 240, 208, 35, 78, 51, 238, 49, 40, 223, 58, 240, 88, 99, 132, 31, 207, 168, 131, 14, 55, 206, 56, 115, 203, 41, 167, 172, 229, 73, 36, 158, 196, 133, 216, 83, 29, 58, 166, 69, 11, 26, 88, 96, 129, 6, 95, 112, 230, 213, 81, 210, 188, 21, 27, 59, 208, 208, 179, 14, 123, 205, 81, 227, 96, 55, 235, 208, 227, 14, 23, 126, 244, 162, 204, 49, 200, 64, 3, 13, 51, 194, 232, 162, 139, 50, 105, 106, 131, 13, 54, 225, 132, 227, 205, 157, 207, 96, 243, 204, 48, 195, 244, 72, 28, 126, 103, 48, 233, 164, 6, 36, 246, 20, 210, 81, 198, 224, 87, 143, 48, 12, 78, 8, 75, 43, 242, 21, 3, 38, 60, 227, 116, 224, 2, 22, 135, 32, 162, 41, 33, 112, 208, 129, 72, 35, 135, 8, 242, 72, 40, 163, 150, 82, 202, 42, 186, 172, 178, 203, 46, 169, 170, 154, 76, 50, 254, 123, 158, 194, 97, 14, 22, 60, 240, 192, 7, 188, 117, 228, 23, 74, 198, 88, 41, 219, 56, 189, 36, 19, 203, 57, 235, 80, 147, 11, 44, 176, 20, 211, 96, 51, 240, 192, 195, 14, 5, 36, 88, 129, 8, 33, 116, 200, 81, 198, 181, 101, 208, 1, 199, 27, 220, 110, 59, 69, 22, 130, 20, 82, 200, 35, 165, 76, 34, 110, 33, 147, 64, 162, 174, 42, 192, 200, 122, 223, 25, 38, 216, 186, 192, 19, 24, 133, 52, 82, 149, 247, 161, 179, 203, 35, 136, 8, 243, 72, 57, 244, 80, 179, 220, 39, 185, 192, 163, 77, 55, 244, 236, 227, 14, 5, 17, 0, 65, 7, 25, 101, 120, 81, 197, 196, 216, 82, 97, 49, 21, 81, 68, 145, 69, 22, 105, 116, 236, 113, 26, 161, 148, 59, 136, 24, 98, 64, 210, 203, 40, 28, 106, 161, 193, 2, 11, 88, 144, 171, 68, 246, 74, 163, 226, 125, 207, 156, 105, 8, 25, 212, 54, 218, 202, 39, 4, 227, 115, 142, 54, 233, 177, 211, 65, 4, 51, 84, 113, 109, 21, 77, 52, 1, 69, 23, 19, 15, 1, 197, 16, 84, 12, 17, 197, 182, 112, 8, 146, 198, 20, 86, 147, 139, 204, 49, 169, 78, 50, 200, 32, 144, 56, 210, 97, 14, 15, 176, 28, 37, 204, 198, 180, 228, 107, 108, 158, 60, 19, 202, 43, 159, 200, 225, 133, 28, 175, 224, 3, 15, 50, 176, 80, 2, 75, 254, 51, 94, 34, 140, 143, 208, 68, 119, 129, 45, 210, 93, 48, 13, 197, 210, 60, 240, 0, 133, 15, 111, 104, 138, 8, 28, 27, 79, 1, 199, 35, 163, 234, 18, 139, 155, 233, 206, 177, 97, 202, 22, 28, 112, 128, 14, 17, 5, 227, 210, 204, 213, 69, 178, 11, 40, 160, 16, 194, 8, 33, 134, 52, 17, 142, 122, 197, 236, 156, 11, 51, 185, 52, 3, 244, 62, 128, 207, 16, 49, 182, 93, 36, 125, 120, 23, 135, 67, 193, 131, 15, 112, 148, 147, 143, 58, 216, 8, 3, 249, 198, 89, 192, 1, 199, 33, 143, 196, 18, 203, 42, 144, 104, 222, 33, 31, 26, 120, 62, 194, 67, 162, 255, 121, 159, 35, 149, 104, 58, 135, 21, 100, 64, 92, 69, 139, 198, 238, 156, 236, 222, 226, 208, 131, 207, 56, 13, 56, 80, 116, 19, 215, 54, 81, 197, 24, 73, 23, 126, 248, 16, 62, 248, 144, 133, 62, 110, 112, 194, 50, 202, 113, 8, 231, 101, 193, 7, 64, 152, 220, 184, 30, 129, 42, 93, 168, 66, 108, 29, 50, 129, 231, 52, 208, 16, 89, 220, 162, 87, 248, 137, 68, 29, 178, 160, 6, 53, 188, 225, 5, 85, 176, 86, 21, 232, 1, 15, 113, 228, 98, 57, 173, 104, 143, 151, 224, 241, 190, 248, 249, 160, 126, 114, 136, 161, 181, 202, 16, 53, 167, 13, 97, 120, 105, 184, 7, 7, 12, 224, 4, 111, 192, 65, 114, 254, 144, 3, 66, 26, 14, 145, 6, 43, 88, 1, 11, 107, 128, 196, 42, 86, 1, 65, 14, 181, 224, 0, 1, 160, 160, 66, 100, 114, 139, 181, 197, 230, 22, 117, 152, 194, 20, 162, 160, 134, 42, 144, 64, 10, 248, 163, 67, 122, 214, 17, 187, 79, 232, 45, 23, 226, 16, 7, 62, 240, 97, 13, 5, 16, 109, 12, 215, 98, 4, 207, 64, 193, 51, 77, 53, 66, 83, 84, 240, 65, 26, 218, 113, 1, 3, 180, 1, 27, 144, 19, 196, 183, 128, 128, 196, 66, 132, 98, 13, 63, 72, 228, 15, 176, 32, 134, 68, 52, 241, 62, 45, 8, 64, 0, 106, 144, 144, 89, 152, 66, 22, 8, 186, 207, 40, 214, 32, 8, 107, 216, 194, 5, 67, 144, 218, 15, 134, 208, 5, 68, 184, 15, 30, 205, 120, 148, 25, 97, 1, 157, 125, 208, 227, 25, 3, 136, 64, 12, 232, 215, 136, 121, 200, 35, 31, 249, 168, 71, 61, 242, 33, 143, 118, 108, 67, 30, 208, 128, 195, 32, 218, 49, 1, 1, 180, 1, 121, 199, 120, 197, 35, 136, 184, 134, 102, 146, 11, 137, 88, 80, 228, 37, 104, 145, 36, 13, 72, 178, 80, 5, 153, 5, 78, 50, 73, 157, 72, 92, 98, 13, 135, 208, 135, 63, 252, 129, 132, 40, 116, 193, 105, 192, 11, 5, 62, 92, 217, 140, 157, 49, 162, 21, 104, 60, 199, 62, 224, 225, 10, 2, 68, 128, 10, 114, 254, 32, 196, 49, 178, 113, 129, 11, 112, 224, 159, 37, 224, 192, 6, 46, 176, 129, 108, 148, 99, 21, 213, 40, 230, 1, 78, 128, 3, 55, 240, 34, 29, 216, 8, 197, 36, 122, 81, 10, 114, 61, 2, 93, 107, 136, 230, 28, 230, 96, 13, 43, 202, 230, 1, 1, 56, 128, 119, 10, 146, 150, 251, 240, 65, 21, 88, 200, 194, 60, 198, 233, 143, 84, 164, 193, 104, 72, 43, 195, 49, 214, 8, 143, 216, 49, 226, 157, 197, 208, 70, 251, 216, 193, 5, 2, 100, 160, 10, 129, 64, 4, 54, 54, 81, 2, 24, 148, 128, 6, 48, 160, 193, 81, 3, 202, 0, 115, 120, 99, 19, 19, 40, 128, 1, 74, 208, 79, 6, 20, 32, 12, 222, 8, 133, 45, 136, 241, 141, 103, 232, 194, 84, 143, 72, 195, 15, 196, 112, 9, 87, 248, 226, 22, 28, 58, 3, 20, 183, 71, 144, 89, 16, 201, 163, 145, 185, 68, 74, 7, 145, 130, 106, 140, 83, 15, 136, 40, 131, 181, 154, 48, 6, 111, 140, 145, 61, 173, 72, 214, 131, 210, 83, 41, 2, 160, 128, 12, 140, 104, 68, 57, 220, 80, 212, 106, 224, 50, 151, 250, 248, 69, 9, 24, 208, 6, 126, 28, 225, 2, 1, 32, 70, 53, 126, 193, 88, 1, 0, 96, 17, 165, 96, 2, 65, 113, 16, 6, 76, 96, 98, 27, 202, 16, 43, 89, 51, 193, 10, 82, 108, 174, 58, 38, 144, 254, 228, 203, 134, 4, 87, 200, 220, 1, 11, 64, 160, 66, 16, 12, 80, 128, 118, 216, 195, 5, 141, 40, 31, 182, 216, 145, 30, 23, 181, 135, 149, 212, 8, 19, 60, 188, 145, 0, 4, 100, 225, 19, 59, 155, 7, 13, 78, 80, 130, 109, 60, 67, 24, 141, 128, 67, 33, 204, 81, 130, 2, 84, 224, 30, 37, 152, 128, 4, 242, 113, 167, 121, 216, 162, 152, 39, 120, 6, 8, 4, 192, 128, 13, 112, 160, 159, 6, 192, 68, 41, 122, 240, 131, 65, 0, 2, 16, 115, 48, 171, 51, 238, 3, 69, 41, 254, 195, 173, 181, 125, 12, 31, 122, 0, 132, 25, 248, 192, 3, 211, 56, 0, 13, 54, 145, 5, 50, 236, 149, 126, 236, 104, 17, 60, 186, 113, 44, 73, 73, 120, 29, 174, 136, 37, 28, 102, 215, 10, 121, 208, 192, 13, 71, 72, 135, 50, 38, 22, 133, 66, 164, 163, 187, 12, 216, 6, 7, 24, 112, 132, 114, 192, 33, 13, 144, 248, 69, 1, 0, 112, 2, 98, 126, 54, 30, 211, 32, 6, 26, 120, 11, 12, 32, 244, 64, 12, 115, 240, 195, 18, 174, 0, 8, 87, 144, 226, 20, 164, 147, 76, 36, 3, 48, 82, 243, 4, 120, 42, 3, 182, 193, 10, 86, 48, 3, 18, 20, 32, 0, 2, 32, 129, 26, 200, 80, 133, 194, 53, 129, 12, 236, 160, 17, 60, 210, 7, 11, 113, 172, 227, 204, 225, 144, 129, 254, 97, 65, 33, 12, 129, 165, 131, 3, 55, 112, 131, 45, 142, 81, 5, 42, 188, 225, 17, 237, 88, 241, 2, 36, 107, 128, 69, 196, 66, 13, 130, 120, 6, 26, 60, 187, 136, 106, 120, 22, 23, 186, 224, 90, 60, 12, 0, 0, 78, 76, 161, 7, 88, 152, 67, 16, 92, 176, 4, 34, 92, 97, 11, 91, 200, 132, 53, 204, 35, 153, 51, 72, 146, 94, 255, 120, 242, 84, 60, 177, 4, 41, 171, 64, 5, 59, 0, 2, 5, 18, 128, 1, 56, 220, 236, 90, 189, 83, 3, 59, 206, 97, 230, 102, 64, 55, 23, 201, 61, 179, 55, 26, 128, 128, 52, 188, 162, 24, 204, 128, 196, 52, 56, 0, 131, 77, 88, 67, 24, 132, 64, 196, 33, 212, 241, 139, 11, 20, 224, 8, 104, 184, 128, 0, 170, 129, 8, 53, 100, 193, 25, 16, 0, 0, 0, 182, 49, 104, 6, 36, 67, 153, 143, 184, 68, 2, 0, 192, 133, 52, 160, 0, 11, 87, 120, 129, 11, 88, 192, 110, 18, 144, 128, 8, 153, 118, 70, 162, 34, 99, 129, 40, 10, 196, 164, 128, 232, 193, 10, 98, 16, 131, 29, 248, 27, 8, 133, 224, 32, 33, 132, 123, 173, 70, 172, 35, 141, 235, 64, 6, 116, 97, 65, 172, 51, 103, 98, 0, 25, 120, 133, 48, 218, 163, 138, 84, 252, 51, 27, 232, 160, 6, 51, 160, 193, 142, 108, 28, 97, 2, 12, 176, 7, 18, 254, 250, 136, 142, 14, 102, 161, 19, 140, 102, 64, 59, 178, 189, 1, 109, 188, 34, 20, 133, 240, 131, 103, 57, 113, 136, 31, 44, 97, 14, 91, 32, 1, 187, 89, 224, 110, 23, 144, 160, 8, 96, 240, 3, 46, 146, 44, 149, 15, 4, 96, 1, 247, 174, 206, 41, 176, 96, 131, 29, 240, 32, 6, 42, 224, 247, 14, 124, 16, 5, 58, 88, 221, 193, 85, 240, 2, 51, 194, 113, 142, 110, 72, 40, 23, 202, 233, 70, 179, 202, 209, 1, 2, 212, 129, 25, 108, 202, 133, 55, 208, 192, 129, 18, 152, 227, 30, 230, 216, 6, 49, 156, 64, 108, 8, 164, 226, 30, 48, 152, 192, 6, 158, 65, 7, 53, 88, 1, 9, 158, 61, 194, 52, 102, 76, 12, 109, 8, 35, 22, 144, 232, 196, 161, 225, 32, 134, 43, 92, 161, 8, 47, 120, 1, 17, 212, 237, 110, 12, 252, 28, 211, 156, 128, 140, 18, 36, 41, 144, 215, 194, 198, 19, 115, 0, 194, 10, 84, 192, 131, 33, 240, 187, 223, 62, 160, 66, 178, 7, 14, 49, 50, 208, 233, 96, 231, 152, 16, 123, 230, 83, 142, 12, 59, 32, 22, 26, 103, 70, 43, 230, 1, 130, 182, 95, 128, 6, 19, 184, 64, 240, 139, 234, 134, 120, 84, 99, 197, 109, 240, 134, 26, 232, 80, 7, 11, 104, 123, 27, 72, 0, 192, 6, 228, 49, 14, 61, 165, 131, 6, 0, 144, 0, 43, 4, 254, 49, 136, 43, 16, 33, 8, 30, 136, 60, 188, 225, 237, 238, 23, 20, 97, 11, 153, 127, 204, 230, 3, 240, 223, 234, 140, 2, 11, 83, 142, 58, 15, 202, 80, 133, 167, 199, 96, 8, 141, 128, 155, 33, 62, 65, 6, 67, 112, 29, 26, 21, 114, 14, 204, 144, 83, 212, 112, 14, 222, 80, 118, 98, 128, 12, 180, 35, 12, 185, 32, 15, 16, 0, 103, 71, 0, 98, 71, 0, 3, 48, 224, 6, 219, 48, 15, 143, 32, 9, 28, 48, 1, 188, 80, 14, 84, 160, 6, 137, 192, 104, 23, 144, 14, 217, 38, 1, 188, 112, 130, 188, 0, 3, 152, 149, 10, 230, 50, 8, 150, 22, 4, 50, 0, 6, 91, 64, 4, 46, 224, 2, 145, 7, 126, 65, 16, 4, 91, 128, 11, 234, 199, 121, 255, 16, 23, 178, 81, 7, 82, 32, 2, 168, 22, 3, 62, 48, 4, 100, 160, 6, 79, 23, 5, 135, 240, 10, 173, 48, 45, 251, 7, 13, 231, 160, 38, 102, 118, 14, 117, 82, 39, 126, 0, 113, 186, 128, 12, 12, 88, 11, 185, 176, 13, 19, 112, 3, 37, 192, 15, 185, 84, 15, 243, 16, 15, 234, 112, 12, 136, 80, 10, 237, 64, 12, 196, 112, 15, 215, 64, 5, 112, 128, 11, 22, 208, 103, 182, 32, 1, 0, 192, 0, 239, 5, 80, 23, 208, 6, 207, 80, 8, 96, 3, 111, 70, 128, 6, 118, 192, 4, 96, 0, 121, 254, 36, 240, 2, 96, 176, 33, 150, 192, 5, 92, 224, 43, 235, 39, 16, 103, 224, 121, 144, 49, 10, 63, 48, 3, 163, 23, 3, 195, 243, 129, 101, 160, 6, 169, 247, 10, 200, 0, 10, 204, 209, 10, 194, 16, 14, 201, 195, 34, 7, 151, 12, 225, 0, 12, 10, 224, 0, 147, 160, 13, 180, 227, 133, 208, 240, 11, 196, 230, 6, 253, 112, 12, 159, 208, 119, 86, 103, 8, 214, 246, 10, 209, 80, 14, 209, 0, 10, 67, 0, 7, 227, 16, 15, 247, 192, 15, 72, 192, 91, 246, 176, 13, 169, 176, 8, 110, 144, 10, 214, 5, 61, 35, 227, 2, 91, 32, 3, 86, 33, 21, 92, 0, 6, 47, 224, 1, 50, 32, 10, 176, 17, 137, 63, 72, 137, 142, 113, 10, 98, 208, 116, 81, 199, 111, 60, 64, 5, 143, 83, 6, 67, 160, 6, 177, 16, 14, 208, 160, 13, 106, 194, 12, 200, 160, 12, 218, 112, 12, 82, 152, 12, 187, 160, 10, 151, 64, 1, 8, 240, 3, 10, 184, 51, 148, 208, 10, 139, 85, 2, 37, 176, 9, 253, 32, 12, 134, 80, 6, 251, 83, 62, 84, 144, 45, 141, 64, 8, 84, 192, 3, 158, 8, 4, 86, 64, 10, 28, 32, 0, 56, 224, 13, 194, 176, 11, 222, 80, 14, 202, 16, 10, 135, 32, 46, 141, 7, 111, 45, 224, 24, 145, 144, 9, 91, 0, 6, 70, 0, 6, 112, 101, 116, 72, 247, 254, 15, 123, 112, 6, 176, 65, 11, 63, 176, 111, 59, 208, 111, 154, 216, 142, 135, 0, 10, 136, 16, 10, 194, 160, 13, 201, 160, 13, 117, 34, 14, 208, 128, 12, 186, 208, 11, 187, 112, 9, 128, 224, 1, 20, 64, 0, 8, 96, 3, 203, 1, 11, 159, 112, 83, 175, 80, 15, 52, 208, 118, 196, 144, 15, 185, 32, 66, 67, 80, 5, 100, 64, 7, 81, 83, 56, 85, 48, 3, 20, 233, 3, 54, 208, 3, 157, 192, 0, 0, 64, 12, 208, 0, 10, 63, 4, 7, 202, 54, 146, 133, 48, 7, 151, 64, 4, 96, 112, 146, 144, 225, 7, 96, 192, 5, 226, 40, 21, 245, 38, 69, 158, 48, 23, 145, 97, 10, 115, 96, 3, 34, 48, 122, 231, 88, 122, 112, 160, 6, 165, 16, 11, 161, 112, 12, 202, 112, 9, 151, 16, 14, 226, 32, 143, 244, 40, 6, 24, 224, 0, 8, 128, 0, 17, 128, 2, 135, 128, 66, 173, 64, 9, 140, 64, 9, 185, 208, 15, 196, 144, 10, 191, 192, 15, 236, 0, 10, 114, 96, 56, 93, 32, 7, 73, 120, 67, 80, 64, 5, 59, 128, 132, 84, 0, 4, 107, 48, 104, 5, 240, 13, 194, 0, 10, 111, 0, 4, 64, 32, 57, 105, 128, 46, 171, 48, 7, 223, 39, 4, 145, 1, 132, 157, 246, 105, 2, 49, 11, 115, 33, 142, 167, 240, 3, 54, 224, 3, 153, 152, 56, 80, 243, 6, 112, 254, 0, 138, 177, 32, 12, 208, 160, 10, 106, 130, 13, 0, 24, 14, 197, 128, 148, 107, 208, 3, 86, 32, 138, 202, 193, 51, 85, 121, 83, 173, 112, 14, 229, 192, 14, 234, 80, 14, 173, 160, 87, 101, 0, 60, 33, 148, 132, 112, 32, 60, 60, 48, 3, 184, 233, 3, 170, 224, 75, 237, 128, 13, 79, 72, 5, 84, 246, 45, 83, 0, 136, 221, 71, 4, 50, 64, 147, 29, 178, 100, 35, 37, 147, 132, 249, 24, 137, 128, 152, 43, 224, 111, 57, 121, 132, 92, 4, 7, 161, 160, 12, 111, 162, 11, 115, 32, 153, 199, 176, 117, 63, 83, 158, 244, 8, 10, 148, 48, 144, 237, 25, 8, 44, 26, 8, 114, 16, 8, 169, 193, 8, 11, 41, 56, 133, 195, 3, 244, 99, 117, 84, 80, 5, 80, 192, 111, 244, 195, 63, 64, 16, 10, 186, 32, 12, 5, 234, 3, 49, 48, 3, 195, 153, 6, 88, 48, 50, 240, 246, 1, 73, 178, 7, 253, 213, 86, 90, 224, 160, 142, 33, 6, 33, 48, 101, 254, 118, 67, 169, 39, 8, 175, 208, 132, 210, 179, 11, 189, 176, 5, 202, 160, 12, 107, 194, 117, 83, 216, 10, 180, 83, 149, 44, 234, 5, 99, 224, 5, 127, 224, 5, 110, 58, 6, 178, 89, 6, 74, 51, 49, 80, 192, 144, 246, 83, 6, 159, 210, 119, 166, 55, 75, 12, 57, 3, 213, 201, 132, 160, 160, 6, 81, 48, 4, 254, 51, 48, 3, 89, 96, 68, 73, 234, 125, 65, 96, 2, 73, 18, 91, 1, 240, 50, 255, 160, 8, 81, 234, 24, 142, 176, 4, 33, 32, 2, 137, 57, 3, 84, 0, 5, 29, 84, 53, 64, 154, 42, 170, 144, 9, 92, 112, 9, 165, 16, 143, 196, 98, 133, 12, 184, 51, 104, 170, 166, 99, 176, 166, 115, 227, 162, 173, 154, 52, 247, 217, 101, 89, 87, 6, 132, 208, 8, 62, 89, 5, 67, 144, 147, 19, 195, 3, 43, 96, 3, 81, 240, 10, 141, 160, 6, 95, 217, 159, 126, 106, 3, 71, 36, 6, 68, 80, 4, 50, 144, 36, 106, 21, 0, 108, 5, 165, 147, 42, 21, 166, 96, 169, 83, 214, 111, 137, 83, 5, 206, 3, 10, 161, 48, 61, 170, 224, 7, 32, 0, 1, 50, 0, 9, 186, 64, 39, 86, 104, 120, 202, 161, 170, 140, 224, 166, 106, 250, 7, 109, 234, 166, 49, 228, 5, 134, 224, 5, 73, 67, 63, 114, 80, 5, 183, 154, 58, 55, 164, 2, 177, 73, 6, 80, 96, 164, 108, 214, 10, 92, 198, 63, 51, 16, 2, 6, 75, 95, 138, 42, 165, 248, 1, 82, 34, 117, 16, 166, 80, 23, 155, 115, 11, 87, 96, 161, 51, 192, 111, 156, 170, 108, 160, 32, 61, 171, 192, 10, 32, 16, 124, 48, 208, 9, 189, 128, 148, 208, 16, 14, 176, 72, 59, 55, 69, 154, 129, 192, 166, 127, 176, 166, 114, 163, 254, 166, 94, 0, 49, 77, 192, 3, 73, 208, 4, 115, 67, 6, 160, 128, 171, 132, 160, 6, 60, 10, 49, 60, 96, 3, 112, 112, 179, 100, 16, 8, 236, 8, 4, 54, 96, 176, 33, 128, 2, 40, 192, 2, 68, 160, 4, 213, 116, 77, 9, 33, 169, 90, 48, 21, 115, 160, 111, 153, 184, 3, 114, 136, 58, 135, 208, 173, 171, 224, 10, 253, 132, 6, 81, 113, 10, 172, 240, 38, 216, 160, 13, 242, 40, 164, 104, 250, 7, 129, 224, 174, 129, 192, 8, 114, 208, 166, 134, 128, 63, 17, 147, 56, 77, 32, 155, 132, 32, 138, 136, 80, 5, 58, 11, 5, 47, 219, 5, 253, 9, 7, 46, 74, 8, 236, 232, 3, 244, 133, 2, 71, 139, 180, 44, 16, 4, 73, 178, 100, 148, 164, 16, 121, 80, 23, 82, 225, 10, 55, 153, 137, 70, 168, 6, 136, 32, 8, 47, 86, 8, 165, 160, 9, 19, 96, 6, 142, 193, 7, 163, 176, 11, 202, 192, 117, 242, 232, 78, 108, 235, 174, 238, 58, 6, 104, 203, 170, 73, 227, 5, 73, 48, 179, 65, 139, 171, 175, 80, 109, 84, 80, 52, 178, 217, 4, 187, 58, 4, 217, 82, 5, 83, 99, 5, 61, 128, 180, 190, 203, 2, 46, 192, 180, 78, 36, 73, 254, 197, 184, 117, 145, 7, 180, 192, 116, 138, 201, 111, 133, 74, 117, 89, 112, 8, 186, 160, 9, 23, 16, 25, 159, 171, 83, 240, 254, 120, 66, 104, 58, 6, 129, 176, 166, 174, 10, 167, 100, 80, 175, 245, 138, 51, 160, 144, 11, 112, 153, 71, 47, 84, 62, 49, 91, 122, 116, 0, 60, 81, 0, 4, 152, 122, 180, 75, 144, 1, 25, 112, 184, 17, 68, 188, 15, 209, 184, 90, 80, 173, 54, 80, 168, 167, 39, 60, 22, 243, 6, 208, 43, 189, 146, 49, 10, 218, 112, 174, 19, 119, 44, 60, 67, 186, 45, 234, 162, 114, 80, 175, 93, 86, 6, 159, 0, 10, 177, 11, 7, 81, 112, 132, 47, 75, 175, 78, 99, 52, 60, 160, 2, 86, 90, 168, 54, 176, 4, 46, 144, 1, 87, 112, 141, 213, 113, 6, 245, 102, 111, 16, 33, 169, 138, 48, 177, 152, 184, 147, 19, 153, 122, 28, 154, 12, 156, 48, 189, 146, 241, 12, 87, 8, 13, 26, 215, 30, 237, 89, 11, 200, 128, 12, 178, 3, 93, 235, 234, 5, 101, 144, 132, 208, 149, 41, 21, 252, 144, 220, 27, 60, 117, 250, 116, 161, 228, 163, 132, 116, 5, 46, 144, 8, 248, 161, 4, 11, 32, 73, 139, 27, 17, 166, 240, 5, 144, 208, 3, 251, 187, 111, 165, 39, 135, 136, 240, 10, 146, 41, 192, 146, 113, 10, 231, 96, 133, 212, 32, 12, 112, 195, 162, 104, 27, 8, 173, 0, 55, 183, 214, 10, 55, 85, 149, 79, 200, 173, 144, 99, 96, 170, 35, 92, 192, 51, 4, 116, 64, 127, 161, 244, 129, 254, 83, 80, 156, 147, 16, 100, 222, 8, 91, 80, 116, 0, 103, 51, 17, 193, 192, 10, 145, 123, 161, 6, 118, 181, 175, 240, 38, 153, 64, 195, 53, 76, 178, 218, 128, 12, 185, 80, 149, 109, 251, 7, 132, 32, 7, 134, 240, 7, 49, 180, 182, 107, 11, 187, 91, 122, 8, 82, 96, 3, 89, 128, 8, 173, 208, 8, 154, 92, 6, 141, 208, 8, 129, 96, 8, 3, 103, 117, 207, 35, 81, 27, 203, 131, 212, 161, 4, 32, 21, 0, 18, 0, 169, 18, 49, 14, 107, 128, 137, 251, 150, 122, 87, 43, 12, 245, 8, 12, 27, 240, 151, 82, 241, 12, 218, 64, 13, 56, 44, 12, 181, 192, 8, 105, 123, 83, 210, 44, 55, 160, 204, 162, 148, 64, 48, 185, 16, 10, 161, 80, 68, 105, 48, 190, 114, 76, 205, 55, 149, 79, 172, 71, 45, 112, 208, 8, 163, 178, 10, 201, 128, 203, 176, 161, 5, 39, 60, 73, 30, 49, 8, 82, 230, 197, 95, 169, 202, 109, 162, 12, 192, 64, 3, 150, 0, 27, 201, 35, 12, 108, 34, 12, 210, 220, 162, 55, 229, 162, 110, 26, 203, 238, 249, 198, 177, 160, 12, 144, 48, 8, 177, 112, 12, 194, 0, 148, 205, 1, 55, 210, 44, 205, 229, 67, 7, 201, 6, 42, 12, 148, 12, 190, 0, 27, 124, 240, 1, 80, 20, 0, 46, 243, 17, 170, 96, 5, 133, 122, 155, 31, 168, 202, 14, 141, 254, 12, 189, 128, 4, 146, 32, 25, 124, 160, 13, 171, 44, 144, 45, 106, 8, 134, 240, 162, 11, 188, 182, 208, 149, 66, 229, 169, 13, 151, 160, 10, 247, 88, 10, 68, 89, 182, 85, 233, 96, 194, 101, 209, 81, 160, 108, 151, 211, 11, 192, 240, 24, 168, 192, 7, 42, 243, 209, 11, 144, 200, 30, 145, 12, 105, 80, 168, 205, 171, 6, 231, 252, 10, 151, 179, 11, 156, 112, 4, 252, 188, 198, 100, 112, 205, 46, 26, 208, 114, 243, 162, 238, 233, 133, 104, 87, 143, 47, 192, 10, 202, 80, 10, 200, 64, 148, 225, 160, 198, 104, 26, 8, 179, 137, 183, 114, 120, 8, 166, 162, 212, 190, 66, 43, 158, 115, 0, 243, 194, 21, 127, 232, 167, 51, 224, 111, 84, 87, 203, 165, 176, 11, 154, 0, 3, 220, 244, 24, 189, 16, 206, 14, 214, 182, 11, 108, 8, 105, 107, 211, 239, 36, 12, 150, 29, 39, 30, 176, 5, 172, 208, 11, 14, 205, 12, 218, 80, 11, 235, 73, 9, 44, 42, 155, 134, 128, 49, 181, 60, 9, 170, 48, 10, 230, 161, 5, 31, 240, 0, 125, 253, 0, 160, 182, 23, 147, 64, 180, 23, 58, 117, 84, 23, 5, 130, 112, 42, 174, 0, 3, 150, 240, 151, 171, 144, 58, 1, 205, 174, 114, 80, 205, 160, 108, 214, 3, 25, 209, 185, 160, 13, 202, 208, 0, 3, 224, 1, 151, 32, 166, 152, 57, 48, 134, 254, 112, 83, 16, 115, 45, 114, 184, 6, 125, 112, 7, 123, 160, 5, 241, 178, 0, 125, 61, 2, 216, 196, 23, 144, 80, 96, 21, 91, 177, 253, 19, 5, 83, 112, 216, 192, 80, 2, 95, 96, 23, 82, 234, 9, 165, 128, 8, 65, 27, 180, 110, 74, 8, 163, 221, 182, 54, 157, 205, 181, 192, 128, 185, 240, 10, 208, 160, 11, 13, 160, 0, 24, 0, 6, 208, 32, 158, 208, 208, 30, 234, 42, 223, 85, 144, 5, 216, 45, 23, 57, 208, 218, 44, 227, 221, 22, 240, 4, 90, 241, 29, 170, 64, 157, 215, 170, 147, 196, 147, 208, 201, 128, 4, 102, 96, 25, 32, 94, 23, 147, 120, 7, 125, 176, 6, 113, 160, 6, 214, 60, 55, 106, 122, 223, 114, 4, 79, 39, 148, 11, 255, 77, 1, 20, 112, 5, 170, 48, 182, 205, 12, 205, 159, 64, 57, 120, 144, 221, 219, 157, 3, 38, 80, 43, 101, 195, 50, 19, 238, 203, 189, 1, 185, 243, 188, 188, 62, 48, 5, 202, 128, 13, 201, 192, 6, 110, 224, 86, 121, 0, 226, 82, 174, 4, 34, 126, 6, 36, 222, 7, 120, 96, 226, 220, 226, 56, 17, 44, 154, 151, 227, 148, 118, 201, 10, 124, 50, 10, 142, 176, 33, 215, 225, 227, 77, 2, 228, 182, 242, 0, 53, 240, 5, 68, 94, 34, 229, 120, 169, 137, 169, 2, 6, 150, 5, 229, 186, 206, 48, 64, 16, 166, 160, 8, 192, 81, 62, 229, 32, 142, 25, 84, 238, 222, 115, 49, 232, 132, 110, 23, 215, 113, 25, 218, 17, 34, 78, 178, 232, 181, 98, 1, 109, 30, 32, 37, 162, 16, 151, 64, 184, 152, 26, 127, 73, 94, 10, 73, 9, 12, 56, 128, 16, 218, 148, 7, 121, 240, 5, 182, 17, 234, 162, 158, 3, 184, 129, 27, 218, 113, 234, 218, 209, 31, 253, 17, 34, 172, 206, 232, 38, 160, 3, 0, 82, 225, 145, 206, 16, 148, 142, 169, 116, 126, 164, 186, 144, 12, 187, 237, 16, 150, 20, 9, 118, 96, 7, 95, 240, 5, 216, 145, 29, 168, 158, 234, 170, 174, 1, 31, 160, 3, 184, 17, 236, 120, 33, 235, 179, 254, 16, 144, 75, 184, 136, 153, 106, 22, 185, 6, 147, 192, 10, 174, 176, 1, 60, 65, 19, 145, 240, 230, 207, 222, 17, 128, 64, 184, 33, 96, 164, 86, 144, 6, 225, 226, 165, 154, 32, 1, 223, 190, 238, 21, 225, 10, 75, 128, 2, 54, 240, 3, 66, 148, 6, 228, 178, 11, 192, 192, 4, 236, 158, 239, 2, 17, 16, 0, 59}; 0707010008128b000081a40000000000000000000000014dc0faed0000071b0000010000010007ffffffffffffffff0000002c00000000root/usr/local/include/php/main/safe_mode.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: safe_mode.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SAFE_MODE_H #define SAFE_MODE_H /* mode's for php_checkuid() */ #define CHECKUID_DISALLOW_FILE_NOT_EXISTS 0 #define CHECKUID_ALLOW_FILE_NOT_EXISTS 1 #define CHECKUID_CHECK_FILE_AND_DIR 2 #define CHECKUID_ALLOW_ONLY_DIR 3 #define CHECKUID_CHECK_MODE_PARAM 4 #define CHECKUID_ALLOW_ONLY_FILE 5 /* flags for php_checkuid_ex() */ #define CHECKUID_NO_ERRORS 0x01 BEGIN_EXTERN_C() PHPAPI int php_checkuid(const char *filename, const char *fopen_mode, int mode); PHPAPI int php_checkuid_ex(const char *filename, const char *fopen_mode, int mode, int flags); PHPAPI char *php_get_current_user(void); END_EXTERN_C() #endif 07070100081283000081a40000000000000000000000014dc0faed00000ea10000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/main/php_reentrancy.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: php_reentrancy.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_REENTRANCY_H #define PHP_REENTRANCY_H #include "php.h" #include #ifdef HAVE_DIRENT_H #include #endif #include /* currently, PHP does not check for these functions, but assumes that they are available on all systems. */ #define HAVE_LOCALTIME 1 #define HAVE_GMTIME 1 #define HAVE_ASCTIME 1 #define HAVE_CTIME 1 #if defined(PHP_IRIX_TIME_R) #undef HAVE_ASCTIME_R #undef HAVE_CTIME_R #endif #if defined(PHP_HPUX_TIME_R) #undef HAVE_LOCALTIME_R #undef HAVE_ASCTIME_R #undef HAVE_CTIME_R #undef HAVE_GMTIME_R #endif BEGIN_EXTERN_C() #if defined(HAVE_POSIX_READDIR_R) #define php_readdir_r readdir_r #else PHPAPI int php_readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); #endif #if !defined(HAVE_LOCALTIME_R) && defined(HAVE_LOCALTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI struct tm *php_localtime_r(const time_t *const timep, struct tm *p_tm); #else #define php_localtime_r localtime_r #ifdef MISSING_LOCALTIME_R_DECL struct tm *localtime_r(const time_t *const timep, struct tm *p_tm); #endif #endif #if !defined(HAVE_CTIME_R) && defined(HAVE_CTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI char *php_ctime_r(const time_t *clock, char *buf); #else #define php_ctime_r ctime_r #ifdef MISSING_CTIME_R_DECL char *ctime_r(const time_t *clock, char *buf); #endif #endif #if !defined(HAVE_ASCTIME_R) && defined(HAVE_ASCTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI char *php_asctime_r(const struct tm *tm, char *buf); #else #define php_asctime_r asctime_r #ifdef MISSING_ASCTIME_R_DECL char *asctime_r(const struct tm *tm, char *buf); #endif #endif #if !defined(HAVE_GMTIME_R) && defined(HAVE_GMTIME) || defined(__BEOS__) #define PHP_NEED_REENTRANCY 1 PHPAPI struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm); #else #define php_gmtime_r gmtime_r #ifdef MISSING_GMTIME_R_DECL struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm); #endif #endif #if !defined(HAVE_STRTOK_R) PHPAPI char *php_strtok_r(char *s, const char *delim, char **last); #else #define php_strtok_r strtok_r #ifdef MISSING_STRTOK_R_DECL char *strtok_r(char *s, const char *delim, char **last); #endif #endif #if !defined(HAVE_RAND_R) PHPAPI int php_rand_r(unsigned int *seed); #else #define php_rand_r rand_r #endif END_EXTERN_C() #if !defined(ZTS) #undef PHP_NEED_REENTRANCY #endif #if defined(PHP_NEED_REENTRANCY) void reentrancy_startup(void); void reentrancy_shutdown(void); #else #define reentrancy_startup() #define reentrancy_shutdown() #endif #endif 07070100081277000081a40000000000000000000000014dc0faec000046c10000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/main/php_compat.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_compat.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_COMPAT_H #define PHP_COMPAT_H #ifdef PHP_WIN32 #include "config.w32.h" #else #include #endif #if defined(HAVE_BUNDLED_PCRE) || !defined(PHP_VERSION) #define pcre_compile php_pcre_compile #define pcre_compile2 php_pcre_compile2 #define pcre_copy_substring php_pcre_copy_substring #define pcre_exec php_pcre_exec #define pcre_get_substring php_pcre_get_substring #define pcre_get_substring_list php_pcre_get_substring_list #define pcre_info php_pcre_info #define pcre_maketables php_pcre_maketables #define pcre_study php_pcre_study #define pcre_version php_pcre_version #define pcre_fullinfo php_pcre_fullinfo #define pcre_free php_pcre_free #define pcre_malloc php_pcre_malloc #define pcre_config php_pcre_config #define pcre_copy_named_substring php_pcre_copy_named_substring #define pcre_free_substring php_pcre_free_substring #define pcre_free_substring_list php_pcre_free_substring_list #define pcre_get_named_substring php_pcre_get_named_substring #define pcre_get_stringnumber php_pcre_get_stringnumber #define pcre_refcount php_pcre_refcount #define _pcre_ord2utf8 php__pcre_ord2utf8 #define _pcre_try_flipped php__pcre_try_flipped #define _pcre_valid_utf8 php__pcre_valid_utf8 #define _pcre_xclass php__pcre_xclass #define pcre_callout php_pcre_callout #define _pcre_OP_lengths php__pcre_OP_lengths #define _pcre_utt_names php__pcre_utt_names #define _pcre_default_tables php__pcre_default_tables #define pcre_get_stringtable_entries php_pcre_get_stringtable_entries #define _pcre_is_newline php__pcre_is_newline #define pcre_stack_free php_pcre_stack_free #define pcre_stack_malloc php_pcre_stack_malloc #define _pcre_utf8_table1 php__pcre_utf8_table1 #define _pcre_utf8_table1_size php__pcre_utf8_table1_size #define _pcre_utf8_table2 php__pcre_utf8_table2 #define _pcre_utf8_table3 php__pcre_utf8_table3 #define _pcre_utf8_table4 php__pcre_utf8_table4 #define _pcre_utt php__pcre_utt #define _pcre_utt_size php__pcre_utt_size #define _pcre_was_newline php__pcre_was_newline #define _pcre_ucd_records php__pcre_ucd_records #define _pcre_ucd_stage1 php__pcre_ucd_stage1 #define _pcre_ucd_stage2 php__pcre_ucd_stage2 #define _pcre_ucp_gentype php__pcre_ucp_gentype #endif #define lookup php_lookup #define hashTableInit php_hashTableInit #define hashTableDestroy php_hashTableDestroy #define hashTableIterInit php_hashTableIterInit #define hashTableIterNext php_hashTableIterNext #if defined(HAVE_LIBXML) && (defined(HAVE_XML) || defined(HAVE_XMLRPC)) && !defined(HAVE_LIBEXPAT) #define XML_DefaultCurrent php_XML_DefaultCurrent #define XML_ErrorString php_XML_ErrorString #define XML_ExpatVersion php_XML_ExpatVersion #define XML_ExpatVersionInfo php_XML_ExpatVersionInfo #define XML_ExternalEntityParserCreate php_XML_ExternalEntityParserCreate #define XML_GetBase php_XML_GetBase #define XML_GetBuffer php_XML_GetBuffer #define XML_GetCurrentByteCount php_XML_GetCurrentByteCount #define XML_GetCurrentByteIndex php_XML_GetCurrentByteIndex #define XML_GetCurrentColumnNumber php_XML_GetCurrentColumnNumber #define XML_GetCurrentLineNumber php_XML_GetCurrentLineNumber #define XML_GetErrorCode php_XML_GetErrorCode #define XML_GetIdAttributeIndex php_XML_GetIdAttributeIndex #define XML_GetInputContext php_XML_GetInputContext #define XML_GetSpecifiedAttributeCount php_XML_GetSpecifiedAttributeCount #define XmlGetUtf16InternalEncodingNS php_XmlGetUtf16InternalEncodingNS #define XmlGetUtf16InternalEncoding php_XmlGetUtf16InternalEncoding #define XmlGetUtf8InternalEncodingNS php_XmlGetUtf8InternalEncodingNS #define XmlGetUtf8InternalEncoding php_XmlGetUtf8InternalEncoding #define XmlInitEncoding php_XmlInitEncoding #define XmlInitEncodingNS php_XmlInitEncodingNS #define XmlInitUnknownEncoding php_XmlInitUnknownEncoding #define XmlInitUnknownEncodingNS php_XmlInitUnknownEncodingNS #define XML_ParseBuffer php_XML_ParseBuffer #define XML_Parse php_XML_Parse #define XML_ParserCreate_MM php_XML_ParserCreate_MM #define XML_ParserCreateNS php_XML_ParserCreateNS #define XML_ParserCreate php_XML_ParserCreate #define XML_ParserFree php_XML_ParserFree #define XmlParseXmlDecl php_XmlParseXmlDecl #define XmlParseXmlDeclNS php_XmlParseXmlDeclNS #define XmlPrologStateInitExternalEntity php_XmlPrologStateInitExternalEntity #define XmlPrologStateInit php_XmlPrologStateInit #define XML_SetAttlistDeclHandler php_XML_SetAttlistDeclHandler #define XML_SetBase php_XML_SetBase #define XML_SetCdataSectionHandler php_XML_SetCdataSectionHandler #define XML_SetCharacterDataHandler php_XML_SetCharacterDataHandler #define XML_SetCommentHandler php_XML_SetCommentHandler #define XML_SetDefaultHandlerExpand php_XML_SetDefaultHandlerExpand #define XML_SetDefaultHandler php_XML_SetDefaultHandler #define XML_SetDoctypeDeclHandler php_XML_SetDoctypeDeclHandler #define XML_SetElementDeclHandler php_XML_SetElementDeclHandler #define XML_SetElementHandler php_XML_SetElementHandler #define XML_SetEncoding php_XML_SetEncoding #define XML_SetEndCdataSectionHandler php_XML_SetEndCdataSectionHandler #define XML_SetEndDoctypeDeclHandler php_XML_SetEndDoctypeDeclHandler #define XML_SetEndElementHandler php_XML_SetEndElementHandler #define XML_SetEndNamespaceDeclHandler php_XML_SetEndNamespaceDeclHandler #define XML_SetEntityDeclHandler php_XML_SetEntityDeclHandler #define XML_SetExternalEntityRefHandlerArg php_XML_SetExternalEntityRefHandlerArg #define XML_SetExternalEntityRefHandler php_XML_SetExternalEntityRefHandler #define XML_SetNamespaceDeclHandler php_XML_SetNamespaceDeclHandler #define XML_SetNotationDeclHandler php_XML_SetNotationDeclHandler #define XML_SetNotStandaloneHandler php_XML_SetNotStandaloneHandler #define XML_SetParamEntityParsing php_XML_SetParamEntityParsing #define XML_SetProcessingInstructionHandler php_XML_SetProcessingInstructionHandler #define XML_SetReturnNSTriplet php_XML_SetReturnNSTriplet #define XML_SetStartCdataSectionHandler php_XML_SetStartCdataSectionHandler #define XML_SetStartDoctypeDeclHandler php_XML_SetStartDoctypeDeclHandler #define XML_SetStartElementHandler php_XML_SetStartElementHandler #define XML_SetStartNamespaceDeclHandler php_XML_SetStartNamespaceDeclHandler #define XML_SetUnknownEncodingHandler php_XML_SetUnknownEncodingHandler #define XML_SetUnparsedEntityDeclHandler php_XML_SetUnparsedEntityDeclHandler #define XML_SetUserData php_XML_SetUserData #define XML_SetXmlDeclHandler php_XML_SetXmlDeclHandler #define XmlSizeOfUnknownEncoding php_XmlSizeOfUnknownEncoding #define XML_UseParserAsHandlerArg php_XML_UseParserAsHandlerArg #define XmlUtf16Encode php_XmlUtf16Encode #define XmlUtf8Encode php_XmlUtf8Encode #define XML_FreeContentModel php_XML_FreeContentModel #define XML_MemMalloc php_XML_MemMalloc #define XML_MemRealloc php_XML_MemRealloc #define XML_MemFree php_XML_MemFree #define XML_UseForeignDTD php_XML_UseForeignDTD #define XML_GetFeatureList php_XML_GetFeatureList #define XML_ParserReset php_XML_ParserReset #ifdef HAVE_GD_BUNDLED #define any2eucjp php_gd_any2eucjp #define createwbmp php_gd_createwbmp #define empty_output_buffer php_gd_empty_output_buffer #define fill_input_buffer php_gd_fill_input_buffer #define freewbmp php_gd_freewbmp #define gdAlphaBlend php_gd_gdAlphaBlend #define gdCompareInt php_gd_gdCompareInt #define gdCosT php_gd_gdCosT #define gdCtxPrintf php_gd_gdCtxPrintf #define gdDPExtractData php_gd_gdDPExtractData #define gdFontGetGiant php_gd_gdFontGetGiant #define gdFontGetLarge php_gd_gdFontGetLarge #define gdFontGetMediumBold php_gd_gdFontGetMediumBold #define gdFontGetSmall php_gd_gdFontGetSmall #define gdFontGetTiny php_gd_gdFontGetTiny #define gdFontGiant php_gd_gdFontGiant #define gdFontGiantData php_gd_gdFontGiantData #define gdFontGiantRep php_gd_gdFontGiantRep #define gdFontLarge php_gd_gdFontLarge #define gdFontLargeData php_gd_gdFontLargeData #define gdFontLargeRep php_gd_gdFontLargeRep #define gdFontMediumBold php_gd_gdFontMediumBold #define gdFontMediumBoldData php_gd_gdFontMediumBoldData #define gdFontMediumBoldRep php_gd_gdFontMediumBoldRep #define gdFontSmall php_gd_gdFontSmall #define gdFontSmallData php_gd_gdFontSmallData #define gdFontSmallRep php_gd_gdFontSmallRep #define gdFontTiny php_gd_gdFontTiny #define gdFontTinyData php_gd_gdFontTinyData #define gdFontTinyRep php_gd_gdFontTinyRep #define gdGetBuf php_gd_gdGetBuf #define gdGetByte php_gd_gdGetByte #define gdGetC php_gd_gdGetC #define _gdGetColors php_gd__gdGetColors #define gd_getin php_gd_gd_getin #define gdGetInt php_gd_gdGetInt #define gdGetWord php_gd_gdGetWord #define gdImageAABlend php_gd_gdImageAABlend #define gdImageAALine php_gd_gdImageAALine #define gdImageAlphaBlending php_gd_gdImageAlphaBlending #define gdImageAntialias php_gd_gdImageAntialias #define gdImageArc php_gd_gdImageArc #define gdImageBrightness php_gd_gdImageBrightness #define gdImageChar php_gd_gdImageChar #define gdImageCharUp php_gd_gdImageCharUp #define gdImageColor php_gd_gdImageColor #define gdImageColorAllocate php_gd_gdImageColorAllocate #define gdImageColorAllocateAlpha php_gd_gdImageColorAllocateAlpha #define gdImageColorClosest php_gd_gdImageColorClosest #define gdImageColorClosestAlpha php_gd_gdImageColorClosestAlpha #define gdImageColorClosestHWB php_gd_gdImageColorClosestHWB #define gdImageColorDeallocate php_gd_gdImageColorDeallocate #define gdImageColorExact php_gd_gdImageColorExact #define gdImageColorExactAlpha php_gd_gdImageColorExactAlpha #define gdImageColorMatch php_gd_gdImageColorMatch #define gdImageColorResolve php_gd_gdImageColorResolve #define gdImageColorResolveAlpha php_gd_gdImageColorResolveAlpha #define gdImageColorTransparent php_gd_gdImageColorTransparent #define gdImageCompare php_gd_gdImageCompare #define gdImageContrast php_gd_gdImageContrast #define gdImageConvolution php_gd_gdImageConvolution #define gdImageCopy php_gd_gdImageCopy #define gdImageCopyMerge php_gd_gdImageCopyMerge #define gdImageCopyMergeGray php_gd_gdImageCopyMergeGray #define gdImageCopyResampled php_gd_gdImageCopyResampled #define gdImageCopyResized php_gd_gdImageCopyResized #define gdImageCreate php_gd_gdImageCreate #define gdImageCreateFromGd php_gd_gdImageCreateFromGd #define gdImageCreateFromGd2 php_gd_gdImageCreateFromGd2 #define gdImageCreateFromGd2Ctx php_gd_gdImageCreateFromGd2Ctx #define gdImageCreateFromGd2Part php_gd_gdImageCreateFromGd2Part #define gdImageCreateFromGd2PartCtx php_gd_gdImageCreateFromGd2PartCtx #define gdImageCreateFromGd2PartPtr php_gd_gdImageCreateFromGd2PartPtr #define gdImageCreateFromGd2Ptr php_gd_gdImageCreateFromGd2Ptr #define gdImageCreateFromGdCtx php_gd_gdImageCreateFromGdCtx #define gdImageCreateFromGdPtr php_gd_gdImageCreateFromGdPtr #define gdImageCreateFromGif php_gd_gdImageCreateFromGif #define gdImageCreateFromGifCtx php_gd_gdImageCreateFromGifCtx #define gdImageCreateFromGifSource php_gd_gdImageCreateFromGifSource #define gdImageCreateFromJpeg php_gd_gdImageCreateFromJpeg #define gdImageCreateFromJpegCtx php_gd_gdImageCreateFromJpegCtx #define gdImageCreateFromJpegPtr php_gd_gdImageCreateFromJpegPtr #define gdImageCreateFromPng php_gd_gdImageCreateFromPng #define gdImageCreateFromPngCtx php_gd_gdImageCreateFromPngCtx #define gdImageCreateFromPngPtr php_gd_gdImageCreateFromPngPtr #define gdImageCreateFromPngSource php_gd_gdImageCreateFromPngSource #define gdImageCreateFromWBMP php_gd_gdImageCreateFromWBMP #define gdImageCreateFromWBMPCtx php_gd_gdImageCreateFromWBMPCtx #define gdImageCreateFromWBMPPtr php_gd_gdImageCreateFromWBMPPtr #define gdImageCreateFromXbm php_gd_gdImageCreateFromXbm #define gdImageCreatePaletteFromTrueColor php_gd_gdImageCreatePaletteFromTrueColor #define gdImageCreateTrueColor php_gd_gdImageCreateTrueColor #define gdImageDashedLine php_gd_gdImageDashedLine #define gdImageDestroy php_gd_gdImageDestroy #define gdImageEdgeDetectQuick php_gd_gdImageEdgeDetectQuick #define gdImageEllipse php_gd_gdImageEllipse #define gdImageEmboss php_gd_gdImageEmboss #define gdImageFill php_gd_gdImageFill #define gdImageFilledArc php_gd_gdImageFilledArc #define gdImageFilledEllipse php_gd_gdImageFilledEllipse #define gdImageFilledPolygon php_gd_gdImageFilledPolygon #define gdImageFilledRectangle php_gd_gdImageFilledRectangle #define _gdImageFillTiled php_gd__gdImageFillTiled #define gdImageFillToBorder php_gd_gdImageFillToBorder #define gdImageGaussianBlur php_gd_gdImageGaussianBlur #define gdImageGd php_gd_gdImageGd #define gdImageGd2 php_gd_gdImageGd2 #define gdImageGd2Ptr php_gd_gdImageGd2Ptr #define gdImageGdPtr php_gd_gdImageGdPtr #define gdImageGetClip php_gd_gdImageGetClip #define gdImageGetPixel php_gd_gdImageGetPixel #define gdImageGetTrueColorPixel php_gd_gdImageGetTrueColorPixel #define gdImageGif php_gd_gdImageGif #define gdImageGifCtx php_gd_gdImageGifCtx #define gdImageGifPtr php_gd_gdImageGifPtr #define gdImageGrayScale php_gd_gdImageGrayScale #define gdImageInterlace php_gd_gdImageInterlace #define gdImageJpeg php_gd_gdImageJpeg #define gdImageJpegCtx php_gd_gdImageJpegCtx #define gdImageJpegPtr php_gd_gdImageJpegPtr #define gdImageLine php_gd_gdImageLine #define gdImageMeanRemoval php_gd_gdImageMeanRemoval #define gdImageNegate php_gd_gdImageNegate #define gdImagePaletteCopy php_gd_gdImagePaletteCopy #define gdImagePng php_gd_gdImagePng #define gdImagePngCtx php_gd_gdImagePngCtx #define gdImagePngCtxEx php_gd_gdImagePngCtxEx #define gdImagePngEx php_gd_gdImagePngEx #define gdImagePngPtr php_gd_gdImagePngPtr #define gdImagePngPtrEx php_gd_gdImagePngPtrEx #define gdImagePngToSink php_gd_gdImagePngToSink #define gdImagePolygon php_gd_gdImagePolygon #define gdImageRectangle php_gd_gdImageRectangle #define gdImageRotate php_gd_gdImageRotate #define gdImageRotate180 php_gd_gdImageRotate180 #define gdImageRotate270 php_gd_gdImageRotate270 #define gdImageRotate45 php_gd_gdImageRotate45 #define gdImageRotate90 php_gd_gdImageRotate90 #define gdImageSaveAlpha php_gd_gdImageSaveAlpha #define gdImageSelectiveBlur php_gd_gdImageSelectiveBlur #define gdImageSetAntiAliased php_gd_gdImageSetAntiAliased #define gdImageSetAntiAliasedDontBlend php_gd_gdImageSetAntiAliasedDontBlend #define gdImageSetBrush php_gd_gdImageSetBrush #define gdImageSetClip php_gd_gdImageSetClip #define gdImageSetPixel php_gd_gdImageSetPixel #define gdImageSetStyle php_gd_gdImageSetStyle #define gdImageSetThickness php_gd_gdImageSetThickness #define gdImageSetTile php_gd_gdImageSetTile #define gdImageSkewX php_gd_gdImageSkewX #define gdImageSkewY php_gd_gdImageSkewY #define gdImageSmooth php_gd_gdImageSmooth #define gdImageString php_gd_gdImageString #define gdImageString16 php_gd_gdImageString16 #define gdImageStringFT php_gd_gdImageStringFT #define gdImageStringFTEx php_gd_gdImageStringFTEx #define gdImageStringTTF php_gd_gdImageStringTTF #define gdImageStringUp php_gd_gdImageStringUp #define gdImageStringUp16 php_gd_gdImageStringUp16 #define gdImageTrueColorToPalette php_gd_gdImageTrueColorToPalette #define gdImageWBMP php_gd_gdImageWBMP #define gdImageWBMPCtx php_gd_gdImageWBMPCtx #define gdImageWBMPPtr php_gd_gdImageWBMPPtr #define gdImageXbmCtx php_gd_gdImageXbmCtx #define gdNewDynamicCtx php_gd_gdNewDynamicCtx #define gdNewDynamicCtxEx php_gd_gdNewDynamicCtxEx #define gdNewFileCtx php_gd_gdNewFileCtx #define gdNewSSCtx php_gd_gdNewSSCtx #define gdPutBuf php_gd_gdPutBuf #define gdPutC php_gd_gdPutC #define _gdPutColors php_gd__gdPutColors #define gdPutInt php_gd_gdPutInt #define gd_putout php_gd_gd_putout #define gdPutWord php_gd_gdPutWord #define gdSeek php_gd_gdSeek #define gdSinT php_gd_gdSinT #define gd_strtok_r php_gd_gd_strtok_r #define gdTell php_gd_gdTell #define getmbi php_gd_getmbi #define init_destination php_gd_init_destination #define init_source php_gd_init_source #define jpeg_gdIOCtx_dest php_gd_jpeg_gdIOCtx_dest #define jpeg_gdIOCtx_src php_gd_jpeg_gdIOCtx_src #define lsqrt php_gd_lsqrt #define printwbmp php_gd_printwbmp #define Putchar php_gd_Putchar #define putmbi php_gd_putmbi #define Putword php_gd_Putword #define readwbmp php_gd_readwbmp #define skipheader php_gd_skipheader #define skip_input_data php_gd_skip_input_data #define term_destination php_gd_term_destination #define term_source php_gd_term_source #define writewbmp php_gd_writewbmp #define ZeroDataBlock php_gd_ZeroDataBlock #define gdCacheCreate php_gd_gdCacheCreate #define gdCacheDelete php_gd_gdCacheDelete #define gdCacheGet php_gd_gdCacheGet #define gdFontCacheSetup php_gd_gdFontCacheSetup #define gdFontCacheShutdown php_gd_gdFontCacheShutdown #define gdFreeFontCache php_gd_gdFreeFontCache #endif /* HAVE_GD_BUNDLED */ /* Define to specify how much context to retain around the current parse point. */ #define XML_CONTEXT_BYTES 1024 /* Define to make parameter entity parsing functionality available. */ #define XML_DTD 1 /* Define to make XML Namespaces functionality available. */ #define XML_NS 1 #endif #ifdef PHP_EXPORTS #define PCRE_STATIC #endif #endif 07070100081286000081a40000000000000000000000014dc0faed000006580000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/main/php_syslog.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_syslog.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_SYSLOG_H #define PHP_SYSLOG_H #ifdef PHP_WIN32 #include "win32/syslog.h" #else #include #ifdef HAVE_SYSLOG_H #include #endif #endif /* * The SCO OpenServer 5 Development System (not the UDK) * defines syslog to std_syslog. */ #ifdef syslog #ifdef HAVE_STD_SYSLOG #define php_syslog std_syslog #endif #undef syslog #endif #ifndef php_syslog #define php_syslog syslog #endif #endif 07070100081289000081a40000000000000000000000014dc0faed000001080000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/main/php_version.h/* automatically generated by configure */ /* edit configure.in to change version number */ #define PHP_MAJOR_VERSION 5 #define PHP_MINOR_VERSION 3 #define PHP_RELEASE_VERSION 6 #define PHP_EXTRA_VERSION "" #define PHP_VERSION "5.3.6" #define PHP_VERSION_ID 50306 07070100081287000081a40000000000000000000000014dc0faed0000064a0000010000010007ffffffffffffffff0000002c00000000root/usr/local/include/php/main/php_ticks.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Bakken | +----------------------------------------------------------------------+ */ /* $Id: php_ticks.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_TICKS_H #define PHP_TICKS_H int php_startup_ticks(TSRMLS_D); void php_deactivate_ticks(TSRMLS_D); void php_shutdown_ticks(TSRMLS_D); void php_run_ticks(int count); BEGIN_EXTERN_C() PHPAPI void php_add_tick_function(void (*func)(int)); PHPAPI void php_remove_tick_function(void (*func)(int)); END_EXTERN_C() #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081288000081a40000000000000000000000014dc0faed000008310000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/main/php_variables.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php_variables.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_VARIABLES_H #define PHP_VARIABLES_H #include "php.h" #include "SAPI.h" #define PARSE_POST 0 #define PARSE_GET 1 #define PARSE_COOKIE 2 #define PARSE_STRING 3 #define PARSE_ENV 4 #define PARSE_SERVER 5 #define PARSE_SESSION 6 BEGIN_EXTERN_C() void php_startup_auto_globals(TSRMLS_D); extern PHPAPI void (*php_import_environment_variables)(zval *array_ptr TSRMLS_DC); PHPAPI void php_register_variable(char *var, char *val, zval *track_vars_array TSRMLS_DC); /* binary-safe version */ PHPAPI void php_register_variable_safe(char *var, char *val, int val_len, zval *track_vars_array TSRMLS_DC); PHPAPI void php_register_variable_ex(char *var, zval *val, zval *track_vars_array TSRMLS_DC); int php_hash_environment(TSRMLS_D); END_EXTERN_C() #define NUM_TRACK_VARS 6 #endif /* PHP_VARIABLES_H */ 07070100081284000081a40000000000000000000000014dc0faed000007be0000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/main/php_scandir.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Shane Caraveo | | Ilia Alshanetsky | +----------------------------------------------------------------------+ */ /* $Id: php_scandir.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_SCANDIR_H #define PHP_SCANDIR_H #include #ifdef HAVE_SYS_DIR_H #include #endif #ifdef PHP_WIN32 #include "config.w32.h" #include "win32/readdir.h" #else #include #endif #ifdef HAVE_DIRENT_H #include #endif #ifdef HAVE_SCANDIR #define php_scandir scandir #else PHPAPI int php_scandir(const char *dirname, struct dirent **namelist[], int (*selector) (const struct dirent *entry), int (*compare) (const struct dirent **a, const struct dirent **b)); #endif #ifdef HAVE_ALPHASORT #define php_alphasort alphasort #else PHPAPI int php_alphasort(const struct dirent **a, const struct dirent **b); #endif #endif /* PHP_SCANDIR_H */ 07070100081275000081a40000000000000000000000014dc0faec00002fe30000010000010007ffffffffffffffff0000002600000000root/usr/local/include/php/main/php.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_H #define PHP_H #ifdef HAVE_DMALLOC #include #endif #define PHP_API_VERSION 20090626 #define PHP_HAVE_STREAMS #define YYDEBUG 0 #include "php_version.h" #include "zend.h" #include "zend_qsort.h" #include "php_compat.h" #include "zend_API.h" #undef sprintf #define sprintf php_sprintf /* PHP's DEBUG value must match Zend's ZEND_DEBUG value */ #undef PHP_DEBUG #define PHP_DEBUG ZEND_DEBUG #ifdef PHP_WIN32 # include "tsrm_win32.h" # include "win95nt.h" # ifdef PHP_EXPORTS # define PHPAPI __declspec(dllexport) # else # define PHPAPI __declspec(dllimport) # endif # define PHP_DIR_SEPARATOR '\\' # define PHP_EOL "\r\n" #else # if defined(__GNUC__) && __GNUC__ >= 4 # define PHPAPI __attribute__ ((visibility("default"))) # else # define PHPAPI # endif #define THREAD_LS #define PHP_DIR_SEPARATOR '/' #if defined(__MacOSX__) #define PHP_EOL "\r" #else #define PHP_EOL "\n" #endif #endif #ifdef NETWARE /* For php_get_uname() function */ #define PHP_UNAME "NetWare" #define PHP_OS PHP_UNAME #endif #if HAVE_ASSERT_H #if PHP_DEBUG #undef NDEBUG #else #ifndef NDEBUG #define NDEBUG #endif #endif #include #else /* HAVE_ASSERT_H */ #define assert(expr) ((void) (0)) #endif /* HAVE_ASSERT_H */ #define APACHE 0 #if HAVE_UNIX_H #include #endif #if HAVE_ALLOCA_H #include #endif #if HAVE_BUILD_DEFS_H #include #endif /* * This is a fast version of strlcpy which should be used, if you * know the size of the destination buffer and if you know * the length of the source string. * * size is the allocated number of bytes of dst * src_size is the number of bytes excluding the NUL of src */ #define PHP_STRLCPY(dst, src, size, src_size) \ { \ size_t php_str_len; \ \ if (src_size >= size) \ php_str_len = size - 1; \ else \ php_str_len = src_size; \ memcpy(dst, src, php_str_len); \ dst[php_str_len] = '\0'; \ } #ifndef HAVE_STRLCPY BEGIN_EXTERN_C() PHPAPI size_t php_strlcpy(char *dst, const char *src, size_t siz); END_EXTERN_C() #undef strlcpy #define strlcpy php_strlcpy #endif #ifndef HAVE_STRLCAT BEGIN_EXTERN_C() PHPAPI size_t php_strlcat(char *dst, const char *src, size_t siz); END_EXTERN_C() #undef strlcat #define strlcat php_strlcat #endif #ifndef HAVE_STRTOK_R BEGIN_EXTERN_C() char *strtok_r(char *s, const char *delim, char **last); END_EXTERN_C() #endif #ifndef HAVE_SOCKLEN_T typedef unsigned int socklen_t; #endif #define CREATE_MUTEX(a, b) #define SET_MUTEX(a) #define FREE_MUTEX(a) /* * Then the ODBC support can use both iodbc and Solid, * uncomment this. * #define HAVE_ODBC (HAVE_IODBC|HAVE_SOLID) */ #include #include #if HAVE_UNISTD_H #include #endif #if HAVE_STDARG_H #include #else # if HAVE_SYS_VARARGS_H # include # endif #endif #ifndef va_copy # ifdef __va_copy # define va_copy(ap1, ap2) __va_copy((ap1), (ap2)) # else # define va_copy(ap1, ap2) memcpy((&ap1), (&ap2), sizeof(va_list)) # endif #endif #include "zend_hash.h" #include "php3_compat.h" #include "zend_alloc.h" #include "zend_stack.h" #if STDC_HEADERS # include #else # ifndef HAVE_MEMCPY # define memcpy(d, s, n) bcopy((s), (d), (n)) # endif # ifndef HAVE_MEMMOVE # define memmove(d, s, n) bcopy ((s), (d), (n)) # endif #endif #include "safe_mode.h" #ifndef HAVE_STRERROR char *strerror(int); #endif #if HAVE_PWD_H # ifdef PHP_WIN32 #include "win32/param.h" # else #include #include # endif #endif #if HAVE_LIMITS_H #include #endif #ifndef LONG_MAX #define LONG_MAX 2147483647L #endif #ifndef LONG_MIN #define LONG_MIN (- LONG_MAX - 1) #endif #ifndef INT_MAX #define INT_MAX 2147483647 #endif #ifndef INT_MIN #define INT_MIN (- INT_MAX - 1) #endif #define PHP_GCC_VERSION ZEND_GCC_VERSION #define PHP_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_MALLOC #define PHP_ATTRIBUTE_FORMAT ZEND_ATTRIBUTE_FORMAT BEGIN_EXTERN_C() #include "snprintf.h" END_EXTERN_C() #include "spprintf.h" #define EXEC_INPUT_BUF 4096 #define PHP_MIME_TYPE "application/x-httpd-php" /* macros */ #define STR_PRINT(str) ((str)?(str):"") #ifndef MAXPATHLEN # ifdef PATH_MAX # define MAXPATHLEN PATH_MAX # elif defined(MAX_PATH) # define MAXPATHLEN MAX_PATH # else # define MAXPATHLEN 256 /* Should be safe for any weird systems that do not define it */ # endif #endif /* global variables */ #if !defined(PHP_WIN32) #define PHP_SLEEP_NON_VOID #define php_sleep sleep extern char **environ; #endif /* !defined(PHP_WIN32) */ #ifdef PHP_PWRITE_64 ssize_t pwrite(int, void *, size_t, off64_t); #endif #ifdef PHP_PREAD_64 ssize_t pread(int, void *, size_t, off64_t); #endif BEGIN_EXTERN_C() void phperror(char *error); PHPAPI int php_write(void *buf, uint size TSRMLS_DC); PHPAPI int php_printf(const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 1, 2); PHPAPI void php_log_err(char *log_message TSRMLS_DC); int Debug(char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 1, 2); int cfgparse(void); END_EXTERN_C() #define php_error zend_error #define error_handling_t zend_error_handling_t BEGIN_EXTERN_C() static inline ZEND_ATTRIBUTE_DEPRECATED void php_set_error_handling(error_handling_t error_handling, zend_class_entry *exception_class TSRMLS_DC) { zend_replace_error_handling(error_handling, exception_class, NULL TSRMLS_CC); } static inline ZEND_ATTRIBUTE_DEPRECATED void php_std_error_handling() {} PHPAPI void php_verror(const char *docref, const char *params, int type, const char *format, va_list args TSRMLS_DC) PHP_ATTRIBUTE_FORMAT(printf, 4, 0); #ifdef ZTS #define PHP_ATTR_FMT_OFFSET 1 #else #define PHP_ATTR_FMT_OFFSET 0 #endif /* PHPAPI void php_error(int type, const char *format, ...); */ PHPAPI void php_error_docref0(const char *docref TSRMLS_DC, int type, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, PHP_ATTR_FMT_OFFSET + 3, PHP_ATTR_FMT_OFFSET + 4); PHPAPI void php_error_docref1(const char *docref TSRMLS_DC, const char *param1, int type, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, PHP_ATTR_FMT_OFFSET + 4, PHP_ATTR_FMT_OFFSET + 5); PHPAPI void php_error_docref2(const char *docref TSRMLS_DC, const char *param1, const char *param2, int type, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, PHP_ATTR_FMT_OFFSET + 5, PHP_ATTR_FMT_OFFSET + 6); #ifdef PHP_WIN32 PHPAPI void php_win32_docref2_from_error(DWORD error, const char *param1, const char *param2 TSRMLS_DC); #endif END_EXTERN_C() #define php_error_docref php_error_docref0 #define zenderror phperror #define zendlex phplex #define phpparse zendparse #define phprestart zendrestart #define phpin zendin #define php_memnstr zend_memnstr /* functions */ BEGIN_EXTERN_C() PHPAPI extern int (*php_register_internal_extensions_func)(TSRMLS_D); PHPAPI int php_register_internal_extensions(TSRMLS_D); PHPAPI int php_mergesort(void *base, size_t nmemb, register size_t size, int (*cmp)(const void *, const void * TSRMLS_DC) TSRMLS_DC); PHPAPI void php_register_pre_request_shutdown(void (*func)(void *), void *userdata); PHPAPI void php_com_initialize(TSRMLS_D); END_EXTERN_C() /* PHP-named Zend macro wrappers */ #define PHP_FN ZEND_FN #define PHP_MN ZEND_MN #define PHP_NAMED_FUNCTION ZEND_NAMED_FUNCTION #define PHP_FUNCTION ZEND_FUNCTION #define PHP_METHOD ZEND_METHOD #define PHP_RAW_NAMED_FE ZEND_RAW_NAMED_FE #define PHP_NAMED_FE ZEND_NAMED_FE #define PHP_FE ZEND_FE #define PHP_DEP_FE ZEND_DEP_FE #define PHP_FALIAS ZEND_FALIAS #define PHP_DEP_FALIAS ZEND_DEP_FALIAS #define PHP_ME ZEND_ME #define PHP_MALIAS ZEND_MALIAS #define PHP_ABSTRACT_ME ZEND_ABSTRACT_ME #define PHP_ME_MAPPING ZEND_ME_MAPPING #define PHP_MODULE_STARTUP_N ZEND_MODULE_STARTUP_N #define PHP_MODULE_SHUTDOWN_N ZEND_MODULE_SHUTDOWN_N #define PHP_MODULE_ACTIVATE_N ZEND_MODULE_ACTIVATE_N #define PHP_MODULE_DEACTIVATE_N ZEND_MODULE_DEACTIVATE_N #define PHP_MODULE_INFO_N ZEND_MODULE_INFO_N #define PHP_MODULE_STARTUP_D ZEND_MODULE_STARTUP_D #define PHP_MODULE_SHUTDOWN_D ZEND_MODULE_SHUTDOWN_D #define PHP_MODULE_ACTIVATE_D ZEND_MODULE_ACTIVATE_D #define PHP_MODULE_DEACTIVATE_D ZEND_MODULE_DEACTIVATE_D #define PHP_MODULE_INFO_D ZEND_MODULE_INFO_D /* Compatibility macros */ #define PHP_MINIT ZEND_MODULE_STARTUP_N #define PHP_MSHUTDOWN ZEND_MODULE_SHUTDOWN_N #define PHP_RINIT ZEND_MODULE_ACTIVATE_N #define PHP_RSHUTDOWN ZEND_MODULE_DEACTIVATE_N #define PHP_MINFO ZEND_MODULE_INFO_N #define PHP_GINIT ZEND_GINIT #define PHP_GSHUTDOWN ZEND_GSHUTDOWN #define PHP_MINIT_FUNCTION ZEND_MODULE_STARTUP_D #define PHP_MSHUTDOWN_FUNCTION ZEND_MODULE_SHUTDOWN_D #define PHP_RINIT_FUNCTION ZEND_MODULE_ACTIVATE_D #define PHP_RSHUTDOWN_FUNCTION ZEND_MODULE_DEACTIVATE_D #define PHP_MINFO_FUNCTION ZEND_MODULE_INFO_D #define PHP_GINIT_FUNCTION ZEND_GINIT_FUNCTION #define PHP_GSHUTDOWN_FUNCTION ZEND_GSHUTDOWN_FUNCTION #define PHP_MODULE_GLOBALS ZEND_MODULE_GLOBALS /* Output support */ #include "main/php_output.h" #define PHPWRITE(str, str_len) php_body_write((str), (str_len) TSRMLS_CC) #define PUTS(str) do { \ const char *__str = (str); \ php_body_write(__str, strlen(__str) TSRMLS_CC); \ } while (0) #define PUTC(c) (php_body_write(&(c), 1 TSRMLS_CC), (c)) #define PHPWRITE_H(str, str_len) php_header_write((str), (str_len) TSRMLS_CC) #define PUTS_H(str) do { \ const char *__str = (str); \ php_header_write(__str, strlen(__str) TSRMLS_CC); \ } while (0) #define PUTC_H(c) (php_header_write(&(c), 1 TSRMLS_CC), (c)) #include "php_streams.h" #include "php_memory_streams.h" #include "fopen_wrappers.h" /* Virtual current working directory support */ #include "tsrm_virtual_cwd.h" #include "zend_constants.h" /* connection status states */ #define PHP_CONNECTION_NORMAL 0 #define PHP_CONNECTION_ABORTED 1 #define PHP_CONNECTION_TIMEOUT 2 #include "php_reentrancy.h" /* Finding offsets of elements within structures. * Taken from the Apache code, which in turn, was taken from X code... */ #ifndef XtOffset #if defined(CRAY) || (defined(__arm) && !(defined(LINUX) || defined(__riscos__))) #ifdef __STDC__ #define XtOffset(p_type, field) _Offsetof(p_type, field) #else #ifdef CRAY2 #define XtOffset(p_type, field) \ (sizeof(int)*((unsigned int)&(((p_type)NULL)->field))) #else /* !CRAY2 */ #define XtOffset(p_type, field) ((unsigned int)&(((p_type)NULL)->field)) #endif /* !CRAY2 */ #endif /* __STDC__ */ #else /* ! (CRAY || __arm) */ #define XtOffset(p_type, field) \ ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL))) #endif /* !CRAY */ #endif /* ! XtOffset */ #ifndef XtOffsetOf #ifdef offsetof #define XtOffsetOf(s_type, field) offsetof(s_type, field) #else #define XtOffsetOf(s_type, field) XtOffset(s_type*, field) #endif #endif /* !XtOffsetOf */ #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 0707010008127c000081a40000000000000000000000014dc0faec00000edd0000010000010007ffffffffffffffff0000002a00000000root/usr/local/include/php/main/php_ini.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: php_ini.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_INI_H #define PHP_INI_H #include "zend_ini.h" BEGIN_EXTERN_C() PHPAPI void config_zval_dtor(zval *zvalue); int php_init_config(TSRMLS_D); int php_shutdown_config(void); void php_ini_register_extensions(TSRMLS_D); PHPAPI zval *cfg_get_entry(const char *name, uint name_length); PHPAPI int cfg_get_long(const char *varname, long *result); PHPAPI int cfg_get_double(const char *varname, double *result); PHPAPI int cfg_get_string(const char *varname, char **result); PHPAPI int php_parse_user_ini_file(const char *dirname, char *ini_filename, HashTable *target_hash TSRMLS_DC); PHPAPI void php_ini_activate_config(HashTable *source_hash, int modify_type, int stage TSRMLS_DC); PHPAPI int php_ini_has_per_dir_config(void); PHPAPI int php_ini_has_per_host_config(void); PHPAPI void php_ini_activate_per_dir_config(char *path, uint path_len TSRMLS_DC); PHPAPI void php_ini_activate_per_host_config(const char *host, uint host_len TSRMLS_DC); PHPAPI HashTable* php_ini_get_configuration_hash(void); END_EXTERN_C() #define PHP_INI_USER ZEND_INI_USER #define PHP_INI_PERDIR ZEND_INI_PERDIR #define PHP_INI_SYSTEM ZEND_INI_SYSTEM #define PHP_INI_ALL ZEND_INI_ALL #define php_ini_entry zend_ini_entry #define PHP_INI_MH ZEND_INI_MH #define PHP_INI_DISP ZEND_INI_DISP #define PHP_INI_BEGIN ZEND_INI_BEGIN #define PHP_INI_END ZEND_INI_END #define PHP_INI_ENTRY3_EX ZEND_INI_ENTRY3_EX #define PHP_INI_ENTRY3 ZEND_INI_ENTRY3 #define PHP_INI_ENTRY2_EX ZEND_INI_ENTRY2_EX #define PHP_INI_ENTRY2 ZEND_INI_ENTRY2 #define PHP_INI_ENTRY1_EX ZEND_INI_ENTRY1_EX #define PHP_INI_ENTRY1 ZEND_INI_ENTRY1 #define PHP_INI_ENTRY_EX ZEND_INI_ENTRY_EX #define PHP_INI_ENTRY ZEND_INI_ENTRY #define STD_PHP_INI_ENTRY STD_ZEND_INI_ENTRY #define STD_PHP_INI_ENTRY_EX STD_ZEND_INI_ENTRY_EX #define STD_PHP_INI_BOOLEAN STD_ZEND_INI_BOOLEAN #define PHP_INI_DISPLAY_ORIG ZEND_INI_DISPLAY_ORIG #define PHP_INI_DISPLAY_ACTIVE ZEND_INI_DISPLAY_ACTIVE #define PHP_INI_STAGE_STARTUP ZEND_INI_STAGE_STARTUP #define PHP_INI_STAGE_SHUTDOWN ZEND_INI_STAGE_SHUTDOWN #define PHP_INI_STAGE_ACTIVATE ZEND_INI_STAGE_ACTIVATE #define PHP_INI_STAGE_DEACTIVATE ZEND_INI_STAGE_DEACTIVATE #define PHP_INI_STAGE_RUNTIME ZEND_INI_STAGE_RUNTIME #define PHP_INI_STAGE_HTACCESS ZEND_INI_STAGE_HTACCESS #define php_ini_boolean_displayer_cb zend_ini_boolean_displayer_cb #define php_ini_color_displayer_cb zend_ini_color_displayer_cb #define php_alter_ini_entry zend_alter_ini_entry #define php_ini_long zend_ini_long #define php_ini_double zend_ini_double #define php_ini_string zend_ini_string #endif /* PHP_INI_H */ 07070100081272000081a40000000000000000000000014dc0faec000013f00000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/main/build-defs.h/* -*- C -*- +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2007 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken | +----------------------------------------------------------------------+ */ /* $Id: build-defs.h.in 292156 2009-12-15 11:17:47Z jani $ */ #define CONFIGURE_COMMAND " './configure' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache.httpd.2.2.16/bin/apxs' '--x-includes=/usr/local/include' '--x-libraries=/usr/local/lib' '--with-libxml-dir=/usr/local' '--with-openssl=/usr/local' '--with-kerberos=/usr/local' '--with-pcre-regex=/usr/local' '--with-zlib=/usr/local' '--with-zlib-dir=/usr/local' '--with-bz2=/usr/local' '--with-curl=/usr/local' '--with-curlwrappers' '--with-gdbm=/usr/local' '--with-db4=/usr/local' '--with-gd' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local' '--with-xpm-dir=/usr/local' '--with-freetype-dir=/usr/local' '--with-gettext=/usr/local' '--with-iconv' '--with-iconv-dir=/usr/local' '--with-ldap=/usr/local' '--with-mcrypt=/usr/local' '--with-mysql=/usr/local/mysql' '--with-iodbc=/usr/local' '--with-unixODBC' '--with-readline=/usr/local' '--with-xsl=/usr/local' '--enable-soap' '--enable-sockets' '--enable-zip'" #define PHP_ADA_INCLUDE "" #define PHP_ADA_LFLAGS "" #define PHP_ADA_LIBS "" #define PHP_APACHE_INCLUDE "" #define PHP_APACHE_TARGET "" #define PHP_FHTTPD_INCLUDE "" #define PHP_FHTTPD_LIB "" #define PHP_FHTTPD_TARGET "" #define PHP_CFLAGS "$(CFLAGS_CLEAN) " #define PHP_DBASE_LIB "" #define PHP_BUILD_DEBUG "" #define PHP_GDBM_INCLUDE "" #define PHP_IBASE_INCLUDE "" #define PHP_IBASE_LFLAGS "" #define PHP_IBASE_LIBS "" #define PHP_IFX_INCLUDE "" #define PHP_IFX_LFLAGS "" #define PHP_IFX_LIBS "" #define PHP_INSTALL_IT "$(mkinstalldirs) '$(INSTALL_ROOT)/usr/local/apache.httpd.2.2.16/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/usr/local/apache.httpd.2.2.16/conf' && /usr/local/apache.httpd.2.2.16/bin/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/local/apache.httpd.2.2.16/modules' -S SYSCONFDIR='$(INSTALL_ROOT)/usr/local/apache.httpd.2.2.16/conf' -i -a -n php5 libphp5.la" #define PHP_IODBC_INCLUDE "" #define PHP_IODBC_LFLAGS "" #define PHP_IODBC_LIBS "" #define PHP_MSQL_INCLUDE "" #define PHP_MSQL_LFLAGS "" #define PHP_MSQL_LIBS "" #define PHP_MYSQL_INCLUDE "-I/usr/local/mysql/include" #define PHP_MYSQL_LIBS "-L/usr/local/mysql/lib -lmysqlclient " #define PHP_MYSQL_TYPE "external" #define PHP_ODBC_INCLUDE "-I/usr/local/include" #define PHP_ODBC_LFLAGS "-L/usr/local/lib" #define PHP_ODBC_LIBS "-liodbc" #define PHP_ODBC_TYPE "iodbc" #define PHP_OCI8_SHARED_LIBADD "" #define PHP_OCI8_DIR "" #define PHP_OCI8_ORACLE_VERSION "" #define PHP_ORACLE_SHARED_LIBADD "@ORACLE_SHARED_LIBADD@" #define PHP_ORACLE_DIR "@ORACLE_DIR@" #define PHP_ORACLE_VERSION "@ORACLE_VERSION@" #define PHP_PGSQL_INCLUDE "" #define PHP_PGSQL_LFLAGS "" #define PHP_PGSQL_LIBS "" #define PHP_PROG_SENDMAIL "/usr/sbin/sendmail" #define PHP_SOLID_INCLUDE "" #define PHP_SOLID_LIBS "" #define PHP_EMPRESS_INCLUDE "" #define PHP_EMPRESS_LIBS "" #define PHP_SYBASE_INCLUDE "" #define PHP_SYBASE_LFLAGS "" #define PHP_SYBASE_LIBS "" #define PHP_DBM_TYPE "" #define PHP_DBM_LIB "" #define PHP_LDAP_LFLAGS "" #define PHP_LDAP_INCLUDE "" #define PHP_LDAP_LIBS "" #define PHP_BIRDSTEP_INCLUDE "" #define PHP_BIRDSTEP_LIBS "" #define PEAR_INSTALLDIR "/usr/local/lib/php" #define PHP_INCLUDE_PATH ".:/usr/local/lib/php" #define PHP_EXTENSION_DIR "/usr/local/lib/php/extensions/no-debug-non-zts-20090626" #define PHP_PREFIX "/usr/local" #define PHP_BINDIR "/usr/local/bin" #define PHP_SBINDIR "/usr/local/sbin" #define PHP_LIBDIR "/usr/local/lib/php" #define PHP_DATADIR "/usr/local/share/php" #define PHP_SYSCONFDIR "/usr/local/etc" #define PHP_LOCALSTATEDIR "/usr/local/var" #define PHP_CONFIG_FILE_PATH "/usr/local/lib" #define PHP_CONFIG_FILE_SCAN_DIR "" #define PHP_SHLIB_SUFFIX "so" 07070100081271000081a40000000000000000000000014dc0faec0000264c0000010000010007ffffffffffffffff0000002700000000root/usr/local/include/php/main/SAPI.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: SAPI.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SAPI_H #define SAPI_H #include "zend.h" #include "zend_API.h" #include "zend_llist.h" #include "zend_operators.h" #ifdef PHP_WIN32 #include "win95nt.h" #endif #include #define SAPI_OPTION_NO_CHDIR 1 #define SAPI_POST_BLOCK_SIZE 4000 #ifdef PHP_WIN32 # ifdef SAPI_EXPORTS # define SAPI_API __declspec(dllexport) # else # define SAPI_API __declspec(dllimport) # endif #elif defined(__GNUC__) && __GNUC__ >= 4 # define SAPI_API __attribute__ ((visibility("default"))) #else # define SAPI_API #endif #undef shutdown typedef struct { char *header; uint header_len; } sapi_header_struct; typedef struct { zend_llist headers; int http_response_code; unsigned char send_default_content_type; char *mimetype; char *http_status_line; } sapi_headers_struct; typedef struct _sapi_post_entry sapi_post_entry; typedef struct _sapi_module_struct sapi_module_struct; BEGIN_EXTERN_C() extern SAPI_API sapi_module_struct sapi_module; /* true global */ END_EXTERN_C() /* Some values in this structure needs to be filled in before * calling sapi_activate(). We WILL change the `char *' entries, * so make sure that you allocate a separate buffer for them * and that you free them after sapi_deactivate(). */ typedef struct { const char *request_method; char *query_string; char *post_data, *raw_post_data; char *cookie_data; long content_length; uint post_data_length, raw_post_data_length; char *path_translated; char *request_uri; const char *content_type; zend_bool headers_only; zend_bool no_headers; zend_bool headers_read; sapi_post_entry *post_entry; char *content_type_dup; /* for HTTP authentication */ char *auth_user; char *auth_password; char *auth_digest; /* this is necessary for the CGI SAPI module */ char *argv0; /* this is necessary for Safe Mode */ char *current_user; int current_user_length; /* this is necessary for CLI module */ int argc; char **argv; int proto_num; } sapi_request_info; typedef struct _sapi_globals_struct { void *server_context; sapi_request_info request_info; sapi_headers_struct sapi_headers; int read_post_bytes; unsigned char headers_sent; struct stat global_stat; char *default_mimetype; char *default_charset; HashTable *rfc1867_uploaded_files; long post_max_size; int options; zend_bool sapi_started; time_t global_request_time; HashTable known_post_content_types; } sapi_globals_struct; BEGIN_EXTERN_C() #ifdef ZTS # define SG(v) TSRMG(sapi_globals_id, sapi_globals_struct *, v) SAPI_API extern int sapi_globals_id; #else # define SG(v) (sapi_globals.v) extern SAPI_API sapi_globals_struct sapi_globals; #endif SAPI_API void sapi_startup(sapi_module_struct *sf); SAPI_API void sapi_shutdown(void); SAPI_API void sapi_activate(TSRMLS_D); SAPI_API void sapi_deactivate(TSRMLS_D); SAPI_API void sapi_initialize_empty_request(TSRMLS_D); END_EXTERN_C() /* * This is the preferred and maintained API for * operating on HTTP headers. */ /* * Always specify a sapi_header_line this way: * * sapi_header_line ctr = {0}; */ typedef struct { char *line; /* If you allocated this, you need to free it yourself */ uint line_len; long response_code; /* long due to zend_parse_parameters compatibility */ } sapi_header_line; typedef enum { /* Parameter: */ SAPI_HEADER_REPLACE, /* sapi_header_line* */ SAPI_HEADER_ADD, /* sapi_header_line* */ SAPI_HEADER_DELETE, /* sapi_header_line* */ SAPI_HEADER_DELETE_ALL, /* void */ SAPI_HEADER_SET_STATUS /* int */ } sapi_header_op_enum; BEGIN_EXTERN_C() SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC); /* Deprecated functions. Use sapi_header_op instead. */ SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bool duplicate, zend_bool replace TSRMLS_DC); #define sapi_add_header(a, b, c) sapi_add_header_ex((a),(b),(c),1 TSRMLS_CC) SAPI_API int sapi_send_headers(TSRMLS_D); SAPI_API void sapi_free_header(sapi_header_struct *sapi_header); SAPI_API void sapi_handle_post(void *arg TSRMLS_DC); SAPI_API int sapi_register_post_entries(sapi_post_entry *post_entry TSRMLS_DC); SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry TSRMLS_DC); SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry TSRMLS_DC); SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(TSRMLS_D)); SAPI_API int sapi_register_treat_data(void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC)); SAPI_API int sapi_register_input_filter(unsigned int (*input_filter)(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC), unsigned int (*input_filter_init)(TSRMLS_D)); SAPI_API int sapi_flush(TSRMLS_D); SAPI_API struct stat *sapi_get_stat(TSRMLS_D); SAPI_API char *sapi_getenv(char *name, size_t name_len TSRMLS_DC); SAPI_API char *sapi_get_default_content_type(TSRMLS_D); SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_header TSRMLS_DC); SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len TSRMLS_DC); SAPI_API void sapi_activate_headers_only(TSRMLS_D); SAPI_API int sapi_get_fd(int *fd TSRMLS_DC); SAPI_API int sapi_force_http_10(TSRMLS_D); SAPI_API int sapi_get_target_uid(uid_t * TSRMLS_DC); SAPI_API int sapi_get_target_gid(gid_t * TSRMLS_DC); SAPI_API time_t sapi_get_request_time(TSRMLS_D); SAPI_API void sapi_terminate_process(TSRMLS_D); END_EXTERN_C() struct _sapi_module_struct { char *name; char *pretty_name; int (*startup)(struct _sapi_module_struct *sapi_module); int (*shutdown)(struct _sapi_module_struct *sapi_module); int (*activate)(TSRMLS_D); int (*deactivate)(TSRMLS_D); int (*ub_write)(const char *str, unsigned int str_length TSRMLS_DC); void (*flush)(void *server_context); struct stat *(*get_stat)(TSRMLS_D); char *(*getenv)(char *name, size_t name_len TSRMLS_DC); void (*sapi_error)(int type, const char *error_msg, ...); int (*header_handler)(sapi_header_struct *sapi_header, sapi_header_op_enum op, sapi_headers_struct *sapi_headers TSRMLS_DC); int (*send_headers)(sapi_headers_struct *sapi_headers TSRMLS_DC); void (*send_header)(sapi_header_struct *sapi_header, void *server_context TSRMLS_DC); int (*read_post)(char *buffer, uint count_bytes TSRMLS_DC); char *(*read_cookies)(TSRMLS_D); void (*register_server_variables)(zval *track_vars_array TSRMLS_DC); void (*log_message)(char *message); time_t (*get_request_time)(TSRMLS_D); void (*terminate_process)(TSRMLS_D); char *php_ini_path_override; void (*block_interruptions)(void); void (*unblock_interruptions)(void); void (*default_post_reader)(TSRMLS_D); void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC); char *executable_location; int php_ini_ignore; int (*get_fd)(int *fd TSRMLS_DC); int (*force_http_10)(TSRMLS_D); int (*get_target_uid)(uid_t * TSRMLS_DC); int (*get_target_gid)(gid_t * TSRMLS_DC); unsigned int (*input_filter)(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC); void (*ini_defaults)(HashTable *configuration_hash); int phpinfo_as_text; char *ini_entries; const zend_function_entry *additional_functions; unsigned int (*input_filter_init)(TSRMLS_D); }; struct _sapi_post_entry { char *content_type; uint content_type_len; void (*post_reader)(TSRMLS_D); void (*post_handler)(char *content_type_dup, void *arg TSRMLS_DC); }; /* header_handler() constants */ #define SAPI_HEADER_ADD (1<<0) #define SAPI_HEADER_SENT_SUCCESSFULLY 1 #define SAPI_HEADER_DO_SEND 2 #define SAPI_HEADER_SEND_FAILED 3 #define SAPI_DEFAULT_MIMETYPE "text/html" #define SAPI_DEFAULT_CHARSET "" #define SAPI_PHP_VERSION_HEADER "X-Powered-By: PHP/" PHP_VERSION #define SAPI_POST_READER_FUNC(post_reader) void post_reader(TSRMLS_D) #define SAPI_POST_HANDLER_FUNC(post_handler) void post_handler(char *content_type_dup, void *arg TSRMLS_DC) #define SAPI_TREAT_DATA_FUNC(treat_data) void treat_data(int arg, char *str, zval* destArray TSRMLS_DC) #define SAPI_INPUT_FILTER_FUNC(input_filter) unsigned int input_filter(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC) BEGIN_EXTERN_C() SAPI_API SAPI_POST_READER_FUNC(sapi_read_standard_form_data); SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader); SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data); SAPI_API SAPI_INPUT_FILTER_FUNC(php_default_input_filter); END_EXTERN_C() #define STANDARD_SAPI_MODULE_PROPERTIES #endif /* SAPI_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 070701000811d0000041ed0000000000000000000000144dc22385000000000000010000010007ffffffffffffffff0000001f00000000root/usr/local/include/php/ext07070100081210000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002600000000root/usr/local/include/php/ext/libxml07070100081211000081a40000000000000000000000014dc0fad7000011360000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/libxml/php_libxml.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Shane Caraveo | | Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: php_libxml.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_LIBXML_H #define PHP_LIBXML_H #if HAVE_LIBXML extern zend_module_entry libxml_module_entry; #define libxml_module_ptr &libxml_module_entry #ifdef PHP_WIN32 # define PHP_LIBXML_API __declspec(dllexport) #elif defined(__GNUC__) && __GNUC__ >= 4 # define PHP_LIBXML_API __attribute__ ((visibility("default"))) #else # define PHP_LIBXML_API #endif #include "ext/standard/php_smart_str.h" #include #define LIBXML_SAVE_NOEMPTYTAG 1<<2 ZEND_BEGIN_MODULE_GLOBALS(libxml) zval *stream_context; smart_str error_buffer; zend_llist *error_list; ZEND_END_MODULE_GLOBALS(libxml) typedef struct _libxml_doc_props { int formatoutput; int validateonparse; int resolveexternals; int preservewhitespace; int substituteentities; int stricterror; int recover; HashTable *classmap; } libxml_doc_props; typedef struct _php_libxml_ref_obj { void *ptr; int refcount; libxml_doc_props *doc_props; } php_libxml_ref_obj; typedef struct _php_libxml_node_ptr { xmlNodePtr node; int refcount; void *_private; } php_libxml_node_ptr; typedef struct _php_libxml_node_object { zend_object std; php_libxml_node_ptr *node; php_libxml_ref_obj *document; HashTable *properties; } php_libxml_node_object; typedef void * (*php_libxml_export_node) (zval *object TSRMLS_DC); PHP_LIBXML_API int php_libxml_increment_node_ptr(php_libxml_node_object *object, xmlNodePtr node, void *private_data TSRMLS_DC); PHP_LIBXML_API int php_libxml_decrement_node_ptr(php_libxml_node_object *object TSRMLS_DC); PHP_LIBXML_API int php_libxml_increment_doc_ref(php_libxml_node_object *object, xmlDocPtr docp TSRMLS_DC); PHP_LIBXML_API int php_libxml_decrement_doc_ref(php_libxml_node_object *object TSRMLS_DC); PHP_LIBXML_API xmlNodePtr php_libxml_import_node(zval *object TSRMLS_DC); PHP_LIBXML_API int php_libxml_register_export(zend_class_entry *ce, php_libxml_export_node export_function); /* When an explicit freeing of node and children is required */ PHP_LIBXML_API void php_libxml_node_free_resource(xmlNodePtr node TSRMLS_DC); /* When object dtor is called as node may still be referenced */ PHP_LIBXML_API void php_libxml_node_decrement_resource(php_libxml_node_object *object TSRMLS_DC); PHP_LIBXML_API void php_libxml_error_handler(void *ctx, const char *msg, ...); PHP_LIBXML_API void php_libxml_ctx_warning(void *ctx, const char *msg, ...); PHP_LIBXML_API void php_libxml_ctx_error(void *ctx, const char *msg, ...); PHP_LIBXML_API int php_libxml_xmlCheckUTF8(const unsigned char *s); PHP_LIBXML_API zval *php_libxml_switch_context(zval *context TSRMLS_DC); PHP_LIBXML_API void php_libxml_issue_error(int level, const char *msg TSRMLS_DC); /* Init/shutdown functions*/ PHP_LIBXML_API void php_libxml_initialize(void); PHP_LIBXML_API void php_libxml_shutdown(void); #ifdef ZTS #define LIBXML(v) TSRMG(libxml_globals_id, zend_libxml_globals *, v) #else #define LIBXML(v) (libxml_globals.v) #endif #else /* HAVE_LIBXML */ #define libxml_module_ptr NULL #endif #define phpext_libxml_ptr libxml_module_ptr #endif /* PHP_LIBXML_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081203000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002500000000root/usr/local/include/php/ext/iconv0707010008120c000081a40000000000000000000000014dc0fadd000000360000010000010007ffffffffffffffff0000003c00000000root/usr/local/include/php/ext/iconv/php_php_iconv_h_path.h#define PHP_ICONV_H_PATH 07070100081209000081a40000000000000000000000014dc0fadd000010350000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/ext/iconv/php_iconv.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rui Hirokawa | | Stig Bakken | +----------------------------------------------------------------------+ */ /* $Revision: 306939 $ */ #ifndef PHP_ICONV_H #define PHP_ICONV_H #ifdef PHP_WIN32 # ifdef PHP_ICONV_EXPORTS # define PHP_ICONV_API __declspec(dllexport) # else # define PHP_ICONV_API __declspec(dllimport) # endif #elif defined(__GNUC__) && __GNUC__ >= 4 # define PHP_ICONV_API __attribute__ ((visibility("default"))) #else # define PHP_ICONV_API #endif #ifdef PHP_ATOM_INC #include "ext/iconv/php_have_iconv.h" #include "ext/iconv/php_have_libiconv.h" #include "ext/iconv/php_iconv_aliased_libiconv.h" #include "ext/iconv/php_have_glibc_iconv.h" #include "ext/iconv/php_have_bsd_iconv.h" #include "ext/iconv/php_have_ibm_iconv.h" #include "ext/iconv/php_iconv_supports_errno.h" #include "ext/iconv/php_php_iconv_impl.h" #include "ext/iconv/php_php_iconv_h_path.h" #endif #ifdef HAVE_ICONV extern zend_module_entry iconv_module_entry; #define iconv_module_ptr &iconv_module_entry PHP_MINIT_FUNCTION(miconv); PHP_MSHUTDOWN_FUNCTION(miconv); PHP_MINFO_FUNCTION(miconv); PHP_NAMED_FUNCTION(php_if_iconv); PHP_FUNCTION(ob_iconv_handler); PHP_FUNCTION(iconv_get_encoding); PHP_FUNCTION(iconv_set_encoding); PHP_FUNCTION(iconv_strlen); PHP_FUNCTION(iconv_substr); PHP_FUNCTION(iconv_strpos); PHP_FUNCTION(iconv_strrpos); PHP_FUNCTION(iconv_mime_encode); PHP_FUNCTION(iconv_mime_decode); PHP_FUNCTION(iconv_mime_decode_headers); ZEND_BEGIN_MODULE_GLOBALS(iconv) char *input_encoding; char *internal_encoding; char *output_encoding; ZEND_END_MODULE_GLOBALS(iconv) #ifdef ZTS # define ICONVG(v) TSRMG(iconv_globals_id, zend_iconv_globals *, v) #else # define ICONVG(v) (iconv_globals.v) #endif #ifdef HAVE_IBM_ICONV # define ICONV_INPUT_ENCODING "ISO8859-1" # define ICONV_OUTPUT_ENCODING "ISO8859-1" # define ICONV_INTERNAL_ENCODING "ISO8859-1" # define ICONV_ASCII_ENCODING "IBM-850" # define ICONV_UCS4_ENCODING "UCS-4" #else # define ICONV_INPUT_ENCODING "ISO-8859-1" # define ICONV_OUTPUT_ENCODING "ISO-8859-1" # define ICONV_INTERNAL_ENCODING "ISO-8859-1" # define ICONV_ASCII_ENCODING "ASCII" # define ICONV_UCS4_ENCODING "UCS-4LE" #endif #ifndef ICONV_CSNMAXLEN #define ICONV_CSNMAXLEN 64 #endif /* {{{ typedef enum php_iconv_err_t */ typedef enum _php_iconv_err_t { PHP_ICONV_ERR_SUCCESS = SUCCESS, PHP_ICONV_ERR_CONVERTER = 1, PHP_ICONV_ERR_WRONG_CHARSET = 2, PHP_ICONV_ERR_TOO_BIG = 3, PHP_ICONV_ERR_ILLEGAL_SEQ = 4, PHP_ICONV_ERR_ILLEGAL_CHAR = 5, PHP_ICONV_ERR_UNKNOWN = 6, PHP_ICONV_ERR_MALFORMED = 7, PHP_ICONV_ERR_ALLOC = 8 } php_iconv_err_t; /* }}} */ PHP_ICONV_API php_iconv_err_t php_iconv_string(const char * in_p, size_t in_len, char **out, size_t *out_len, const char *out_charset, const char *in_charset); #else #define iconv_module_ptr NULL #endif /* HAVE_ICONV */ #define phpext_iconv_ptr iconv_module_ptr #endif /* PHP_ICONV_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081205000081a40000000000000000000000014dc0fadc000000010000010000010007ffffffffffffffff0000003c00000000root/usr/local/include/php/ext/iconv/php_have_glibc_iconv.h 07070100081208000081a40000000000000000000000014dc0fadc000000010000010000010007ffffffffffffffff0000003900000000root/usr/local/include/php/ext/iconv/php_have_libiconv.h 0707010008120a000081a40000000000000000000000014dc0fadd000000010000010000010007ffffffffffffffff0000004200000000root/usr/local/include/php/ext/iconv/php_iconv_aliased_libiconv.h 0707010008120b000081a40000000000000000000000014dc0fadd0000001f0000010000010007ffffffffffffffff0000004000000000root/usr/local/include/php/ext/iconv/php_iconv_supports_errno.h#define ICONV_SUPPORTS_ERRNO 1 07070100081206000081a40000000000000000000000014dc0fadc000000010000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/ext/iconv/php_have_ibm_iconv.h 07070100081207000081a40000000000000000000000014dc0fadc000000150000010000010007ffffffffffffffff0000003600000000root/usr/local/include/php/ext/iconv/php_have_iconv.h#define HAVE_ICONV 1 07070100081204000081a40000000000000000000000014dc0fadc000000010000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/ext/iconv/php_have_bsd_iconv.h 0707010008120d000081a40000000000000000000000014dc0fadd000000010000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/ext/iconv/php_php_iconv_impl.h 0707010008120e000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002400000000root/usr/local/include/php/ext/json0707010008120f000081a40000000000000000000000014dc0fadd000009680000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/json/php_json.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Omar Kilani | +----------------------------------------------------------------------+ */ /* $Id: php_json.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_JSON_H #define PHP_JSON_H #define PHP_JSON_VERSION "1.2.1" #include "ext/standard/php_smart_str.h" extern zend_module_entry json_module_entry; #define phpext_json_ptr &json_module_entry #if defined(PHP_WIN32) && defined(JSON_EXPORTS) #define PHP_JSON_API __declspec(dllexport) #else #define PHP_JSON_API PHPAPI #endif #ifdef ZTS #include "TSRM.h" #endif ZEND_BEGIN_MODULE_GLOBALS(json) int error_code; ZEND_END_MODULE_GLOBALS(json) #ifdef ZTS # define JSON_G(v) TSRMG(json_globals_id, zend_json_globals *, v) #else # define JSON_G(v) (json_globals.v) #endif PHP_JSON_API void php_json_encode(smart_str *buf, zval *val, int options TSRMLS_DC); PHP_JSON_API void php_json_decode(zval *return_value, char *str, int str_len, zend_bool assoc, long depth TSRMLS_DC); #define PHP_JSON_HEX_TAG (1<<0) #define PHP_JSON_HEX_AMP (1<<1) #define PHP_JSON_HEX_APOS (1<<2) #define PHP_JSON_HEX_QUOT (1<<3) #define PHP_JSON_FORCE_OBJECT (1<<4) #define PHP_JSON_NUMERIC_CHECK (1<<5) #define PHP_JSON_OUTPUT_ARRAY 0 #define PHP_JSON_OUTPUT_OBJECT 1 #endif /* PHP_JSON_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ 070701000811e4000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000002200000000root/usr/local/include/php/ext/gd070701000811e6000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002800000000root/usr/local/include/php/ext/gd/libgd070701000811f1000081a40000000000000000000000014dc0fad9000005470000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/gd/libgd/gdhelpers.h#ifndef GDHELPERS_H #define GDHELPERS_H 1 #include #include "php.h" /* TBB: strtok_r is not universal; provide an implementation of it. */ extern char *gd_strtok_r(char *s, char *sep, char **state); /* These functions wrap memory management. gdFree is in gd.h, where callers can utilize it to correctly free memory allocated by these functions with the right version of free(). */ #define gdCalloc(nmemb, size) ecalloc(nmemb, size) #define gdMalloc(size) emalloc(size) #define gdRealloc(ptr, size) erealloc(ptr, size) #define gdEstrdup(ptr) estrdup(ptr) #define gdFree(ptr) efree(ptr) #define gdPMalloc(ptr) pemalloc(ptr, 1) #define gdPFree(ptr) pefree(ptr, 1) #define gdPEstrdup(ptr) pestrdup(ptr, 1) /* Returns nonzero if multiplying the two quantities will result in integer overflow. Also returns nonzero if either quantity is negative. By Phil Knirsch based on netpbm fixes by Alan Cox. */ int overflow2(int a, int b); #ifdef ZTS #define gdMutexDeclare(x) MUTEX_T x #define gdMutexSetup(x) x = tsrm_mutex_alloc() #define gdMutexShutdown(x) tsrm_mutex_free(x) #define gdMutexLock(x) tsrm_mutex_lock(x) #define gdMutexUnlock(x) tsrm_mutex_unlock(x) #else #define gdMutexDeclare(x) #define gdMutexSetup(x) #define gdMutexShutdown(x) #define gdMutexLock(x) #define gdMutexUnlock(x) #endif #endif /* GDHELPERS_H */ 070701000811e8000081a40000000000000000000000014dc0fad9000006e20000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/gd/libgd/gd_compat.h#ifndef GD_COMPAT_H #define GD_COMPAT_H 1 #if HAVE_GD_BUNDLED # include "gd.h" #else # include #endif const char * gdPngGetVersionString(); const char * gdJpegGetVersionString(); int gdJpegGetVersionInt(); int overflow2(int a, int b); /* filters section * * Negate the imag src, white becomes black, * The red, green, and blue intensities of an image are negated. * White becomes black, yellow becomes blue, etc. */ int gdImageNegate(gdImagePtr src); /* Convert the image src to a grayscale image */ int gdImageGrayScale(gdImagePtr src); /* Set the brightness level for the image src */ int gdImageBrightness(gdImagePtr src, int brightness); /* Set the contrast level for the image */ int gdImageContrast(gdImagePtr src, double contrast); /* Simply adds or substracts respectively red, green or blue to a pixel */ int gdImageColor(gdImagePtr src, const int red, const int green, const int blue, const int alpha); /* Image convolution by a 3x3 custom matrix */ int gdImageConvolution(gdImagePtr src, float ft[3][3], float filter_div, float offset); int gdImageEdgeDetectQuick(gdImagePtr src); int gdImageGaussianBlur(gdImagePtr im); int gdImageSelectiveBlur( gdImagePtr src); int gdImageEmboss(gdImagePtr im); int gdImageMeanRemoval(gdImagePtr im); int gdImageSmooth(gdImagePtr im, float weight); enum gdPixelateMode { GD_PIXELATE_UPPERLEFT, GD_PIXELATE_AVERAGE }; int gdImagePixelate(gdImagePtr im, int block_size, const unsigned int mode); #if !HAVE_GD_IMAGEELLIPSE void gdImageEllipse(gdImagePtr im, int cx, int cy, int w, int h, int c); #endif gdImagePtr gdImageRotate (gdImagePtr src, double dAngle, int clrBack, int ignoretransparent); int gdImageColorMatch (gdImagePtr im1, gdImagePtr im2); #endif 070701000811e7000081a40000000000000000000000014dc0fad9000066600000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/ext/gd/libgd/gd.h#ifndef GD_H #define GD_H 1 #ifdef __cplusplus extern "C" { #endif #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "php_compat.h" #define GD_MAJOR_VERSION 2 #define GD_MINOR_VERSION 0 #define GD_RELEASE_VERSION 35 #define GD_EXTRA_VERSION "" #define GD_VERSION_STRING "2.0.35" #ifdef NETWARE /* default fontpath for netware systems */ #define DEFAULT_FONTPATH "sys:/java/nwgfx/lib/x11/fonts/ttf;." #define PATHSEPARATOR ";" #elif defined(WIN32) /* default fontpath for windows systems */ #define DEFAULT_FONTPATH "c:\\winnt\\fonts;c:\\windows\\fonts;." #define PATHSEPARATOR ";" #else /* default fontpath for unix systems */ #define DEFAULT_FONTPATH "/usr/X11R6/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/truetype:/usr/X11R6/lib/X11/fonts/TTF:/usr/share/fonts/TrueType:/usr/share/fonts/truetype:/usr/openwin/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/Type1:." #define PATHSEPARATOR ":" #endif /* gd.h: declarations file for the graphic-draw module. * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. This software is provided "AS IS." Thomas Boutell and * Boutell.Com, Inc. disclaim all warranties, either express or implied, * including but not limited to implied warranties of merchantability and * fitness for a particular purpose, with respect to this code and accompanying * documentation. */ /* stdio is needed for file I/O. */ #include #include "gd_io.h" void php_gd_error_ex(int type, const char *format, ...); void php_gd_error(const char *format, ...); /* The maximum number of palette entries in palette-based images. In the wonderful new world of gd 2.0, you can of course have many more colors when using truecolor mode. */ #define gdMaxColors 256 /* Image type. See functions below; you will not need to change the elements directly. Use the provided macros to access sx, sy, the color table, and colorsTotal for read-only purposes. */ /* If 'truecolor' is set true, the image is truecolor; pixels are represented by integers, which must be 32 bits wide or more. True colors are repsented as follows: ARGB Where 'A' (alpha channel) occupies only the LOWER 7 BITS of the MSB. This very small loss of alpha channel resolution allows gd 2.x to keep backwards compatibility by allowing signed integers to be used to represent colors, and negative numbers to represent special cases, just as in gd 1.x. */ #define gdAlphaMax 127 #define gdAlphaOpaque 0 #define gdAlphaTransparent 127 #define gdRedMax 255 #define gdGreenMax 255 #define gdBlueMax 255 #define gdTrueColorGetAlpha(c) (((c) & 0x7F000000) >> 24) #define gdTrueColorGetRed(c) (((c) & 0xFF0000) >> 16) #define gdTrueColorGetGreen(c) (((c) & 0x00FF00) >> 8) #define gdTrueColorGetBlue(c) ((c) & 0x0000FF) #define gdEffectReplace 0 #define gdEffectAlphaBlend 1 #define gdEffectNormal 2 #define gdEffectOverlay 3 /* This function accepts truecolor pixel values only. The source color is composited with the destination color based on the alpha channel value of the source color. The resulting color is opaque. */ int gdAlphaBlend(int dest, int src); typedef struct gdImageStruct { /* Palette-based image pixels */ unsigned char ** pixels; int sx; int sy; /* These are valid in palette images only. See also 'alpha', which appears later in the structure to preserve binary backwards compatibility */ int colorsTotal; int red[gdMaxColors]; int green[gdMaxColors]; int blue[gdMaxColors]; int open[gdMaxColors]; /* For backwards compatibility, this is set to the first palette entry with 100% transparency, and is also set and reset by the gdImageColorTransparent function. Newer applications can allocate palette entries with any desired level of transparency; however, bear in mind that many viewers, notably many web browsers, fail to implement full alpha channel for PNG and provide support for full opacity or transparency only. */ int transparent; int *polyInts; int polyAllocated; struct gdImageStruct *brush; struct gdImageStruct *tile; int brushColorMap[gdMaxColors]; int tileColorMap[gdMaxColors]; int styleLength; int stylePos; int *style; int interlace; /* New in 2.0: thickness of line. Initialized to 1. */ int thick; /* New in 2.0: alpha channel for palettes. Note that only Macintosh Internet Explorer and (possibly) Netscape 6 really support multiple levels of transparency in palettes, to my knowledge, as of 2/15/01. Most common browsers will display 100% opaque and 100% transparent correctly, and do something unpredictable and/or undesirable for levels in between. TBB */ int alpha[gdMaxColors]; /* Truecolor flag and pixels. New 2.0 fields appear here at the end to minimize breakage of existing object code. */ int trueColor; int ** tpixels; /* Should alpha channel be copied, or applied, each time a pixel is drawn? This applies to truecolor images only. No attempt is made to alpha-blend in palette images, even if semitransparent palette entries exist. To do that, build your image as a truecolor image, then quantize down to 8 bits. */ int alphaBlendingFlag; /* Should antialias functions be used */ int antialias; /* Should the alpha channel of the image be saved? This affects PNG at the moment; other future formats may also have that capability. JPEG doesn't. */ int saveAlphaFlag; /* 2.0.12: anti-aliased globals */ int AA; int AA_color; int AA_dont_blend; unsigned char **AA_opacity; int AA_polygon; /* Stored and pre-computed variables for determining the perpendicular * distance from a point to the anti-aliased line being drawn: */ int AAL_x1; int AAL_y1; int AAL_x2; int AAL_y2; int AAL_Bx_Ax; int AAL_By_Ay; int AAL_LAB_2; float AAL_LAB; /* 2.0.12: simple clipping rectangle. These values must be checked for safety when set; please use gdImageSetClip */ int cx1; int cy1; int cx2; int cy2; } gdImage; typedef gdImage * gdImagePtr; typedef struct { /* # of characters in font */ int nchars; /* First character is numbered... (usually 32 = space) */ int offset; /* Character width and height */ int w; int h; /* Font data; array of characters, one row after another. Easily included in code, also easily loaded from data files. */ char *data; } gdFont; /* Text functions take these. */ typedef gdFont *gdFontPtr; /* For backwards compatibility only. Use gdImageSetStyle() for MUCH more flexible line drawing. Also see gdImageSetBrush(). */ #define gdDashSize 4 /* Special colors. */ #define gdStyled (-2) #define gdBrushed (-3) #define gdStyledBrushed (-4) #define gdTiled (-5) /* NOT the same as the transparent color index. This is used in line styles only. */ #define gdTransparent (-6) #define gdAntiAliased (-7) /* Functions to manipulate images. */ /* Creates a palette-based image (up to 256 colors). */ gdImagePtr gdImageCreate(int sx, int sy); /* An alternate name for the above (2.0). */ #define gdImageCreatePalette gdImageCreate /* Creates a truecolor image (millions of colors). */ gdImagePtr gdImageCreateTrueColor(int sx, int sy); /* Creates an image from various file types. These functions return a palette or truecolor image based on the nature of the file being loaded. Truecolor PNG stays truecolor; palette PNG stays palette-based; JPEG is always truecolor. */ gdImagePtr gdImageCreateFromPng(FILE *fd); gdImagePtr gdImageCreateFromPngCtx(gdIOCtxPtr in); gdImagePtr gdImageCreateFromWBMP(FILE *inFile); gdImagePtr gdImageCreateFromWBMPCtx(gdIOCtx *infile); gdImagePtr gdImageCreateFromJpeg(FILE *infile, int ignore_warning); gdImagePtr gdImageCreateFromJpegCtx(gdIOCtx *infile, int ignore_warning); int gdJpegGetVersionInt(); const char * gdPngGetVersionString(); int gdJpegGetVersionInt(); const char * gdJpegGetVersionString(); /* A custom data source. */ /* The source function must return -1 on error, otherwise the number of bytes fetched. 0 is EOF, not an error! */ /* context will be passed to your source function. */ typedef struct { int (*source) (void *context, char *buffer, int len); void *context; } gdSource, *gdSourcePtr; gdImagePtr gdImageCreateFromPngSource(gdSourcePtr in); gdImagePtr gdImageCreateFromGd(FILE *in); gdImagePtr gdImageCreateFromGdCtx(gdIOCtxPtr in); gdImagePtr gdImageCreateFromGd2(FILE *in); gdImagePtr gdImageCreateFromGd2Ctx(gdIOCtxPtr in); gdImagePtr gdImageCreateFromGd2Part(FILE *in, int srcx, int srcy, int w, int h); gdImagePtr gdImageCreateFromGd2PartCtx(gdIOCtxPtr in, int srcx, int srcy, int w, int h); gdImagePtr gdImageCreateFromXbm(FILE *fd); void gdImageXbmCtx(gdImagePtr image, char* file_name, int fg, gdIOCtx * out); gdImagePtr gdImageCreateFromXpm (char *filename); void gdImageDestroy(gdImagePtr im); /* Replaces or blends with the background depending on the most recent call to gdImageAlphaBlending and the alpha channel value of 'color'; default is to overwrite. Tiling and line styling are also implemented here. All other gd drawing functions pass through this call, allowing for many useful effects. */ void gdImageSetPixel(gdImagePtr im, int x, int y, int color); int gdImageGetTrueColorPixel (gdImagePtr im, int x, int y); int gdImageGetPixel(gdImagePtr im, int x, int y); void gdImageAABlend(gdImagePtr im); void gdImageLine(gdImagePtr im, int x1, int y1, int x2, int y2, int color); void gdImageAALine(gdImagePtr im, int x1, int y1, int x2, int y2, int color); /* For backwards compatibility only. Use gdImageSetStyle() for much more flexible line drawing. */ void gdImageDashedLine(gdImagePtr im, int x1, int y1, int x2, int y2, int color); /* Corners specified (not width and height). Upper left first, lower right second. */ void gdImageRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color); /* Solid bar. Upper left corner first, lower right corner second. */ void gdImageFilledRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color); void gdImageSetClip(gdImagePtr im, int x1, int y1, int x2, int y2); void gdImageGetClip(gdImagePtr im, int *x1P, int *y1P, int *x2P, int *y2P); void gdImageChar(gdImagePtr im, gdFontPtr f, int x, int y, int c, int color); void gdImageCharUp(gdImagePtr im, gdFontPtr f, int x, int y, int c, int color); void gdImageString(gdImagePtr im, gdFontPtr f, int x, int y, unsigned char *s, int color); void gdImageStringUp(gdImagePtr im, gdFontPtr f, int x, int y, unsigned char *s, int color); void gdImageString16(gdImagePtr im, gdFontPtr f, int x, int y, unsigned short *s, int color); void gdImageStringUp16(gdImagePtr im, gdFontPtr f, int x, int y, unsigned short *s, int color); /* * The following functions are required to be called prior to the * use of any sort of threads in a module load / shutdown function * respectively. */ void gdFontCacheMutexSetup(); void gdFontCacheMutexShutdown(); /* 2.0.16: for thread-safe use of gdImageStringFT and friends, * call this before allowing any thread to call gdImageStringFT. * Otherwise it is invoked by the first thread to invoke * gdImageStringFT, with a very small but real risk of a race condition. * Return 0 on success, nonzero on failure to initialize freetype. */ int gdFontCacheSetup(void); /* Optional: clean up after application is done using fonts in gdImageStringFT(). */ void gdFontCacheShutdown(void); /* Calls gdImageStringFT. Provided for backwards compatibility only. */ char *gdImageStringTTF(gdImage *im, int *brect, int fg, char *fontlist, double ptsize, double angle, int x, int y, char *string); /* FreeType 2 text output */ char *gdImageStringFT(gdImage *im, int *brect, int fg, char *fontlist, double ptsize, double angle, int x, int y, char *string); typedef struct { double linespacing; /* fine tune line spacing for '\n' */ int flags; /* Logical OR of gdFTEX_ values */ int charmap; /* TBB: 2.0.12: may be gdFTEX_Unicode, gdFTEX_Shift_JIS, or gdFTEX_Big5; when not specified, maps are searched for in the above order. */ int hdpi; int vdpi; } gdFTStringExtra, *gdFTStringExtraPtr; #define gdFTEX_LINESPACE 1 #define gdFTEX_CHARMAP 2 #define gdFTEX_RESOLUTION 4 /* These are NOT flags; set one in 'charmap' if you set the gdFTEX_CHARMAP bit in 'flags'. */ #define gdFTEX_Unicode 0 #define gdFTEX_Shift_JIS 1 #define gdFTEX_Big5 2 /* FreeType 2 text output with fine tuning */ char * gdImageStringFTEx(gdImage * im, int *brect, int fg, char * fontlist, double ptsize, double angle, int x, int y, char * string, gdFTStringExtraPtr strex); /* Point type for use in polygon drawing. */ typedef struct { int x, y; } gdPoint, *gdPointPtr; void gdImagePolygon(gdImagePtr im, gdPointPtr p, int n, int c); void gdImageFilledPolygon(gdImagePtr im, gdPointPtr p, int n, int c); /* These functions still work with truecolor images, for which they never return error. */ int gdImageColorAllocate(gdImagePtr im, int r, int g, int b); /* gd 2.0: palette entries with non-opaque transparency are permitted. */ int gdImageColorAllocateAlpha(gdImagePtr im, int r, int g, int b, int a); /* Assumes opaque is the preferred alpha channel value */ int gdImageColorClosest(gdImagePtr im, int r, int g, int b); /* Closest match taking all four parameters into account. A slightly different color with the same transparency beats the exact same color with radically different transparency */ int gdImageColorClosestAlpha(gdImagePtr im, int r, int g, int b, int a); /* An alternate method */ int gdImageColorClosestHWB(gdImagePtr im, int r, int g, int b); /* Returns exact, 100% opaque matches only */ int gdImageColorExact(gdImagePtr im, int r, int g, int b); /* Returns an exact match only, including alpha */ int gdImageColorExactAlpha(gdImagePtr im, int r, int g, int b, int a); /* Opaque only */ int gdImageColorResolve(gdImagePtr im, int r, int g, int b); /* Based on gdImageColorExactAlpha and gdImageColorClosestAlpha */ int gdImageColorResolveAlpha(gdImagePtr im, int r, int g, int b, int a); /* A simpler way to obtain an opaque truecolor value for drawing on a truecolor image. Not for use with palette images! */ #define gdTrueColor(r, g, b) (((r) << 16) + \ ((g) << 8) + \ (b)) /* Returns a truecolor value with an alpha channel component. gdAlphaMax (127, **NOT 255**) is transparent, 0 is completely opaque. */ #define gdTrueColorAlpha(r, g, b, a) (((a) << 24) + \ ((r) << 16) + \ ((g) << 8) + \ (b)) void gdImageColorDeallocate(gdImagePtr im, int color); /* Converts a truecolor image to a palette-based image, using a high-quality two-pass quantization routine which attempts to preserve alpha channel information as well as R/G/B color information when creating a palette. If ditherFlag is set, the image will be dithered to approximate colors better, at the expense of some obvious "speckling." colorsWanted can be anything up to 256. If the original source image includes photographic information or anything that came out of a JPEG, 256 is strongly recommended. Better yet, don't use this function -- write real truecolor PNGs and JPEGs. The disk space gain of conversion to palette is not great (for small images it can be negative) and the quality loss is ugly. */ gdImagePtr gdImageCreatePaletteFromTrueColor (gdImagePtr im, int ditherFlag, int colorsWanted); void gdImageTrueColorToPalette(gdImagePtr im, int ditherFlag, int colorsWanted); /* An attempt at getting the results of gdImageTrueColorToPalette to look a bit more like the original (im1 is the original and im2 is the palette version */ int gdImageColorMatch(gdImagePtr im1, gdImagePtr im2); /* Specifies a color index (if a palette image) or an RGB color (if a truecolor image) which should be considered 100% transparent. FOR TRUECOLOR IMAGES, THIS IS IGNORED IF AN ALPHA CHANNEL IS BEING SAVED. Use gdImageSaveAlpha(im, 0); to turn off the saving of a full alpha channel in a truecolor image. Note that gdImageColorTransparent is usually compatible with older browsers that do not understand full alpha channels well. TBB */ void gdImageColorTransparent(gdImagePtr im, int color); void gdImagePaletteCopy(gdImagePtr dst, gdImagePtr src); void gdImagePng(gdImagePtr im, FILE *out); void gdImagePngCtx(gdImagePtr im, gdIOCtx *out); void gdImageGif(gdImagePtr im, FILE *out); void gdImageGifCtx(gdImagePtr im, gdIOCtx *out); /* 2.0.12: Compression level: 0-9 or -1, where 0 is NO COMPRESSION at all, * 1 is FASTEST but produces larger files, 9 provides the best * compression (smallest files) but takes a long time to compress, and * -1 selects the default compiled into the zlib library. */ void gdImagePngEx(gdImagePtr im, FILE * out, int level, int basefilter); void gdImagePngCtxEx(gdImagePtr im, gdIOCtx * out, int level, int basefilter); void gdImageWBMP(gdImagePtr image, int fg, FILE *out); void gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out); /* Guaranteed to correctly free memory returned by the gdImage*Ptr functions */ void gdFree(void *m); /* Best to free this memory with gdFree(), not free() */ void *gdImageWBMPPtr(gdImagePtr im, int *size, int fg); /* 100 is highest quality (there is always a little loss with JPEG). 0 is lowest. 10 is about the lowest useful setting. */ void gdImageJpeg(gdImagePtr im, FILE *out, int quality); void gdImageJpegCtx(gdImagePtr im, gdIOCtx *out, int quality); /* Best to free this memory with gdFree(), not free() */ void *gdImageJpegPtr(gdImagePtr im, int *size, int quality); gdImagePtr gdImageCreateFromGif(FILE *fd); gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in); gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in); /* A custom data sink. For backwards compatibility. Use gdIOCtx instead. */ /* The sink function must return -1 on error, otherwise the number of bytes written, which must be equal to len. */ /* context will be passed to your sink function. */ typedef struct { int (*sink) (void *context, const char *buffer, int len); void *context; } gdSink, *gdSinkPtr; void gdImagePngToSink(gdImagePtr im, gdSinkPtr out); void gdImageGd(gdImagePtr im, FILE *out); void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt); /* Best to free this memory with gdFree(), not free() */ void* gdImagePngPtr(gdImagePtr im, int *size); /* Best to free this memory with gdFree(), not free() */ void* gdImageGdPtr(gdImagePtr im, int *size); void *gdImagePngPtrEx(gdImagePtr im, int *size, int level, int basefilter); /* Best to free this memory with gdFree(), not free() */ void* gdImageGd2Ptr(gdImagePtr im, int cs, int fmt, int *size); void gdImageEllipse(gdImagePtr im, int cx, int cy, int w, int h, int c); /* Style is a bitwise OR ( | operator ) of these. gdArc and gdChord are mutually exclusive; gdChord just connects the starting and ending angles with a straight line, while gdArc produces a rounded edge. gdPie is a synonym for gdArc. gdNoFill indicates that the arc or chord should be outlined, not filled. gdEdged, used together with gdNoFill, indicates that the beginning and ending angles should be connected to the center; this is a good way to outline (rather than fill) a 'pie slice'. */ #define gdArc 0 #define gdPie gdArc #define gdChord 1 #define gdNoFill 2 #define gdEdged 4 void gdImageFilledArc(gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color, int style); void gdImageArc(gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color); void gdImageFilledEllipse(gdImagePtr im, int cx, int cy, int w, int h, int color); void gdImageFillToBorder(gdImagePtr im, int x, int y, int border, int color); void gdImageFill(gdImagePtr im, int x, int y, int color); void gdImageCopy(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h); void gdImageCopyMerge(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct); void gdImageCopyMergeGray(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct); /* Stretches or shrinks to fit, as needed. Does NOT attempt to average the entire set of source pixels that scale down onto the destination pixel. */ void gdImageCopyResized(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH); /* gd 2.0: stretches or shrinks to fit, as needed. When called with a truecolor destination image, this function averages the entire set of source pixels that scale down onto the destination pixel, taking into account what portion of the destination pixel each source pixel represents. This is a floating point operation, but this is not a performance issue on modern hardware, except for some embedded devices. If the destination is a palette image, gdImageCopyResized is substituted automatically. */ void gdImageCopyResampled(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH); gdImagePtr gdImageRotate90(gdImagePtr src, int ignoretransparent); gdImagePtr gdImageRotate180(gdImagePtr src, int ignoretransparent); gdImagePtr gdImageRotate270(gdImagePtr src, int ignoretransparent); gdImagePtr gdImageRotate45(gdImagePtr src, double dAngle, int clrBack, int ignoretransparent); gdImagePtr gdImageRotate (gdImagePtr src, double dAngle, int clrBack, int ignoretransparent); void gdImageSetBrush(gdImagePtr im, gdImagePtr brush); void gdImageSetTile(gdImagePtr im, gdImagePtr tile); void gdImageSetAntiAliased(gdImagePtr im, int c); void gdImageSetAntiAliasedDontBlend(gdImagePtr im, int c, int dont_blend); void gdImageSetStyle(gdImagePtr im, int *style, int noOfPixels); /* Line thickness (defaults to 1). Affects lines, ellipses, rectangles, polygons and so forth. */ void gdImageSetThickness(gdImagePtr im, int thickness); /* On or off (1 or 0) for all three of these. */ void gdImageInterlace(gdImagePtr im, int interlaceArg); void gdImageAlphaBlending(gdImagePtr im, int alphaBlendingArg); void gdImageAntialias(gdImagePtr im, int antialias); void gdImageSaveAlpha(gdImagePtr im, int saveAlphaArg); enum gdPixelateMode { GD_PIXELATE_UPPERLEFT, GD_PIXELATE_AVERAGE }; int gdImagePixelate(gdImagePtr im, int block_size, const unsigned int mode); /* Macros to access information about images. */ /* Returns nonzero if the image is a truecolor image, zero for a palette image. */ #define gdImageTrueColor(im) ((im)->trueColor) #define gdImageSX(im) ((im)->sx) #define gdImageSY(im) ((im)->sy) #define gdImageColorsTotal(im) ((im)->colorsTotal) #define gdImageRed(im, c) ((im)->trueColor ? gdTrueColorGetRed(c) : \ (im)->red[(c)]) #define gdImageGreen(im, c) ((im)->trueColor ? gdTrueColorGetGreen(c) : \ (im)->green[(c)]) #define gdImageBlue(im, c) ((im)->trueColor ? gdTrueColorGetBlue(c) : \ (im)->blue[(c)]) #define gdImageAlpha(im, c) ((im)->trueColor ? gdTrueColorGetAlpha(c) : \ (im)->alpha[(c)]) #define gdImageGetTransparent(im) ((im)->transparent) #define gdImageGetInterlaced(im) ((im)->interlace) /* These macros provide direct access to pixels in palette-based and truecolor images, respectively. If you use these macros, you must perform your own bounds checking. Use of the macro for the correct type of image is also your responsibility. */ #define gdImagePalettePixel(im, x, y) (im)->pixels[(y)][(x)] #define gdImageTrueColorPixel(im, x, y) (im)->tpixels[(y)][(x)] /* I/O Support routines. */ gdIOCtx* gdNewFileCtx(FILE*); gdIOCtx* gdNewDynamicCtx(int, void*); gdIOCtx *gdNewDynamicCtxEx(int size, void *data, int freeFlag); gdIOCtx* gdNewSSCtx(gdSourcePtr in, gdSinkPtr out); void* gdDPExtractData(struct gdIOCtx* ctx, int *size); #define GD2_CHUNKSIZE 128 #define GD2_CHUNKSIZE_MIN 64 #define GD2_CHUNKSIZE_MAX 4096 #define GD2_VERS 2 #define GD2_ID "gd2" #define GD2_FMT_RAW 1 #define GD2_FMT_COMPRESSED 2 /* filters section * * Negate the imag src, white becomes black, * The red, green, and blue intensities of an image are negated. * White becomes black, yellow becomes blue, etc. */ int gdImageNegate(gdImagePtr src); /* Convert the image src to a grayscale image */ int gdImageGrayScale(gdImagePtr src); /* Set the brightness level for the image src */ int gdImageBrightness(gdImagePtr src, int brightness); /* Set the contrast level for the image */ int gdImageContrast(gdImagePtr src, double contrast); /* Simply adds or substracts respectively red, green or blue to a pixel */ int gdImageColor(gdImagePtr src, const int red, const int green, const int blue, const int alpha); /* Image convolution by a 3x3 custom matrix */ int gdImageConvolution(gdImagePtr src, float ft[3][3], float filter_div, float offset); int gdImageEdgeDetectQuick(gdImagePtr src); int gdImageGaussianBlur(gdImagePtr im); int gdImageSelectiveBlur( gdImagePtr src); int gdImageEmboss(gdImagePtr im); int gdImageMeanRemoval(gdImagePtr im); int gdImageSmooth(gdImagePtr im, float weight); /* Image comparison definitions */ int gdImageCompare(gdImagePtr im1, gdImagePtr im2); #define GD_CMP_IMAGE 1 /* Actual image IS different */ #define GD_CMP_NUM_COLORS 2 /* Number of Colours in pallette differ */ #define GD_CMP_COLOR 4 /* Image colours differ */ #define GD_CMP_SIZE_X 8 /* Image width differs */ #define GD_CMP_SIZE_Y 16 /* Image heights differ */ #define GD_CMP_TRANSPARENT 32 /* Transparent colour */ #define GD_CMP_BACKGROUND 64 /* Background colour */ #define GD_CMP_INTERLACE 128 /* Interlaced setting */ #define GD_CMP_TRUECOLOR 256 /* Truecolor vs palette differs */ /* resolution affects ttf font rendering, particularly hinting */ #define GD_RESOLUTION 96 /* pixels per inch */ #ifdef __cplusplus } #endif /* 2.0.12: this now checks the clipping rectangle */ #define gdImageBoundsSafe(im, x, y) (!((((y) < (im)->cy1) || ((y) > (im)->cy2)) || (((x) < (im)->cx1) || ((x) > (im)->cx2)))) #endif /* GD_H */ 070701000811ed000081a40000000000000000000000014dc0fad90000020f0000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/gd/libgd/gdfontl.h #ifndef _GDFONTL_H_ #define _GDFONTL_H_ 1 #ifdef __cplusplus extern "C" { #endif /* This is a header file for gd font, generated using bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz from bdf font -misc-fixed-medium-r-normal--16-140-75-75-c-80-iso8859-2 at Tue Jan 6 19:39:27 1998. The original bdf was holding following copyright: "Libor Skarvada, libor@informatics.muni.cz" */ #include "gd.h" extern gdFontPtr gdFontLarge; extern gdFontPtr gdFontGetLarge(void); #ifdef __cplusplus } #endif #endif 070701000811ef000081a40000000000000000000000014dc0fad9000001eb0000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/gd/libgd/gdfonts.h #ifndef _GDFONTS_H_ #define _GDFONTS_H_ 1 #ifdef __cplusplus extern "C" { #endif /* This is a header file for gd font, generated using bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz from bdf font -misc-fixed-medium-r-semicondensed-sans-12-116-75-75-c-60-iso8859-2 at Thu Jan 8 14:13:20 1998. No copyright info was found in the original bdf. */ #include "gd.h" extern gdFontPtr gdFontSmall; extern gdFontPtr gdFontGetSmall(void); #ifdef __cplusplus } #endif #endif 070701000811f3000081a40000000000000000000000014dc0fada000005030000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/gd/libgd/wbmp.h/* WBMP ** ---- ** WBMP Level 0: B/W, Uncompressed ** This implements the WBMP format as specified in WAPSpec 1.1 and 1.2. ** It does not support ExtHeaders as defined in the spec. The spec states ** that a WAP client does not need to implement ExtHeaders. ** ** (c) 2000 Johan Van den Brande ** ** Header file */ #ifndef __WBMP_H #define __WBMP_H 1 #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "php_compat.h" /* WBMP struct ** ----------- ** A Wireless bitmap structure ** */ typedef struct Wbmp_ { int type; /* type of the wbmp */ int width; /* width of the image */ int height; /* height of the image */ int *bitmap; /* pointer to data: 0 = WHITE , 1 = BLACK */ } Wbmp; #define WBMP_WHITE 1 #define WBMP_BLACK 0 /* Proto's ** ------- ** */ void putmbi( int i, void (*putout)(int c, void *out), void *out); int getmbi ( int (*getin)(void *in), void *in ); int skipheader( int (*getin)(void *in), void *in ); Wbmp *createwbmp( int width, int height, int color ); int readwbmp( int (*getin)(void *in), void *in, Wbmp **wbmp ); int writewbmp( Wbmp *wbmp, void (*putout)( int c, void *out), void *out); void freewbmp( Wbmp *wbmp ); void printwbmp( Wbmp *wbmp ); #endif 070701000811ec000081a40000000000000000000000014dc0fad9000002110000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/gd/libgd/gdfontg.h #ifndef _GDFONTG_H_ #define _GDFONTG_H_ 1 #ifdef __cplusplus extern "C" { #endif /* This is a header file for gd font, generated using bdftogd version 0.51 by Jan Pazdziora, adelton@fi.muni.cz from bdf font -Misc-Fixed-Bold-R-Normal-Sans-15-140-75-75-C-90-ISO8859-2 at Mon Jan 26 14:45:58 1998. The original bdf was holding following copyright: "Libor Skarvada, libor@informatics.muni.cz" */ #include "gd.h" extern gdFontPtr gdFontGiant; extern gdFontPtr gdFontGetGiant(void); #ifdef __cplusplus } #endif #endif 070701000811eb000081a40000000000000000000000014dc0fad900000a9c0000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/gd/libgd/gdcache.h/* * gdcache.h * * Caches of pointers to user structs in which the least-recently-used * element is replaced in the event of a cache miss after the cache has * reached a given size. * * John Ellson (ellson@graphviz.org) Oct 31, 1997 * * Test this with: * gcc -o gdcache -g -Wall -DTEST gdcache.c * * The cache is implemented by a singly-linked list of elements * each containing a pointer to a user struct that is being managed by * the cache. * * The head structure has a pointer to the most-recently-used * element, and elements are moved to this position in the list each * time they are used. The head also contains pointers to three * user defined functions: * - a function to test if a cached userdata matches some keydata * - a function to provide a new userdata struct to the cache * if there has been a cache miss. * - a function to release a userdata struct when it is * no longer being managed by the cache * * In the event of a cache miss the cache is allowed to grow up to * a specified maximum size. After the maximum size is reached then * the least-recently-used element is discarded to make room for the * new. The most-recently-returned value is always left at the * beginning of the list after retrieval. * * In the current implementation the cache is traversed by a linear * search from most-recent to least-recent. This linear search * probably limits the usefulness of this implementation to cache * sizes of a few tens of elements. */ /*********************************************************/ /* header */ /*********************************************************/ #include #ifdef HAVE_MALLOC_H #include #endif #ifndef NULL #define NULL (void *)0 #endif /* user defined function templates */ typedef int (*gdCacheTestFn_t)(void *userdata, void *keydata); typedef void *(*gdCacheFetchFn_t)(char **error, void *keydata); typedef void (*gdCacheReleaseFn_t)(void *userdata); /* element structure */ typedef struct gdCache_element_s gdCache_element_t; struct gdCache_element_s { gdCache_element_t *next; void *userdata; }; /* head structure */ typedef struct gdCache_head_s gdCache_head_t; struct gdCache_head_s { gdCache_element_t *mru; int size; char *error; gdCacheTestFn_t gdCacheTest; gdCacheFetchFn_t gdCacheFetch; gdCacheReleaseFn_t gdCacheRelease; }; /* function templates */ gdCache_head_t * gdCacheCreate( int size, gdCacheTestFn_t gdCacheTest, gdCacheFetchFn_t gdCacheFetch, gdCacheReleaseFn_t gdCacheRelease ); void gdCacheDelete( gdCache_head_t *head ); void * gdCacheGet( gdCache_head_t *head, void *keydata ); 070701000811e9000081a40000000000000000000000014dc0fad9000001050000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/gd/libgd/gd_intern.h#ifndef GD_INTERN_H #define GD_INTERN_H #ifndef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) #endif #define MIN3(a,b,c) ((a)<(b)?(MIN(a,c)):(MIN(b,c))) #ifndef MAX #define MAX(a,b) ((a)<(b)?(b):(a)) #endif #define MAX3(a,b,c) ((a)<(b)?(MAX(b,c)):(MAX(a,c))) #endif 070701000811f2000081a40000000000000000000000014dc0fad9000116b60000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/gd/libgd/jisx0208.h#ifndef JISX0208_H #define JISX0208_H /* This file was derived from "src/VF_Ftype.c" in VFlib2-2.24.2 by Dr. Kakugawa */ /* JIS -> Unicode mapping table */ static unsigned short UnicodeTbl[][94] = { { /* category 01 */ 0x0000, 0x3001, 0x3002, 0xFF0C, 0xFF0E, 0x30FB, 0xFF1A, 0xFF1B, 0xFF1F, 0xFF01, 0x309B, 0x309C, 0x00B4, 0xFF40, 0x00A8, 0xFF3E, 0xFFE3, 0xFF3F, 0x30FD, 0x30FE, 0x309D, 0x309E, 0x3003, 0x4EDD, 0x3005, 0x3006, 0x3007, 0x30FC, 0x2015, 0x2010, 0xFF0F, 0xFF3C, 0xFF5E, 0x2225, 0xFF5C, 0x2026, 0x2025, 0x2018, 0x2019, 0x201C, 0x201D, 0xFF08, 0xFF09, 0x3014, 0x3015, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0xFF0B, 0xFF0D, 0x00B1, 0x00D7, 0x00F7, 0xFF1D, 0x2260, 0xFF1C, 0xFF1E, 0x2266, 0x2267, 0x221E, 0x2234, 0x2642, 0x2640, 0x00B0, 0x2032, 0x2033, 0x2103, 0xFFE5, 0xFF04, 0xFFE0, 0xFFE1, 0xFF05, 0xFF03, 0xFF06, 0xFF0A, 0xFF20, 0x00A7, 0x2606, 0x2605, 0x25CB, 0x25CF, 0x25CE, 0x25C7}, { /* category 02 */ 0x25C6, 0x25A1, 0x25A0, 0x25B3, 0x25B2, 0x25BD, 0x25BC, 0x203B, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2208, 0x220B, 0x2286, 0x2287, 0x2282, 0x2283, 0x222A, 0x2229, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2227, 0x2228, 0xFFE2, 0x21D2, 0x21D4, 0x2200, 0x2203, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2220, 0x22A5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x226A, 0x226B, 0x221A, 0x223D, 0x221D, 0x2235, 0x222B, 0x222C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x212B, 0x2030, 0x266F, 0x266D, 0x266A, 0x2020, 0x2021, /**/ 0x00B6, 0x0000, 0x0000, 0x0000, 0x0000, 0x25EF}, { /* category 03 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 04 */ 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x304B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 0x306C, 0x306D, 0x306E, 0x306F, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 0x307E, 0x307F, 0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089, 0x308A, 0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 0x3090, 0x3091, 0x3092, 0x3093, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 05 */ 0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30AB, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C4, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 0x30CC, 0x30CD, 0x30CE, 0x30CF, 0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 0x30D5, 0x30D6, 0x30D7, 0x30D8, 0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 0x30DE, 0x30DF, 0x30E0, 0x30E1, 0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 0x30F2, 0x30F3, 0x30F4, 0x30F5, 0x30F6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 06 */ 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 07 */ 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 08 */ 0x2500, 0x2502, 0x250C, 0x2510, 0x2518, 0x2514, 0x251C, 0x252C, 0x2524, 0x2534, 0x253C, 0x2501, 0x2503, 0x250F, 0x2513, 0x251B, 0x2517, 0x2523, 0x2533, 0x252B, 0x253B, 0x254B, 0x2520, 0x252F, 0x2528, 0x2537, 0x253F, 0x251D, 0x2530, 0x2525, 0x2538, 0x2542, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 09 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 11 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 12 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 13 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 14 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 15 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 16 */ 0x4E9C, 0x5516, 0x5A03, 0x963F, 0x54C0, 0x611B, 0x6328, 0x59F6, 0x9022, 0x8475, 0x831C, 0x7A50, 0x60AA, 0x63E1, 0x6E25, 0x65ED, 0x8466, 0x82A6, 0x9BF5, 0x6893, 0x5727, 0x65A1, 0x6271, 0x5B9B, 0x59D0, 0x867B, 0x98F4, 0x7D62, 0x7DBE, 0x9B8E, 0x6216, 0x7C9F, 0x88B7, 0x5B89, 0x5EB5, 0x6309, 0x6697, 0x6848, 0x95C7, 0x978D, 0x674F, 0x4EE5, 0x4F0A, 0x4F4D, 0x4F9D, 0x5049, 0x56F2, 0x5937, 0x59D4, 0x5A01, 0x5C09, 0x60DF, 0x610F, 0x6170, 0x6613, 0x6905, 0x70BA, 0x754F, 0x7570, 0x79FB, 0x7DAD, 0x7DEF, 0x80C3, 0x840E, 0x8863, 0x8B02, 0x9055, 0x907A, 0x533B, 0x4E95, 0x4EA5, 0x57DF, 0x80B2, 0x90C1, 0x78EF, 0x4E00, 0x58F1, 0x6EA2, 0x9038, 0x7A32, 0x8328, 0x828B, 0x9C2F, 0x5141, 0x5370, 0x54BD, 0x54E1, 0x56E0, 0x59FB, 0x5F15, 0x98F2, 0x6DEB, 0x80E4, 0x852D}, { /* category 17 */ 0x9662, 0x9670, 0x96A0, 0x97FB, 0x540B, 0x53F3, 0x5B87, 0x70CF, 0x7FBD, 0x8FC2, 0x96E8, 0x536F, 0x9D5C, 0x7ABA, 0x4E11, 0x7893, 0x81FC, 0x6E26, 0x5618, 0x5504, 0x6B1D, 0x851A, 0x9C3B, 0x59E5, 0x53A9, 0x6D66, 0x74DC, 0x958F, 0x5642, 0x4E91, 0x904B, 0x96F2, 0x834F, 0x990C, 0x53E1, 0x55B6, 0x5B30, 0x5F71, 0x6620, 0x66F3, 0x6804, 0x6C38, 0x6CF3, 0x6D29, 0x745B, 0x76C8, 0x7A4E, 0x9834, 0x82F1, 0x885B, 0x8A60, 0x92ED, 0x6DB2, 0x75AB, 0x76CA, 0x99C5, 0x60A6, 0x8B01, 0x8D8A, 0x95B2, 0x698E, 0x53AD, 0x5186, 0x5712, 0x5830, 0x5944, 0x5BB4, 0x5EF6, 0x6028, 0x63A9, 0x63F4, 0x6CBF, 0x6F14, 0x708E, 0x7114, 0x7159, 0x71D5, 0x733F, 0x7E01, 0x8276, 0x82D1, 0x8597, 0x9060, 0x925B, 0x9D1B, 0x5869, 0x65BC, 0x6C5A, 0x7525, 0x51F9, 0x592E, 0x5965, 0x5F80, 0x5FDC}, { /* category 18 */ 0x62BC, 0x65FA, 0x6A2A, 0x6B27, 0x6BB4, 0x738B, 0x7FC1, 0x8956, 0x9D2C, 0x9D0E, 0x9EC4, 0x5CA1, 0x6C96, 0x837B, 0x5104, 0x5C4B, 0x61B6, 0x81C6, 0x6876, 0x7261, 0x4E59, 0x4FFA, 0x5378, 0x6069, 0x6E29, 0x7A4F, 0x97F3, 0x4E0B, 0x5316, 0x4EEE, 0x4F55, 0x4F3D, 0x4FA1, 0x4F73, 0x52A0, 0x53EF, 0x5609, 0x590F, 0x5AC1, 0x5BB6, 0x5BE1, 0x79D1, 0x6687, 0x679C, 0x67B6, 0x6B4C, 0x6CB3, 0x706B, 0x73C2, 0x798D, 0x79BE, 0x7A3C, 0x7B87, 0x82B1, 0x82DB, 0x8304, 0x8377, 0x83EF, 0x83D3, 0x8766, 0x8AB2, 0x5629, 0x8CA8, 0x8FE6, 0x904E, 0x971E, 0x868A, 0x4FC4, 0x5CE8, 0x6211, 0x7259, 0x753B, 0x81E5, 0x82BD, 0x86FE, 0x8CC0, 0x96C5, 0x9913, 0x99D5, 0x4ECB, 0x4F1A, 0x89E3, 0x56DE, 0x584A, 0x58CA, 0x5EFB, 0x5FEB, 0x602A, 0x6094, 0x6062, 0x61D0, 0x6212, 0x62D0, 0x6539}, { /* category 19 */ 0x9B41, 0x6666, 0x68B0, 0x6D77, 0x7070, 0x754C, 0x7686, 0x7D75, 0x82A5, 0x87F9, 0x958B, 0x968E, 0x8C9D, 0x51F1, 0x52BE, 0x5916, 0x54B3, 0x5BB3, 0x5D16, 0x6168, 0x6982, 0x6DAF, 0x788D, 0x84CB, 0x8857, 0x8A72, 0x93A7, 0x9AB8, 0x6D6C, 0x99A8, 0x86D9, 0x57A3, 0x67FF, 0x86CE, 0x920E, 0x5283, 0x5687, 0x5404, 0x5ED3, 0x62E1, 0x64B9, 0x683C, 0x6838, 0x6BBB, 0x7372, 0x78BA, 0x7A6B, 0x899A, 0x89D2, 0x8D6B, 0x8F03, 0x90ED, 0x95A3, 0x9694, 0x9769, 0x5B66, 0x5CB3, 0x697D, 0x984D, 0x984E, 0x639B, 0x7B20, 0x6A2B, 0x6A7F, 0x68B6, 0x9C0D, 0x6F5F, 0x5272, 0x559D, 0x6070, 0x62EC, 0x6D3B, 0x6E07, 0x6ED1, 0x845B, 0x8910, 0x8F44, 0x4E14, 0x9C39, 0x53F6, 0x691B, 0x6A3A, 0x9784, 0x682A, 0x515C, 0x7AC3, 0x84B2, 0x91DC, 0x938C, 0x565B, 0x9D28, 0x6822, 0x8305, 0x8431}, { /* category 20 */ 0x7CA5, 0x5208, 0x82C5, 0x74E6, 0x4E7E, 0x4F83, 0x51A0, 0x5BD2, 0x520A, 0x52D8, 0x52E7, 0x5DFB, 0x559A, 0x582A, 0x59E6, 0x5B8C, 0x5B98, 0x5BDB, 0x5E72, 0x5E79, 0x60A3, 0x611F, 0x6163, 0x61BE, 0x63DB, 0x6562, 0x67D1, 0x6853, 0x68FA, 0x6B3E, 0x6B53, 0x6C57, 0x6F22, 0x6F97, 0x6F45, 0x74B0, 0x7518, 0x76E3, 0x770B, 0x7AFF, 0x7BA1, 0x7C21, 0x7DE9, 0x7F36, 0x7FF0, 0x809D, 0x8266, 0x839E, 0x89B3, 0x8ACC, 0x8CAB, 0x9084, 0x9451, 0x9593, 0x9591, 0x95A2, 0x9665, 0x97D3, 0x9928, 0x8218, 0x4E38, 0x542B, 0x5CB8, 0x5DCC, 0x73A9, 0x764C, 0x773C, 0x5CA9, 0x7FEB, 0x8D0B, 0x96C1, 0x9811, 0x9854, 0x9858, 0x4F01, 0x4F0E, 0x5371, 0x559C, 0x5668, 0x57FA, 0x5947, 0x5B09, 0x5BC4, 0x5C90, 0x5E0C, 0x5E7E, 0x5FCC, 0x63EE, 0x673A, 0x65D7, 0x65E2, 0x671F, 0x68CB, 0x68C4}, { /* category 21 */ 0x6A5F, 0x5E30, 0x6BC5, 0x6C17, 0x6C7D, 0x757F, 0x7948, 0x5B63, 0x7A00, 0x7D00, 0x5FBD, 0x898F, 0x8A18, 0x8CB4, 0x8D77, 0x8ECC, 0x8F1D, 0x98E2, 0x9A0E, 0x9B3C, 0x4E80, 0x507D, 0x5100, 0x5993, 0x5B9C, 0x622F, 0x6280, 0x64EC, 0x6B3A, 0x72A0, 0x7591, 0x7947, 0x7FA9, 0x87FB, 0x8ABC, 0x8B70, 0x63AC, 0x83CA, 0x97A0, 0x5409, 0x5403, 0x55AB, 0x6854, 0x6A58, 0x8A70, 0x7827, 0x6775, 0x9ECD, 0x5374, 0x5BA2, 0x811A, 0x8650, 0x9006, 0x4E18, 0x4E45, 0x4EC7, 0x4F11, 0x53CA, 0x5438, 0x5BAE, 0x5F13, 0x6025, 0x6551, 0x673D, 0x6C42, 0x6C72, 0x6CE3, 0x7078, 0x7403, 0x7A76, 0x7AAE, 0x7B08, 0x7D1A, 0x7CFE, 0x7D66, 0x65E7, 0x725B, 0x53BB, 0x5C45, 0x5DE8, 0x62D2, 0x62E0, 0x6319, 0x6E20, 0x865A, 0x8A31, 0x8DDD, 0x92F8, 0x6F01, 0x79A6, 0x9B5A, 0x4EA8, 0x4EAB, 0x4EAC}, { /* category 22 */ 0x4F9B, 0x4FA0, 0x50D1, 0x5147, 0x7AF6, 0x5171, 0x51F6, 0x5354, 0x5321, 0x537F, 0x53EB, 0x55AC, 0x5883, 0x5CE1, 0x5F37, 0x5F4A, 0x602F, 0x6050, 0x606D, 0x631F, 0x6559, 0x6A4B, 0x6CC1, 0x72C2, 0x72ED, 0x77EF, 0x80F8, 0x8105, 0x8208, 0x854E, 0x90F7, 0x93E1, 0x97FF, 0x9957, 0x9A5A, 0x4EF0, 0x51DD, 0x5C2D, 0x6681, 0x696D, 0x5C40, 0x66F2, 0x6975, 0x7389, 0x6850, 0x7C81, 0x50C5, 0x52E4, 0x5747, 0x5DFE, 0x9326, 0x65A4, 0x6B23, 0x6B3D, 0x7434, 0x7981, 0x79BD, 0x7B4B, 0x7DCA, 0x82B9, 0x83CC, 0x887F, 0x895F, 0x8B39, 0x8FD1, 0x91D1, 0x541F, 0x9280, 0x4E5D, 0x5036, 0x53E5, 0x533A, 0x72D7, 0x7396, 0x77E9, 0x82E6, 0x8EAF, 0x99C6, 0x99C8, 0x99D2, 0x5177, 0x611A, 0x865E, 0x55B0, 0x7A7A, 0x5076, 0x5BD3, 0x9047, 0x9685, 0x4E32, 0x6ADB, 0x91E7, 0x5C51, 0x5C48}, { /* category 23 */ 0x6398, 0x7A9F, 0x6C93, 0x9774, 0x8F61, 0x7AAA, 0x718A, 0x9688, 0x7C82, 0x6817, 0x7E70, 0x6851, 0x936C, 0x52F2, 0x541B, 0x85AB, 0x8A13, 0x7FA4, 0x8ECD, 0x90E1, 0x5366, 0x8888, 0x7941, 0x4FC2, 0x50BE, 0x5211, 0x5144, 0x5553, 0x572D, 0x73EA, 0x578B, 0x5951, 0x5F62, 0x5F84, 0x6075, 0x6176, 0x6167, 0x61A9, 0x63B2, 0x643A, 0x656C, 0x666F, 0x6842, 0x6E13, 0x7566, 0x7A3D, 0x7CFB, 0x7D4C, 0x7D99, 0x7E4B, 0x7F6B, 0x830E, 0x834A, 0x86CD, 0x8A08, 0x8A63, 0x8B66, 0x8EFD, 0x981A, 0x9D8F, 0x82B8, 0x8FCE, 0x9BE8, 0x5287, 0x621F, 0x6483, 0x6FC0, 0x9699, 0x6841, 0x5091, 0x6B20, 0x6C7A, 0x6F54, 0x7A74, 0x7D50, 0x8840, 0x8A23, 0x6708, 0x4EF6, 0x5039, 0x5026, 0x5065, 0x517C, 0x5238, 0x5263, 0x55A7, 0x570F, 0x5805, 0x5ACC, 0x5EFA, 0x61B2, 0x61F8, 0x62F3, 0x6372}, { /* category 24 */ 0x691C, 0x6A29, 0x727D, 0x72AC, 0x732E, 0x7814, 0x786F, 0x7D79, 0x770C, 0x80A9, 0x898B, 0x8B19, 0x8CE2, 0x8ED2, 0x9063, 0x9375, 0x967A, 0x9855, 0x9A13, 0x9E78, 0x5143, 0x539F, 0x53B3, 0x5E7B, 0x5F26, 0x6E1B, 0x6E90, 0x7384, 0x73FE, 0x7D43, 0x8237, 0x8A00, 0x8AFA, 0x9650, 0x4E4E, 0x500B, 0x53E4, 0x547C, 0x56FA, 0x59D1, 0x5B64, 0x5DF1, 0x5EAB, 0x5F27, 0x6238, 0x6545, 0x67AF, 0x6E56, 0x72D0, 0x7CCA, 0x88B4, 0x80A1, 0x80E1, 0x83F0, 0x864E, 0x8A87, 0x8DE8, 0x9237, 0x96C7, 0x9867, 0x9F13, 0x4E94, 0x4E92, 0x4F0D, 0x5348, 0x5449, 0x543E, 0x5A2F, 0x5F8C, 0x5FA1, 0x609F, 0x68A7, 0x6A8E, 0x745A, 0x7881, 0x8A9E, 0x8AA4, 0x8B77, 0x9190, 0x4E5E, 0x9BC9, 0x4EA4, 0x4F7C, 0x4FAF, 0x5019, 0x5016, 0x5149, 0x516C, 0x529F, 0x52B9, 0x52FE, 0x539A, 0x53E3, 0x5411}, { /* category 25 */ 0x540E, 0x5589, 0x5751, 0x57A2, 0x597D, 0x5B54, 0x5B5D, 0x5B8F, 0x5DE5, 0x5DE7, 0x5DF7, 0x5E78, 0x5E83, 0x5E9A, 0x5EB7, 0x5F18, 0x6052, 0x614C, 0x6297, 0x62D8, 0x63A7, 0x653B, 0x6602, 0x6643, 0x66F4, 0x676D, 0x6821, 0x6897, 0x69CB, 0x6C5F, 0x6D2A, 0x6D69, 0x6E2F, 0x6E9D, 0x7532, 0x7687, 0x786C, 0x7A3F, 0x7CE0, 0x7D05, 0x7D18, 0x7D5E, 0x7DB1, 0x8015, 0x8003, 0x80AF, 0x80B1, 0x8154, 0x818F, 0x822A, 0x8352, 0x884C, 0x8861, 0x8B1B, 0x8CA2, 0x8CFC, 0x90CA, 0x9175, 0x9271, 0x783F, 0x92FC, 0x95A4, 0x964D, 0x9805, 0x9999, 0x9AD8, 0x9D3B, 0x525B, 0x52AB, 0x53F7, 0x5408, 0x58D5, 0x62F7, 0x6FE0, 0x8C6A, 0x8F5F, 0x9EB9, 0x514B, 0x523B, 0x544A, 0x56FD, 0x7A40, 0x9177, 0x9D60, 0x9ED2, 0x7344, 0x6F09, 0x8170, 0x7511, 0x5FFD, 0x60DA, 0x9AA8, 0x72DB, 0x8FBC}, { /* category 26 */ 0x6B64, 0x9803, 0x4ECA, 0x56F0, 0x5764, 0x58BE, 0x5A5A, 0x6068, 0x61C7, 0x660F, 0x6606, 0x6839, 0x68B1, 0x6DF7, 0x75D5, 0x7D3A, 0x826E, 0x9B42, 0x4E9B, 0x4F50, 0x53C9, 0x5506, 0x5D6F, 0x5DE6, 0x5DEE, 0x67FB, 0x6C99, 0x7473, 0x7802, 0x8A50, 0x9396, 0x88DF, 0x5750, 0x5EA7, 0x632B, 0x50B5, 0x50AC, 0x518D, 0x6700, 0x54C9, 0x585E, 0x59BB, 0x5BB0, 0x5F69, 0x624D, 0x63A1, 0x683D, 0x6B73, 0x6E08, 0x707D, 0x91C7, 0x7280, 0x7815, 0x7826, 0x796D, 0x658E, 0x7D30, 0x83DC, 0x88C1, 0x8F09, 0x969B, 0x5264, 0x5728, 0x6750, 0x7F6A, 0x8CA1, 0x51B4, 0x5742, 0x962A, 0x583A, 0x698A, 0x80B4, 0x54B2, 0x5D0E, 0x57FC, 0x7895, 0x9DFA, 0x4F5C, 0x524A, 0x548B, 0x643E, 0x6628, 0x6714, 0x67F5, 0x7A84, 0x7B56, 0x7D22, 0x932F, 0x685C, 0x9BAD, 0x7B39, 0x5319, 0x518A, 0x5237}, { /* category 27 */ 0x5BDF, 0x62F6, 0x64AE, 0x64E6, 0x672D, 0x6BBA, 0x85A9, 0x96D1, 0x7690, 0x9BD6, 0x634C, 0x9306, 0x9BAB, 0x76BF, 0x6652, 0x4E09, 0x5098, 0x53C2, 0x5C71, 0x60E8, 0x6492, 0x6563, 0x685F, 0x71E6, 0x73CA, 0x7523, 0x7B97, 0x7E82, 0x8695, 0x8B83, 0x8CDB, 0x9178, 0x9910, 0x65AC, 0x66AB, 0x6B8B, 0x4ED5, 0x4ED4, 0x4F3A, 0x4F7F, 0x523A, 0x53F8, 0x53F2, 0x55E3, 0x56DB, 0x58EB, 0x59CB, 0x59C9, 0x59FF, 0x5B50, 0x5C4D, 0x5E02, 0x5E2B, 0x5FD7, 0x601D, 0x6307, 0x652F, 0x5B5C, 0x65AF, 0x65BD, 0x65E8, 0x679D, 0x6B62, 0x6B7B, 0x6C0F, 0x7345, 0x7949, 0x79C1, 0x7CF8, 0x7D19, 0x7D2B, 0x80A2, 0x8102, 0x81F3, 0x8996, 0x8A5E, 0x8A69, 0x8A66, 0x8A8C, 0x8AEE, 0x8CC7, 0x8CDC, 0x96CC, 0x98FC, 0x6B6F, 0x4E8B, 0x4F3C, 0x4F8D, 0x5150, 0x5B57, 0x5BFA, 0x6148, 0x6301, 0x6642}, { /* category 28 */ 0x6B21, 0x6ECB, 0x6CBB, 0x723E, 0x74BD, 0x75D4, 0x78C1, 0x793A, 0x800C, 0x8033, 0x81EA, 0x8494, 0x8F9E, 0x6C50, 0x9E7F, 0x5F0F, 0x8B58, 0x9D2B, 0x7AFA, 0x8EF8, 0x5B8D, 0x96EB, 0x4E03, 0x53F1, 0x57F7, 0x5931, 0x5AC9, 0x5BA4, 0x6089, 0x6E7F, 0x6F06, 0x75BE, 0x8CEA, 0x5B9F, 0x8500, 0x7BE0, 0x5072, 0x67F4, 0x829D, 0x5C61, 0x854A, 0x7E1E, 0x820E, 0x5199, 0x5C04, 0x6368, 0x8D66, 0x659C, 0x716E, 0x793E, 0x7D17, 0x8005, 0x8B1D, 0x8ECA, 0x906E, 0x86C7, 0x90AA, 0x501F, 0x52FA, 0x5C3A, 0x6753, 0x707C, 0x7235, 0x914C, 0x91C8, 0x932B, 0x82E5, 0x5BC2, 0x5F31, 0x60F9, 0x4E3B, 0x53D6, 0x5B88, 0x624B, 0x6731, 0x6B8A, 0x72E9, 0x73E0, 0x7A2E, 0x816B, 0x8DA3, 0x9152, 0x9996, 0x5112, 0x53D7, 0x546A, 0x5BFF, 0x6388, 0x6A39, 0x7DAC, 0x9700, 0x56DA, 0x53CE, 0x5468}, { /* category 29 */ 0x5B97, 0x5C31, 0x5DDE, 0x4FEE, 0x6101, 0x62FE, 0x6D32, 0x79C0, 0x79CB, 0x7D42, 0x7E4D, 0x7FD2, 0x81ED, 0x821F, 0x8490, 0x8846, 0x8972, 0x8B90, 0x8E74, 0x8F2F, 0x9031, 0x914B, 0x916C, 0x96C6, 0x919C, 0x4EC0, 0x4F4F, 0x5145, 0x5341, 0x5F93, 0x620E, 0x67D4, 0x6C41, 0x6E0B, 0x7363, 0x7E26, 0x91CD, 0x9283, 0x53D4, 0x5919, 0x5BBF, 0x6DD1, 0x795D, 0x7E2E, 0x7C9B, 0x587E, 0x719F, 0x51FA, 0x8853, 0x8FF0, 0x4FCA, 0x5CFB, 0x6625, 0x77AC, 0x7AE3, 0x821C, 0x99FF, 0x51C6, 0x5FAA, 0x65EC, 0x696F, 0x6B89, 0x6DF3, 0x6E96, 0x6F64, 0x76FE, 0x7D14, 0x5DE1, 0x9075, 0x9187, 0x9806, 0x51E6, 0x521D, 0x6240, 0x6691, 0x66D9, 0x6E1A, 0x5EB6, 0x7DD2, 0x7F72, 0x66F8, 0x85AF, 0x85F7, 0x8AF8, 0x52A9, 0x53D9, 0x5973, 0x5E8F, 0x5F90, 0x6055, 0x92E4, 0x9664, 0x50B7, 0x511F}, { /* category 30 */ 0x52DD, 0x5320, 0x5347, 0x53EC, 0x54E8, 0x5546, 0x5531, 0x5617, 0x5968, 0x59BE, 0x5A3C, 0x5BB5, 0x5C06, 0x5C0F, 0x5C11, 0x5C1A, 0x5E84, 0x5E8A, 0x5EE0, 0x5F70, 0x627F, 0x6284, 0x62DB, 0x638C, 0x6377, 0x6607, 0x660C, 0x662D, 0x6676, 0x677E, 0x68A2, 0x6A1F, 0x6A35, 0x6CBC, 0x6D88, 0x6E09, 0x6E58, 0x713C, 0x7126, 0x7167, 0x75C7, 0x7701, 0x785D, 0x7901, 0x7965, 0x79F0, 0x7AE0, 0x7B11, 0x7CA7, 0x7D39, 0x8096, 0x83D6, 0x848B, 0x8549, 0x885D, 0x88F3, 0x8A1F, 0x8A3C, 0x8A54, 0x8A73, 0x8C61, 0x8CDE, 0x91A4, 0x9266, 0x937E, 0x9418, 0x969C, 0x9798, 0x4E0A, 0x4E08, 0x4E1E, 0x4E57, 0x5197, 0x5270, 0x57CE, 0x5834, 0x58CC, 0x5B22, 0x5E38, 0x60C5, 0x64FE, 0x6761, 0x6756, 0x6D44, 0x72B6, 0x7573, 0x7A63, 0x84B8, 0x8B72, 0x91B8, 0x9320, 0x5631, 0x57F4, 0x98FE}, { /* category 31 */ 0x62ED, 0x690D, 0x6B96, 0x71ED, 0x7E54, 0x8077, 0x8272, 0x89E6, 0x98DF, 0x8755, 0x8FB1, 0x5C3B, 0x4F38, 0x4FE1, 0x4FB5, 0x5507, 0x5A20, 0x5BDD, 0x5BE9, 0x5FC3, 0x614E, 0x632F, 0x65B0, 0x664B, 0x68EE, 0x699B, 0x6D78, 0x6DF1, 0x7533, 0x75B9, 0x771F, 0x795E, 0x79E6, 0x7D33, 0x81E3, 0x82AF, 0x85AA, 0x89AA, 0x8A3A, 0x8EAB, 0x8F9B, 0x9032, 0x91DD, 0x9707, 0x4EBA, 0x4EC1, 0x5203, 0x5875, 0x58EC, 0x5C0B, 0x751A, 0x5C3D, 0x814E, 0x8A0A, 0x8FC5, 0x9663, 0x976D, 0x7B25, 0x8ACF, 0x9808, 0x9162, 0x56F3, 0x53A8, 0x9017, 0x5439, 0x5782, 0x5E25, 0x63A8, 0x6C34, 0x708A, 0x7761, 0x7C8B, 0x7FE0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968F, 0x745E, 0x9AC4, 0x5D07, 0x5D69, 0x6570, 0x67A2, 0x8DA8, 0x96DB, 0x636E, 0x6749, 0x6919, 0x83C5, 0x9817, 0x96C0, 0x88FE}, { /* category 32 */ 0x6F84, 0x647A, 0x5BF8, 0x4E16, 0x702C, 0x755D, 0x662F, 0x51C4, 0x5236, 0x52E2, 0x59D3, 0x5F81, 0x6027, 0x6210, 0x653F, 0x6574, 0x661F, 0x6674, 0x68F2, 0x6816, 0x6B63, 0x6E05, 0x7272, 0x751F, 0x76DB, 0x7CBE, 0x8056, 0x58F0, 0x88FD, 0x897F, 0x8AA0, 0x8A93, 0x8ACB, 0x901D, 0x9192, 0x9752, 0x9759, 0x6589, 0x7A0E, 0x8106, 0x96BB, 0x5E2D, 0x60DC, 0x621A, 0x65A5, 0x6614, 0x6790, 0x77F3, 0x7A4D, 0x7C4D, 0x7E3E, 0x810A, 0x8CAC, 0x8D64, 0x8DE1, 0x8E5F, 0x78A9, 0x5207, 0x62D9, 0x63A5, 0x6442, 0x6298, 0x8A2D, 0x7A83, 0x7BC0, 0x8AAC, 0x96EA, 0x7D76, 0x820C, 0x8749, 0x4ED9, 0x5148, 0x5343, 0x5360, 0x5BA3, 0x5C02, 0x5C16, 0x5DDD, 0x6226, 0x6247, 0x64B0, 0x6813, 0x6834, 0x6CC9, 0x6D45, 0x6D17, 0x67D3, 0x6F5C, 0x714E, 0x717D, 0x65CB, 0x7A7F, 0x7BAD, 0x7DDA}, { /* category 33 */ 0x7E4A, 0x7FA8, 0x817A, 0x821B, 0x8239, 0x85A6, 0x8A6E, 0x8CCE, 0x8DF5, 0x9078, 0x9077, 0x92AD, 0x9291, 0x9583, 0x9BAE, 0x524D, 0x5584, 0x6F38, 0x7136, 0x5168, 0x7985, 0x7E55, 0x81B3, 0x7CCE, 0x564C, 0x5851, 0x5CA8, 0x63AA, 0x66FE, 0x66FD, 0x695A, 0x72D9, 0x758F, 0x758E, 0x790E, 0x7956, 0x79DF, 0x7C97, 0x7D20, 0x7D44, 0x8607, 0x8A34, 0x963B, 0x9061, 0x9F20, 0x50E7, 0x5275, 0x53CC, 0x53E2, 0x5009, 0x55AA, 0x58EE, 0x594F, 0x723D, 0x5B8B, 0x5C64, 0x531D, 0x60E3, 0x60F3, 0x635C, 0x6383, 0x633F, 0x63BB, 0x64CD, 0x65E9, 0x66F9, 0x5DE3, 0x69CD, 0x69FD, 0x6F15, 0x71E5, 0x4E89, 0x75E9, 0x76F8, 0x7A93, 0x7CDF, 0x7DCF, 0x7D9C, 0x8061, 0x8349, 0x8358, 0x846C, 0x84BC, 0x85FB, 0x88C5, 0x8D70, 0x9001, 0x906D, 0x9397, 0x971C, 0x9A12, 0x50CF, 0x5897, 0x618E}, { /* category 34 */ 0x81D3, 0x8535, 0x8D08, 0x9020, 0x4FC3, 0x5074, 0x5247, 0x5373, 0x606F, 0x6349, 0x675F, 0x6E2C, 0x8DB3, 0x901F, 0x4FD7, 0x5C5E, 0x8CCA, 0x65CF, 0x7D9A, 0x5352, 0x8896, 0x5176, 0x63C3, 0x5B58, 0x5B6B, 0x5C0A, 0x640D, 0x6751, 0x905C, 0x4ED6, 0x591A, 0x592A, 0x6C70, 0x8A51, 0x553E, 0x5815, 0x59A5, 0x60F0, 0x6253, 0x67C1, 0x8235, 0x6955, 0x9640, 0x99C4, 0x9A28, 0x4F53, 0x5806, 0x5BFE, 0x8010, 0x5CB1, 0x5E2F, 0x5F85, 0x6020, 0x614B, 0x6234, 0x66FF, 0x6CF0, 0x6EDE, 0x80CE, 0x817F, 0x82D4, 0x888B, 0x8CB8, 0x9000, 0x902E, 0x968A, 0x9EDB, 0x9BDB, 0x4EE3, 0x53F0, 0x5927, 0x7B2C, 0x918D, 0x984C, 0x9DF9, 0x6EDD, 0x7027, 0x5353, 0x5544, 0x5B85, 0x6258, 0x629E, 0x62D3, 0x6CA2, 0x6FEF, 0x7422, 0x8A17, 0x9438, 0x6FC1, 0x8AFE, 0x8338, 0x51E7, 0x86F8, 0x53EA}, { /* category 35 */ 0x53E9, 0x4F46, 0x9054, 0x8FB0, 0x596A, 0x8131, 0x5DFD, 0x7AEA, 0x8FBF, 0x68DA, 0x8C37, 0x72F8, 0x9C48, 0x6A3D, 0x8AB0, 0x4E39, 0x5358, 0x5606, 0x5766, 0x62C5, 0x63A2, 0x65E6, 0x6B4E, 0x6DE1, 0x6E5B, 0x70AD, 0x77ED, 0x7AEF, 0x7BAA, 0x7DBB, 0x803D, 0x80C6, 0x86CB, 0x8A95, 0x935B, 0x56E3, 0x58C7, 0x5F3E, 0x65AD, 0x6696, 0x6A80, 0x6BB5, 0x7537, 0x8AC7, 0x5024, 0x77E5, 0x5730, 0x5F1B, 0x6065, 0x667A, 0x6C60, 0x75F4, 0x7A1A, 0x7F6E, 0x81F4, 0x8718, 0x9045, 0x99B3, 0x7BC9, 0x755C, 0x7AF9, 0x7B51, 0x84C4, 0x9010, 0x79E9, 0x7A92, 0x8336, 0x5AE1, 0x7740, 0x4E2D, 0x4EF2, 0x5B99, 0x5FE0, 0x62BD, 0x663C, 0x67F1, 0x6CE8, 0x866B, 0x8877, 0x8A3B, 0x914E, 0x92F3, 0x99D0, 0x6A17, 0x7026, 0x732A, 0x82E7, 0x8457, 0x8CAF, 0x4E01, 0x5146, 0x51CB, 0x558B, 0x5BF5}, { /* category 36 */ 0x5E16, 0x5E33, 0x5E81, 0x5F14, 0x5F35, 0x5F6B, 0x5FB4, 0x61F2, 0x6311, 0x66A2, 0x671D, 0x6F6E, 0x7252, 0x753A, 0x773A, 0x8074, 0x8139, 0x8178, 0x8776, 0x8ABF, 0x8ADC, 0x8D85, 0x8DF3, 0x929A, 0x9577, 0x9802, 0x9CE5, 0x52C5, 0x6357, 0x76F4, 0x6715, 0x6C88, 0x73CD, 0x8CC3, 0x93AE, 0x9673, 0x6D25, 0x589C, 0x690E, 0x69CC, 0x8FFD, 0x939A, 0x75DB, 0x901A, 0x585A, 0x6802, 0x63B4, 0x69FB, 0x4F43, 0x6F2C, 0x67D8, 0x8FBB, 0x8526, 0x7DB4, 0x9354, 0x693F, 0x6F70, 0x576A, 0x58F7, 0x5B2C, 0x7D2C, 0x722A, 0x540A, 0x91E3, 0x9DB4, 0x4EAD, 0x4F4E, 0x505C, 0x5075, 0x5243, 0x8C9E, 0x5448, 0x5824, 0x5B9A, 0x5E1D, 0x5E95, 0x5EAD, 0x5EF7, 0x5F1F, 0x608C, 0x62B5, 0x633A, 0x63D0, 0x68AF, 0x6C40, 0x7887, 0x798E, 0x7A0B, 0x7DE0, 0x8247, 0x8A02, 0x8AE6, 0x8E44, 0x9013}, { /* category 37 */ 0x90B8, 0x912D, 0x91D8, 0x9F0E, 0x6CE5, 0x6458, 0x64E2, 0x6575, 0x6EF4, 0x7684, 0x7B1B, 0x9069, 0x93D1, 0x6EBA, 0x54F2, 0x5FB9, 0x64A4, 0x8F4D, 0x8FED, 0x9244, 0x5178, 0x586B, 0x5929, 0x5C55, 0x5E97, 0x6DFB, 0x7E8F, 0x751C, 0x8CBC, 0x8EE2, 0x985B, 0x70B9, 0x4F1D, 0x6BBF, 0x6FB1, 0x7530, 0x96FB, 0x514E, 0x5410, 0x5835, 0x5857, 0x59AC, 0x5C60, 0x5F92, 0x6597, 0x675C, 0x6E21, 0x767B, 0x83DF, 0x8CED, 0x9014, 0x90FD, 0x934D, 0x7825, 0x783A, 0x52AA, 0x5EA6, 0x571F, 0x5974, 0x6012, 0x5012, 0x515A, 0x51AC, 0x51CD, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5B95, 0x5CF6, 0x5D8B, 0x60BC, 0x6295, 0x642D, 0x6771, 0x6843, 0x68BC, 0x68DF, 0x76D7, 0x6DD8, 0x6E6F, 0x6D9B, 0x706F, 0x71C8, 0x5F53, 0x75D8, 0x7977, 0x7B49, 0x7B54, 0x7B52, 0x7CD6, 0x7D71, 0x5230}, { /* category 38 */ 0x8463, 0x8569, 0x85E4, 0x8A0E, 0x8B04, 0x8C46, 0x8E0F, 0x9003, 0x900F, 0x9419, 0x9676, 0x982D, 0x9A30, 0x95D8, 0x50CD, 0x52D5, 0x540C, 0x5802, 0x5C0E, 0x61A7, 0x649E, 0x6D1E, 0x77B3, 0x7AE5, 0x80F4, 0x8404, 0x9053, 0x9285, 0x5CE0, 0x9D07, 0x533F, 0x5F97, 0x5FB3, 0x6D9C, 0x7279, 0x7763, 0x79BF, 0x7BE4, 0x6BD2, 0x72EC, 0x8AAD, 0x6803, 0x6A61, 0x51F8, 0x7A81, 0x6934, 0x5C4A, 0x9CF6, 0x82EB, 0x5BC5, 0x9149, 0x701E, 0x5678, 0x5C6F, 0x60C7, 0x6566, 0x6C8C, 0x8C5A, 0x9041, 0x9813, 0x5451, 0x66C7, 0x920D, 0x5948, 0x90A3, 0x5185, 0x4E4D, 0x51EA, 0x8599, 0x8B0E, 0x7058, 0x637A, 0x934B, 0x6962, 0x99B4, 0x7E04, 0x7577, 0x5357, 0x6960, 0x8EDF, 0x96E3, 0x6C5D, 0x4E8C, 0x5C3C, 0x5F10, 0x8FE9, 0x5302, 0x8CD1, 0x8089, 0x8679, 0x5EFF, 0x65E5, 0x4E73, 0x5165}, { /* category 39 */ 0x5982, 0x5C3F, 0x97EE, 0x4EFB, 0x598A, 0x5FCD, 0x8A8D, 0x6FE1, 0x79B0, 0x7962, 0x5BE7, 0x8471, 0x732B, 0x71B1, 0x5E74, 0x5FF5, 0x637B, 0x649A, 0x71C3, 0x7C98, 0x4E43, 0x5EFC, 0x4E4B, 0x57DC, 0x56A2, 0x60A9, 0x6FC3, 0x7D0D, 0x80FD, 0x8133, 0x81BF, 0x8FB2, 0x8997, 0x86A4, 0x5DF4, 0x628A, 0x64AD, 0x8987, 0x6777, 0x6CE2, 0x6D3E, 0x7436, 0x7834, 0x5A46, 0x7F75, 0x82AD, 0x99AC, 0x4FF3, 0x5EC3, 0x62DD, 0x6392, 0x6557, 0x676F, 0x76C3, 0x724C, 0x80CC, 0x80BA, 0x8F29, 0x914D, 0x500D, 0x57F9, 0x5A92, 0x6885, 0x6973, 0x7164, 0x72FD, 0x8CB7, 0x58F2, 0x8CE0, 0x966A, 0x9019, 0x877F, 0x79E4, 0x77E7, 0x8429, 0x4F2F, 0x5265, 0x535A, 0x62CD, 0x67CF, 0x6CCA, 0x767D, 0x7B94, 0x7C95, 0x8236, 0x8584, 0x8FEB, 0x66DD, 0x6F20, 0x7206, 0x7E1B, 0x83AB, 0x99C1, 0x9EA6}, { /* category 40 */ 0x51FD, 0x7BB1, 0x7872, 0x7BB8, 0x8087, 0x7B48, 0x6AE8, 0x5E61, 0x808C, 0x7551, 0x7560, 0x516B, 0x9262, 0x6E8C, 0x767A, 0x9197, 0x9AEA, 0x4F10, 0x7F70, 0x629C, 0x7B4F, 0x95A5, 0x9CE9, 0x567A, 0x5859, 0x86E4, 0x96BC, 0x4F34, 0x5224, 0x534A, 0x53CD, 0x53DB, 0x5E06, 0x642C, 0x6591, 0x677F, 0x6C3E, 0x6C4E, 0x7248, 0x72AF, 0x73ED, 0x7554, 0x7E41, 0x822C, 0x85E9, 0x8CA9, 0x7BC4, 0x91C6, 0x7169, 0x9812, 0x98EF, 0x633D, 0x6669, 0x756A, 0x76E4, 0x78D0, 0x8543, 0x86EE, 0x532A, 0x5351, 0x5426, 0x5983, 0x5E87, 0x5F7C, 0x60B2, 0x6249, 0x6279, 0x62AB, 0x6590, 0x6BD4, 0x6CCC, 0x75B2, 0x76AE, 0x7891, 0x79D8, 0x7DCB, 0x7F77, 0x80A5, 0x88AB, 0x8AB9, 0x8CBB, 0x907F, 0x975E, 0x98DB, 0x6A0B, 0x7C38, 0x5099, 0x5C3E, 0x5FAE, 0x6787, 0x6BD8, 0x7435, 0x7709, 0x7F8E}, { /* category 41 */ 0x9F3B, 0x67CA, 0x7A17, 0x5339, 0x758B, 0x9AED, 0x5F66, 0x819D, 0x83F1, 0x8098, 0x5F3C, 0x5FC5, 0x7562, 0x7B46, 0x903C, 0x6867, 0x59EB, 0x5A9B, 0x7D10, 0x767E, 0x8B2C, 0x4FF5, 0x5F6A, 0x6A19, 0x6C37, 0x6F02, 0x74E2, 0x7968, 0x8868, 0x8A55, 0x8C79, 0x5EDF, 0x63CF, 0x75C5, 0x79D2, 0x82D7, 0x9328, 0x92F2, 0x849C, 0x86ED, 0x9C2D, 0x54C1, 0x5F6C, 0x658C, 0x6D5C, 0x7015, 0x8CA7, 0x8CD3, 0x983B, 0x654F, 0x74F6, 0x4E0D, 0x4ED8, 0x57E0, 0x592B, 0x5A66, 0x5BCC, 0x51A8, 0x5E03, 0x5E9C, 0x6016, 0x6276, 0x6577, 0x65A7, 0x666E, 0x6D6E, 0x7236, 0x7B26, 0x8150, 0x819A, 0x8299, 0x8B5C, 0x8CA0, 0x8CE6, 0x8D74, 0x961C, 0x9644, 0x4FAE, 0x64AB, 0x6B66, 0x821E, 0x8461, 0x856A, 0x90E8, 0x5C01, 0x6953, 0x98A8, 0x847A, 0x8557, 0x4F0F, 0x526F, 0x5FA9, 0x5E45, 0x670D}, { /* category 42 */ 0x798F, 0x8179, 0x8907, 0x8986, 0x6DF5, 0x5F17, 0x6255, 0x6CB8, 0x4ECF, 0x7269, 0x9B92, 0x5206, 0x543B, 0x5674, 0x58B3, 0x61A4, 0x626E, 0x711A, 0x596E, 0x7C89, 0x7CDE, 0x7D1B, 0x96F0, 0x6587, 0x805E, 0x4E19, 0x4F75, 0x5175, 0x5840, 0x5E63, 0x5E73, 0x5F0A, 0x67C4, 0x4E26, 0x853D, 0x9589, 0x965B, 0x7C73, 0x9801, 0x50FB, 0x58C1, 0x7656, 0x78A7, 0x5225, 0x77A5, 0x8511, 0x7B86, 0x504F, 0x5909, 0x7247, 0x7BC7, 0x7DE8, 0x8FBA, 0x8FD4, 0x904D, 0x4FBF, 0x52C9, 0x5A29, 0x5F01, 0x97AD, 0x4FDD, 0x8217, 0x92EA, 0x5703, 0x6355, 0x6B69, 0x752B, 0x88DC, 0x8F14, 0x7A42, 0x52DF, 0x5893, 0x6155, 0x620A, 0x66AE, 0x6BCD, 0x7C3F, 0x83E9, 0x5023, 0x4FF8, 0x5305, 0x5446, 0x5831, 0x5949, 0x5B9D, 0x5CF0, 0x5CEF, 0x5D29, 0x5E96, 0x62B1, 0x6367, 0x653E, 0x65B9, 0x670B}, { /* category 43 */ 0x6CD5, 0x6CE1, 0x70F9, 0x7832, 0x7E2B, 0x80DE, 0x82B3, 0x840C, 0x84EC, 0x8702, 0x8912, 0x8A2A, 0x8C4A, 0x90A6, 0x92D2, 0x98FD, 0x9CF3, 0x9D6C, 0x4E4F, 0x4EA1, 0x508D, 0x5256, 0x574A, 0x59A8, 0x5E3D, 0x5FD8, 0x5FD9, 0x623F, 0x66B4, 0x671B, 0x67D0, 0x68D2, 0x5192, 0x7D21, 0x80AA, 0x81A8, 0x8B00, 0x8C8C, 0x8CBF, 0x927E, 0x9632, 0x5420, 0x982C, 0x5317, 0x50D5, 0x535C, 0x58A8, 0x64B2, 0x6734, 0x7267, 0x7766, 0x7A46, 0x91E6, 0x52C3, 0x6CA1, 0x6B86, 0x5800, 0x5E4C, 0x5954, 0x672C, 0x7FFB, 0x51E1, 0x76C6, 0x6469, 0x78E8, 0x9B54, 0x9EBB, 0x57CB, 0x59B9, 0x6627, 0x679A, 0x6BCE, 0x54E9, 0x69D9, 0x5E55, 0x819C, 0x6795, 0x9BAA, 0x67FE, 0x9C52, 0x685D, 0x4EA6, 0x4FE3, 0x53C8, 0x62B9, 0x672B, 0x6CAB, 0x8FC4, 0x4FAD, 0x7E6D, 0x9EBF, 0x4E07, 0x6162, 0x6E80}, { /* category 44 */ 0x6F2B, 0x8513, 0x5473, 0x672A, 0x9B45, 0x5DF3, 0x7B95, 0x5CAC, 0x5BC6, 0x871C, 0x6E4A, 0x84D1, 0x7A14, 0x8108, 0x5999, 0x7C8D, 0x6C11, 0x7720, 0x52D9, 0x5922, 0x7121, 0x725F, 0x77DB, 0x9727, 0x9D61, 0x690B, 0x5A7F, 0x5A18, 0x51A5, 0x540D, 0x547D, 0x660E, 0x76DF, 0x8FF7, 0x9298, 0x9CF4, 0x59EA, 0x725D, 0x6EC5, 0x514D, 0x68C9, 0x7DBF, 0x7DEC, 0x9762, 0x9EBA, 0x6478, 0x6A21, 0x8302, 0x5984, 0x5B5F, 0x6BDB, 0x731B, 0x76F2, 0x7DB2, 0x8017, 0x8499, 0x5132, 0x6728, 0x9ED9, 0x76EE, 0x6762, 0x52FF, 0x9905, 0x5C24, 0x623B, 0x7C7E, 0x8CB0, 0x554F, 0x60B6, 0x7D0B, 0x9580, 0x5301, 0x4E5F, 0x51B6, 0x591C, 0x723A, 0x8036, 0x91CE, 0x5F25, 0x77E2, 0x5384, 0x5F79, 0x7D04, 0x85AC, 0x8A33, 0x8E8D, 0x9756, 0x67F3, 0x85AE, 0x9453, 0x6109, 0x6108, 0x6CB9, 0x7652}, { /* category 45 */ 0x8AED, 0x8F38, 0x552F, 0x4F51, 0x512A, 0x52C7, 0x53CB, 0x5BA5, 0x5E7D, 0x60A0, 0x6182, 0x63D6, 0x6709, 0x67DA, 0x6E67, 0x6D8C, 0x7336, 0x7337, 0x7531, 0x7950, 0x88D5, 0x8A98, 0x904A, 0x9091, 0x90F5, 0x96C4, 0x878D, 0x5915, 0x4E88, 0x4F59, 0x4E0E, 0x8A89, 0x8F3F, 0x9810, 0x50AD, 0x5E7C, 0x5996, 0x5BB9, 0x5EB8, 0x63DA, 0x63FA, 0x64C1, 0x66DC, 0x694A, 0x69D8, 0x6D0B, 0x6EB6, 0x7194, 0x7528, 0x7AAF, 0x7F8A, 0x8000, 0x8449, 0x84C9, 0x8981, 0x8B21, 0x8E0A, 0x9065, 0x967D, 0x990A, 0x617E, 0x6291, 0x6B32, 0x6C83, 0x6D74, 0x7FCC, 0x7FFC, 0x6DC0, 0x7F85, 0x87BA, 0x88F8, 0x6765, 0x83B1, 0x983C, 0x96F7, 0x6D1B, 0x7D61, 0x843D, 0x916A, 0x4E71, 0x5375, 0x5D50, 0x6B04, 0x6FEB, 0x85CD, 0x862D, 0x89A7, 0x5229, 0x540F, 0x5C65, 0x674E, 0x68A8, 0x7406, 0x7483}, { /* category 46 */ 0x75E2, 0x88CF, 0x88E1, 0x91CC, 0x96E2, 0x9678, 0x5F8B, 0x7387, 0x7ACB, 0x844E, 0x63A0, 0x7565, 0x5289, 0x6D41, 0x6E9C, 0x7409, 0x7559, 0x786B, 0x7C92, 0x9686, 0x7ADC, 0x9F8D, 0x4FB6, 0x616E, 0x65C5, 0x865C, 0x4E86, 0x4EAE, 0x50DA, 0x4E21, 0x51CC, 0x5BEE, 0x6599, 0x6881, 0x6DBC, 0x731F, 0x7642, 0x77AD, 0x7A1C, 0x7CE7, 0x826F, 0x8AD2, 0x907C, 0x91CF, 0x9675, 0x9818, 0x529B, 0x7DD1, 0x502B, 0x5398, 0x6797, 0x6DCB, 0x71D0, 0x7433, 0x81E8, 0x8F2A, 0x96A3, 0x9C57, 0x9E9F, 0x7460, 0x5841, 0x6D99, 0x7D2F, 0x985E, 0x4EE4, 0x4F36, 0x4F8B, 0x51B7, 0x52B1, 0x5DBA, 0x601C, 0x73B2, 0x793C, 0x82D3, 0x9234, 0x96B7, 0x96F6, 0x970A, 0x9E97, 0x9F62, 0x66A6, 0x6B74, 0x5217, 0x52A3, 0x70C8, 0x88C2, 0x5EC9, 0x604B, 0x6190, 0x6F23, 0x7149, 0x7C3E, 0x7DF4, 0x806F}, { /* category 47 */ 0x84EE, 0x9023, 0x932C, 0x5442, 0x9B6F, 0x6AD3, 0x7089, 0x8CC2, 0x8DEF, 0x9732, 0x52B4, 0x5A41, 0x5ECA, 0x5F04, 0x6717, 0x697C, 0x6994, 0x6D6A, 0x6F0F, 0x7262, 0x72FC, 0x7BED, 0x8001, 0x807E, 0x874B, 0x90CE, 0x516D, 0x9E93, 0x7984, 0x808B, 0x9332, 0x8AD6, 0x502D, 0x548C, 0x8A71, 0x6B6A, 0x8CC4, 0x8107, 0x60D1, 0x67A0, 0x9DF2, 0x4E99, 0x4E98, 0x9C10, 0x8A6B, 0x85C1, 0x8568, 0x6900, 0x6E7E, 0x7897, 0x8155, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 48 */ 0x5F0C, 0x4E10, 0x4E15, 0x4E2A, 0x4E31, 0x4E36, 0x4E3C, 0x4E3F, 0x4E42, 0x4E56, 0x4E58, 0x4E82, 0x4E85, 0x8C6B, 0x4E8A, 0x8212, 0x5F0D, 0x4E8E, 0x4E9E, 0x4E9F, 0x4EA0, 0x4EA2, 0x4EB0, 0x4EB3, 0x4EB6, 0x4ECE, 0x4ECD, 0x4EC4, 0x4EC6, 0x4EC2, 0x4ED7, 0x4EDE, 0x4EED, 0x4EDF, 0x4EF7, 0x4F09, 0x4F5A, 0x4F30, 0x4F5B, 0x4F5D, 0x4F57, 0x4F47, 0x4F76, 0x4F88, 0x4F8F, 0x4F98, 0x4F7B, 0x4F69, 0x4F70, 0x4F91, 0x4F6F, 0x4F86, 0x4F96, 0x5118, 0x4FD4, 0x4FDF, 0x4FCE, 0x4FD8, 0x4FDB, 0x4FD1, 0x4FDA, 0x4FD0, 0x4FE4, 0x4FE5, 0x501A, 0x5028, 0x5014, 0x502A, 0x5025, 0x5005, 0x4F1C, 0x4FF6, 0x5021, 0x5029, 0x502C, 0x4FFE, 0x4FEF, 0x5011, 0x5006, 0x5043, 0x5047, 0x6703, 0x5055, 0x5050, 0x5048, 0x505A, 0x5056, 0x506C, 0x5078, 0x5080, 0x509A, 0x5085, 0x50B4, 0x50B2}, { /* category 49 */ 0x50C9, 0x50CA, 0x50B3, 0x50C2, 0x50D6, 0x50DE, 0x50E5, 0x50ED, 0x50E3, 0x50EE, 0x50F9, 0x50F5, 0x5109, 0x5101, 0x5102, 0x5116, 0x5115, 0x5114, 0x511A, 0x5121, 0x513A, 0x5137, 0x513C, 0x513B, 0x513F, 0x5140, 0x5152, 0x514C, 0x5154, 0x5162, 0x7AF8, 0x5169, 0x516A, 0x516E, 0x5180, 0x5182, 0x56D8, 0x518C, 0x5189, 0x518F, 0x5191, 0x5193, 0x5195, 0x5196, 0x51A4, 0x51A6, 0x51A2, 0x51A9, 0x51AA, 0x51AB, 0x51B3, 0x51B1, 0x51B2, 0x51B0, 0x51B5, 0x51BD, 0x51C5, 0x51C9, 0x51DB, 0x51E0, 0x8655, 0x51E9, 0x51ED, 0x51F0, 0x51F5, 0x51FE, 0x5204, 0x520B, 0x5214, 0x520E, 0x5227, 0x522A, 0x522E, 0x5233, 0x5239, 0x524F, 0x5244, 0x524B, 0x524C, 0x525E, 0x5254, 0x526A, 0x5274, 0x5269, 0x5273, 0x527F, 0x527D, 0x528D, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8FA8}, { /* category 50 */ 0x8FA7, 0x52AC, 0x52AD, 0x52BC, 0x52B5, 0x52C1, 0x52CD, 0x52D7, 0x52DE, 0x52E3, 0x52E6, 0x98ED, 0x52E0, 0x52F3, 0x52F5, 0x52F8, 0x52F9, 0x5306, 0x5308, 0x7538, 0x530D, 0x5310, 0x530F, 0x5315, 0x531A, 0x5323, 0x532F, 0x5331, 0x5333, 0x5338, 0x5340, 0x5346, 0x5345, 0x4E17, 0x5349, 0x534D, 0x51D6, 0x535E, 0x5369, 0x536E, 0x5918, 0x537B, 0x5377, 0x5382, 0x5396, 0x53A0, 0x53A6, 0x53A5, 0x53AE, 0x53B0, 0x53B6, 0x53C3, 0x7C12, 0x96D9, 0x53DF, 0x66FC, 0x71EE, 0x53EE, 0x53E8, 0x53ED, 0x53FA, 0x5401, 0x543D, 0x5440, 0x542C, 0x542D, 0x543C, 0x542E, 0x5436, 0x5429, 0x541D, 0x544E, 0x548F, 0x5475, 0x548E, 0x545F, 0x5471, 0x5477, 0x5470, 0x5492, 0x547B, 0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54C7, 0x54A2, 0x54B8, 0x54A5, 0x54AC, 0x54C4, 0x54C8, 0x54A8}, { /* category 51 */ 0x54AB, 0x54C2, 0x54A4, 0x54BE, 0x54BC, 0x54D8, 0x54E5, 0x54E6, 0x550F, 0x5514, 0x54FD, 0x54EE, 0x54ED, 0x54FA, 0x54E2, 0x5539, 0x5540, 0x5563, 0x554C, 0x552E, 0x555C, 0x5545, 0x5556, 0x5557, 0x5538, 0x5533, 0x555D, 0x5599, 0x5580, 0x54AF, 0x558A, 0x559F, 0x557B, 0x557E, 0x5598, 0x559E, 0x55AE, 0x557C, 0x5583, 0x55A9, 0x5587, 0x55A8, 0x55DA, 0x55C5, 0x55DF, 0x55C4, 0x55DC, 0x55E4, 0x55D4, 0x5614, 0x55F7, 0x5616, 0x55FE, 0x55FD, 0x561B, 0x55F9, 0x564E, 0x5650, 0x71DF, 0x5634, 0x5636, 0x5632, 0x5638, 0x566B, 0x5664, 0x562F, 0x566C, 0x566A, 0x5686, 0x5680, 0x568A, 0x56A0, 0x5694, 0x568F, 0x56A5, 0x56AE, 0x56B6, 0x56B4, 0x56C2, 0x56BC, 0x56C1, 0x56C3, 0x56C0, 0x56C8, 0x56CE, 0x56D1, 0x56D3, 0x56D7, 0x56EE, 0x56F9, 0x5700, 0x56FF, 0x5704, 0x5709}, { /* category 52 */ 0x5708, 0x570B, 0x570D, 0x5713, 0x5718, 0x5716, 0x55C7, 0x571C, 0x5726, 0x5737, 0x5738, 0x574E, 0x573B, 0x5740, 0x574F, 0x5769, 0x57C0, 0x5788, 0x5761, 0x577F, 0x5789, 0x5793, 0x57A0, 0x57B3, 0x57A4, 0x57AA, 0x57B0, 0x57C3, 0x57C6, 0x57D4, 0x57D2, 0x57D3, 0x580A, 0x57D6, 0x57E3, 0x580B, 0x5819, 0x581D, 0x5872, 0x5821, 0x5862, 0x584B, 0x5870, 0x6BC0, 0x5852, 0x583D, 0x5879, 0x5885, 0x58B9, 0x589F, 0x58AB, 0x58BA, 0x58DE, 0x58BB, 0x58B8, 0x58AE, 0x58C5, 0x58D3, 0x58D1, 0x58D7, 0x58D9, 0x58D8, 0x58E5, 0x58DC, 0x58E4, 0x58DF, 0x58EF, 0x58FA, 0x58F9, 0x58FB, 0x58FC, 0x58FD, 0x5902, 0x590A, 0x5910, 0x591B, 0x68A6, 0x5925, 0x592C, 0x592D, 0x5932, 0x5938, 0x593E, 0x7AD2, 0x5955, 0x5950, 0x594E, 0x595A, 0x5958, 0x5962, 0x5960, 0x5967, 0x596C, 0x5969}, { /* category 53 */ 0x5978, 0x5981, 0x599D, 0x4F5E, 0x4FAB, 0x59A3, 0x59B2, 0x59C6, 0x59E8, 0x59DC, 0x598D, 0x59D9, 0x59DA, 0x5A25, 0x5A1F, 0x5A11, 0x5A1C, 0x5A09, 0x5A1A, 0x5A40, 0x5A6C, 0x5A49, 0x5A35, 0x5A36, 0x5A62, 0x5A6A, 0x5A9A, 0x5ABC, 0x5ABE, 0x5ACB, 0x5AC2, 0x5ABD, 0x5AE3, 0x5AD7, 0x5AE6, 0x5AE9, 0x5AD6, 0x5AFA, 0x5AFB, 0x5B0C, 0x5B0B, 0x5B16, 0x5B32, 0x5AD0, 0x5B2A, 0x5B36, 0x5B3E, 0x5B43, 0x5B45, 0x5B40, 0x5B51, 0x5B55, 0x5B5A, 0x5B5B, 0x5B65, 0x5B69, 0x5B70, 0x5B73, 0x5B75, 0x5B78, 0x6588, 0x5B7A, 0x5B80, 0x5B83, 0x5BA6, 0x5BB8, 0x5BC3, 0x5BC7, 0x5BC9, 0x5BD4, 0x5BD0, 0x5BE4, 0x5BE6, 0x5BE2, 0x5BDE, 0x5BE5, 0x5BEB, 0x5BF0, 0x5BF6, 0x5BF3, 0x5C05, 0x5C07, 0x5C08, 0x5C0D, 0x5C13, 0x5C20, 0x5C22, 0x5C28, 0x5C38, 0x5C39, 0x5C41, 0x5C46, 0x5C4E, 0x5C53}, { /* category 54 */ 0x5C50, 0x5C4F, 0x5B71, 0x5C6C, 0x5C6E, 0x4E62, 0x5C76, 0x5C79, 0x5C8C, 0x5C91, 0x5C94, 0x599B, 0x5CAB, 0x5CBB, 0x5CB6, 0x5CBC, 0x5CB7, 0x5CC5, 0x5CBE, 0x5CC7, 0x5CD9, 0x5CE9, 0x5CFD, 0x5CFA, 0x5CED, 0x5D8C, 0x5CEA, 0x5D0B, 0x5D15, 0x5D17, 0x5D5C, 0x5D1F, 0x5D1B, 0x5D11, 0x5D14, 0x5D22, 0x5D1A, 0x5D19, 0x5D18, 0x5D4C, 0x5D52, 0x5D4E, 0x5D4B, 0x5D6C, 0x5D73, 0x5D76, 0x5D87, 0x5D84, 0x5D82, 0x5DA2, 0x5D9D, 0x5DAC, 0x5DAE, 0x5DBD, 0x5D90, 0x5DB7, 0x5DBC, 0x5DC9, 0x5DCD, 0x5DD3, 0x5DD2, 0x5DD6, 0x5DDB, 0x5DEB, 0x5DF2, 0x5DF5, 0x5E0B, 0x5E1A, 0x5E19, 0x5E11, 0x5E1B, 0x5E36, 0x5E37, 0x5E44, 0x5E43, 0x5E40, 0x5E4E, 0x5E57, 0x5E54, 0x5E5F, 0x5E62, 0x5E64, 0x5E47, 0x5E75, 0x5E76, 0x5E7A, 0x9EBC, 0x5E7F, 0x5EA0, 0x5EC1, 0x5EC2, 0x5EC8, 0x5ED0, 0x5ECF}, { /* category 55 */ 0x5ED6, 0x5EE3, 0x5EDD, 0x5EDA, 0x5EDB, 0x5EE2, 0x5EE1, 0x5EE8, 0x5EE9, 0x5EEC, 0x5EF1, 0x5EF3, 0x5EF0, 0x5EF4, 0x5EF8, 0x5EFE, 0x5F03, 0x5F09, 0x5F5D, 0x5F5C, 0x5F0B, 0x5F11, 0x5F16, 0x5F29, 0x5F2D, 0x5F38, 0x5F41, 0x5F48, 0x5F4C, 0x5F4E, 0x5F2F, 0x5F51, 0x5F56, 0x5F57, 0x5F59, 0x5F61, 0x5F6D, 0x5F73, 0x5F77, 0x5F83, 0x5F82, 0x5F7F, 0x5F8A, 0x5F88, 0x5F91, 0x5F87, 0x5F9E, 0x5F99, 0x5F98, 0x5FA0, 0x5FA8, 0x5FAD, 0x5FBC, 0x5FD6, 0x5FFB, 0x5FE4, 0x5FF8, 0x5FF1, 0x5FDD, 0x60B3, 0x5FFF, 0x6021, 0x6060, 0x6019, 0x6010, 0x6029, 0x600E, 0x6031, 0x601B, 0x6015, 0x602B, 0x6026, 0x600F, 0x603A, 0x605A, 0x6041, 0x606A, 0x6077, 0x605F, 0x604A, 0x6046, 0x604D, 0x6063, 0x6043, 0x6064, 0x6042, 0x606C, 0x606B, 0x6059, 0x6081, 0x608D, 0x60E7, 0x6083, 0x609A}, { /* category 56 */ 0x6084, 0x609B, 0x6096, 0x6097, 0x6092, 0x60A7, 0x608B, 0x60E1, 0x60B8, 0x60E0, 0x60D3, 0x60B4, 0x5FF0, 0x60BD, 0x60C6, 0x60B5, 0x60D8, 0x614D, 0x6115, 0x6106, 0x60F6, 0x60F7, 0x6100, 0x60F4, 0x60FA, 0x6103, 0x6121, 0x60FB, 0x60F1, 0x610D, 0x610E, 0x6147, 0x613E, 0x6128, 0x6127, 0x614A, 0x613F, 0x613C, 0x612C, 0x6134, 0x613D, 0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159, 0x615A, 0x616B, 0x6174, 0x616F, 0x6165, 0x6171, 0x615F, 0x615D, 0x6153, 0x6175, 0x6199, 0x6196, 0x6187, 0x61AC, 0x6194, 0x619A, 0x618A, 0x6191, 0x61AB, 0x61AE, 0x61CC, 0x61CA, 0x61C9, 0x61F7, 0x61C8, 0x61C3, 0x61C6, 0x61BA, 0x61CB, 0x7F79, 0x61CD, 0x61E6, 0x61E3, 0x61F6, 0x61FA, 0x61F4, 0x61FF, 0x61FD, 0x61FC, 0x61FE, 0x6200, 0x6208, 0x6209, 0x620D, 0x620C, 0x6214, 0x621B}, { /* category 57 */ 0x621E, 0x6221, 0x622A, 0x622E, 0x6230, 0x6232, 0x6233, 0x6241, 0x624E, 0x625E, 0x6263, 0x625B, 0x6260, 0x6268, 0x627C, 0x6282, 0x6289, 0x627E, 0x6292, 0x6293, 0x6296, 0x62D4, 0x6283, 0x6294, 0x62D7, 0x62D1, 0x62BB, 0x62CF, 0x62FF, 0x62C6, 0x64D4, 0x62C8, 0x62DC, 0x62CC, 0x62CA, 0x62C2, 0x62C7, 0x629B, 0x62C9, 0x630C, 0x62EE, 0x62F1, 0x6327, 0x6302, 0x6308, 0x62EF, 0x62F5, 0x6350, 0x633E, 0x634D, 0x641C, 0x634F, 0x6396, 0x638E, 0x6380, 0x63AB, 0x6376, 0x63A3, 0x638F, 0x6389, 0x639F, 0x63B5, 0x636B, 0x6369, 0x63BE, 0x63E9, 0x63C0, 0x63C6, 0x63E3, 0x63C9, 0x63D2, 0x63F6, 0x63C4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436, 0x651D, 0x6417, 0x6428, 0x640F, 0x6467, 0x646F, 0x6476, 0x644E, 0x652A, 0x6495, 0x6493, 0x64A5, 0x64A9, 0x6488, 0x64BC}, { /* category 58 */ 0x64DA, 0x64D2, 0x64C5, 0x64C7, 0x64BB, 0x64D8, 0x64C2, 0x64F1, 0x64E7, 0x8209, 0x64E0, 0x64E1, 0x62AC, 0x64E3, 0x64EF, 0x652C, 0x64F6, 0x64F4, 0x64F2, 0x64FA, 0x6500, 0x64FD, 0x6518, 0x651C, 0x6505, 0x6524, 0x6523, 0x652B, 0x6534, 0x6535, 0x6537, 0x6536, 0x6538, 0x754B, 0x6548, 0x6556, 0x6555, 0x654D, 0x6558, 0x655E, 0x655D, 0x6572, 0x6578, 0x6582, 0x6583, 0x8B8A, 0x659B, 0x659F, 0x65AB, 0x65B7, 0x65C3, 0x65C6, 0x65C1, 0x65C4, 0x65CC, 0x65D2, 0x65DB, 0x65D9, 0x65E0, 0x65E1, 0x65F1, 0x6772, 0x660A, 0x6603, 0x65FB, 0x6773, 0x6635, 0x6636, 0x6634, 0x661C, 0x664F, 0x6644, 0x6649, 0x6641, 0x665E, 0x665D, 0x6664, 0x6667, 0x6668, 0x665F, 0x6662, 0x6670, 0x6683, 0x6688, 0x668E, 0x6689, 0x6684, 0x6698, 0x669D, 0x66C1, 0x66B9, 0x66C9, 0x66BE, 0x66BC}, { /* category 59 */ 0x66C4, 0x66B8, 0x66D6, 0x66DA, 0x66E0, 0x663F, 0x66E6, 0x66E9, 0x66F0, 0x66F5, 0x66F7, 0x670F, 0x6716, 0x671E, 0x6726, 0x6727, 0x9738, 0x672E, 0x673F, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746, 0x675E, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770, 0x67A9, 0x677C, 0x676A, 0x678C, 0x678B, 0x67A6, 0x67A1, 0x6785, 0x67B7, 0x67EF, 0x67B4, 0x67EC, 0x67B3, 0x67E9, 0x67B8, 0x67E4, 0x67DE, 0x67DD, 0x67E2, 0x67EE, 0x67B9, 0x67CE, 0x67C6, 0x67E7, 0x6A9C, 0x681E, 0x6846, 0x6829, 0x6840, 0x684D, 0x6832, 0x684E, 0x68B3, 0x682B, 0x6859, 0x6863, 0x6877, 0x687F, 0x689F, 0x688F, 0x68AD, 0x6894, 0x689D, 0x689B, 0x6883, 0x6AAE, 0x68B9, 0x6874, 0x68B5, 0x68A0, 0x68BA, 0x690F, 0x688D, 0x687E, 0x6901, 0x68CA, 0x6908, 0x68D8, 0x6922, 0x6926, 0x68E1, 0x690C, 0x68CD}, { /* category 60 */ 0x68D4, 0x68E7, 0x68D5, 0x6936, 0x6912, 0x6904, 0x68D7, 0x68E3, 0x6925, 0x68F9, 0x68E0, 0x68EF, 0x6928, 0x692A, 0x691A, 0x6923, 0x6921, 0x68C6, 0x6979, 0x6977, 0x695C, 0x6978, 0x696B, 0x6954, 0x697E, 0x696E, 0x6939, 0x6974, 0x693D, 0x6959, 0x6930, 0x6961, 0x695E, 0x695D, 0x6981, 0x696A, 0x69B2, 0x69AE, 0x69D0, 0x69BF, 0x69C1, 0x69D3, 0x69BE, 0x69CE, 0x5BE8, 0x69CA, 0x69DD, 0x69BB, 0x69C3, 0x69A7, 0x6A2E, 0x6991, 0x69A0, 0x699C, 0x6995, 0x69B4, 0x69DE, 0x69E8, 0x6A02, 0x6A1B, 0x69FF, 0x6B0A, 0x69F9, 0x69F2, 0x69E7, 0x6A05, 0x69B1, 0x6A1E, 0x69ED, 0x6A14, 0x69EB, 0x6A0A, 0x6A12, 0x6AC1, 0x6A23, 0x6A13, 0x6A44, 0x6A0C, 0x6A72, 0x6A36, 0x6A78, 0x6A47, 0x6A62, 0x6A59, 0x6A66, 0x6A48, 0x6A38, 0x6A22, 0x6A90, 0x6A8D, 0x6AA0, 0x6A84, 0x6AA2, 0x6AA3}, { /* category 61 */ 0x6A97, 0x8617, 0x6ABB, 0x6AC3, 0x6AC2, 0x6AB8, 0x6AB3, 0x6AAC, 0x6ADE, 0x6AD1, 0x6ADF, 0x6AAA, 0x6ADA, 0x6AEA, 0x6AFB, 0x6B05, 0x8616, 0x6AFA, 0x6B12, 0x6B16, 0x9B31, 0x6B1F, 0x6B38, 0x6B37, 0x76DC, 0x6B39, 0x98EE, 0x6B47, 0x6B43, 0x6B49, 0x6B50, 0x6B59, 0x6B54, 0x6B5B, 0x6B5F, 0x6B61, 0x6B78, 0x6B79, 0x6B7F, 0x6B80, 0x6B84, 0x6B83, 0x6B8D, 0x6B98, 0x6B95, 0x6B9E, 0x6BA4, 0x6BAA, 0x6BAB, 0x6BAF, 0x6BB2, 0x6BB1, 0x6BB3, 0x6BB7, 0x6BBC, 0x6BC6, 0x6BCB, 0x6BD3, 0x6BDF, 0x6BEC, 0x6BEB, 0x6BF3, 0x6BEF, 0x9EBE, 0x6C08, 0x6C13, 0x6C14, 0x6C1B, 0x6C24, 0x6C23, 0x6C5E, 0x6C55, 0x6C62, 0x6C6A, 0x6C82, 0x6C8D, 0x6C9A, 0x6C81, 0x6C9B, 0x6C7E, 0x6C68, 0x6C73, 0x6C92, 0x6C90, 0x6CC4, 0x6CF1, 0x6CD3, 0x6CBD, 0x6CD7, 0x6CC5, 0x6CDD, 0x6CAE, 0x6CB1, 0x6CBE}, { /* category 62 */ 0x6CBA, 0x6CDB, 0x6CEF, 0x6CD9, 0x6CEA, 0x6D1F, 0x884D, 0x6D36, 0x6D2B, 0x6D3D, 0x6D38, 0x6D19, 0x6D35, 0x6D33, 0x6D12, 0x6D0C, 0x6D63, 0x6D93, 0x6D64, 0x6D5A, 0x6D79, 0x6D59, 0x6D8E, 0x6D95, 0x6FE4, 0x6D85, 0x6DF9, 0x6E15, 0x6E0A, 0x6DB5, 0x6DC7, 0x6DE6, 0x6DB8, 0x6DC6, 0x6DEC, 0x6DDE, 0x6DCC, 0x6DE8, 0x6DD2, 0x6DC5, 0x6DFA, 0x6DD9, 0x6DE4, 0x6DD5, 0x6DEA, 0x6DEE, 0x6E2D, 0x6E6E, 0x6E2E, 0x6E19, 0x6E72, 0x6E5F, 0x6E3E, 0x6E23, 0x6E6B, 0x6E2B, 0x6E76, 0x6E4D, 0x6E1F, 0x6E43, 0x6E3A, 0x6E4E, 0x6E24, 0x6EFF, 0x6E1D, 0x6E38, 0x6E82, 0x6EAA, 0x6E98, 0x6EC9, 0x6EB7, 0x6ED3, 0x6EBD, 0x6EAF, 0x6EC4, 0x6EB2, 0x6ED4, 0x6ED5, 0x6E8F, 0x6EA5, 0x6EC2, 0x6E9F, 0x6F41, 0x6F11, 0x704C, 0x6EEC, 0x6EF8, 0x6EFE, 0x6F3F, 0x6EF2, 0x6F31, 0x6EEF, 0x6F32, 0x6ECC}, { /* category 63 */ 0x6F3E, 0x6F13, 0x6EF7, 0x6F86, 0x6F7A, 0x6F78, 0x6F81, 0x6F80, 0x6F6F, 0x6F5B, 0x6FF3, 0x6F6D, 0x6F82, 0x6F7C, 0x6F58, 0x6F8E, 0x6F91, 0x6FC2, 0x6F66, 0x6FB3, 0x6FA3, 0x6FA1, 0x6FA4, 0x6FB9, 0x6FC6, 0x6FAA, 0x6FDF, 0x6FD5, 0x6FEC, 0x6FD4, 0x6FD8, 0x6FF1, 0x6FEE, 0x6FDB, 0x7009, 0x700B, 0x6FFA, 0x7011, 0x7001, 0x700F, 0x6FFE, 0x701B, 0x701A, 0x6F74, 0x701D, 0x7018, 0x701F, 0x7030, 0x703E, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70AF, 0x70F1, 0x70AC, 0x70B8, 0x70B3, 0x70AE, 0x70DF, 0x70CB, 0x70DD, 0x70D9, 0x7109, 0x70FD, 0x711C, 0x7119, 0x7165, 0x7155, 0x7188, 0x7166, 0x7162, 0x714C, 0x7156, 0x716C, 0x718F, 0x71FB, 0x7184, 0x7195, 0x71A8, 0x71AC, 0x71D7, 0x71B9, 0x71BE, 0x71D2, 0x71C9, 0x71D4, 0x71CE, 0x71E0, 0x71EC, 0x71E7, 0x71F5, 0x71FC}, { /* category 64 */ 0x71F9, 0x71FF, 0x720D, 0x7210, 0x721B, 0x7228, 0x722D, 0x722C, 0x7230, 0x7232, 0x723B, 0x723C, 0x723F, 0x7240, 0x7246, 0x724B, 0x7258, 0x7274, 0x727E, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, 0x72A2, 0x72A7, 0x72B9, 0x72B2, 0x72C3, 0x72C6, 0x72C4, 0x72CE, 0x72D2, 0x72E2, 0x72E0, 0x72E1, 0x72F9, 0x72F7, 0x500F, 0x7317, 0x730A, 0x731C, 0x7316, 0x731D, 0x7334, 0x732F, 0x7329, 0x7325, 0x733E, 0x734E, 0x734F, 0x9ED8, 0x7357, 0x736A, 0x7368, 0x7370, 0x7378, 0x7375, 0x737B, 0x737A, 0x73C8, 0x73B3, 0x73CE, 0x73BB, 0x73C0, 0x73E5, 0x73EE, 0x73DE, 0x74A2, 0x7405, 0x746F, 0x7425, 0x73F8, 0x7432, 0x743A, 0x7455, 0x743F, 0x745F, 0x7459, 0x7441, 0x745C, 0x7469, 0x7470, 0x7463, 0x746A, 0x7476, 0x747E, 0x748B, 0x749E, 0x74A7, 0x74CA, 0x74CF, 0x74D4, 0x73F1}, { /* category 65 */ 0x74E0, 0x74E3, 0x74E7, 0x74E9, 0x74EE, 0x74F2, 0x74F0, 0x74F1, 0x74F8, 0x74F7, 0x7504, 0x7503, 0x7505, 0x750C, 0x750E, 0x750D, 0x7515, 0x7513, 0x751E, 0x7526, 0x752C, 0x753C, 0x7544, 0x754D, 0x754A, 0x7549, 0x755B, 0x7546, 0x755A, 0x7569, 0x7564, 0x7567, 0x756B, 0x756D, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574, 0x758A, 0x7589, 0x7582, 0x7594, 0x759A, 0x759D, 0x75A5, 0x75A3, 0x75C2, 0x75B3, 0x75C3, 0x75B5, 0x75BD, 0x75B8, 0x75BC, 0x75B1, 0x75CD, 0x75CA, 0x75D2, 0x75D9, 0x75E3, 0x75DE, 0x75FE, 0x75FF, 0x75FC, 0x7601, 0x75F0, 0x75FA, 0x75F2, 0x75F3, 0x760B, 0x760D, 0x7609, 0x761F, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634, 0x7630, 0x763B, 0x7647, 0x7648, 0x7646, 0x765C, 0x7658, 0x7661, 0x7662, 0x7668, 0x7669, 0x766A, 0x7667, 0x766C, 0x7670}, { /* category 66 */ 0x7672, 0x7676, 0x7678, 0x767C, 0x7680, 0x7683, 0x7688, 0x768B, 0x768E, 0x7696, 0x7693, 0x7699, 0x769A, 0x76B0, 0x76B4, 0x76B8, 0x76B9, 0x76BA, 0x76C2, 0x76CD, 0x76D6, 0x76D2, 0x76DE, 0x76E1, 0x76E5, 0x76E7, 0x76EA, 0x862F, 0x76FB, 0x7708, 0x7707, 0x7704, 0x7729, 0x7724, 0x771E, 0x7725, 0x7726, 0x771B, 0x7737, 0x7738, 0x7747, 0x775A, 0x7768, 0x776B, 0x775B, 0x7765, 0x777F, 0x777E, 0x7779, 0x778E, 0x778B, 0x7791, 0x77A0, 0x779E, 0x77B0, 0x77B6, 0x77B9, 0x77BF, 0x77BC, 0x77BD, 0x77BB, 0x77C7, 0x77CD, 0x77D7, 0x77DA, 0x77DC, 0x77E3, 0x77EE, 0x77FC, 0x780C, 0x7812, 0x7926, 0x7820, 0x792A, 0x7845, 0x788E, 0x7874, 0x7886, 0x787C, 0x789A, 0x788C, 0x78A3, 0x78B5, 0x78AA, 0x78AF, 0x78D1, 0x78C6, 0x78CB, 0x78D4, 0x78BE, 0x78BC, 0x78C5, 0x78CA, 0x78EC}, { /* category 67 */ 0x78E7, 0x78DA, 0x78FD, 0x78F4, 0x7907, 0x7912, 0x7911, 0x7919, 0x792C, 0x792B, 0x7940, 0x7960, 0x7957, 0x795F, 0x795A, 0x7955, 0x7953, 0x797A, 0x797F, 0x798A, 0x799D, 0x79A7, 0x9F4B, 0x79AA, 0x79AE, 0x79B3, 0x79B9, 0x79BA, 0x79C9, 0x79D5, 0x79E7, 0x79EC, 0x79E1, 0x79E3, 0x7A08, 0x7A0D, 0x7A18, 0x7A19, 0x7A20, 0x7A1F, 0x7980, 0x7A31, 0x7A3B, 0x7A3E, 0x7A37, 0x7A43, 0x7A57, 0x7A49, 0x7A61, 0x7A62, 0x7A69, 0x9F9D, 0x7A70, 0x7A79, 0x7A7D, 0x7A88, 0x7A97, 0x7A95, 0x7A98, 0x7A96, 0x7AA9, 0x7AC8, 0x7AB0, 0x7AB6, 0x7AC5, 0x7AC4, 0x7ABF, 0x9083, 0x7AC7, 0x7ACA, 0x7ACD, 0x7ACF, 0x7AD5, 0x7AD3, 0x7AD9, 0x7ADA, 0x7ADD, 0x7AE1, 0x7AE2, 0x7AE6, 0x7AED, 0x7AF0, 0x7B02, 0x7B0F, 0x7B0A, 0x7B06, 0x7B33, 0x7B18, 0x7B19, 0x7B1E, 0x7B35, 0x7B28, 0x7B36, 0x7B50}, { /* category 68 */ 0x7B7A, 0x7B04, 0x7B4D, 0x7B0B, 0x7B4C, 0x7B45, 0x7B75, 0x7B65, 0x7B74, 0x7B67, 0x7B70, 0x7B71, 0x7B6C, 0x7B6E, 0x7B9D, 0x7B98, 0x7B9F, 0x7B8D, 0x7B9C, 0x7B9A, 0x7B8B, 0x7B92, 0x7B8F, 0x7B5D, 0x7B99, 0x7BCB, 0x7BC1, 0x7BCC, 0x7BCF, 0x7BB4, 0x7BC6, 0x7BDD, 0x7BE9, 0x7C11, 0x7C14, 0x7BE6, 0x7BE5, 0x7C60, 0x7C00, 0x7C07, 0x7C13, 0x7BF3, 0x7BF7, 0x7C17, 0x7C0D, 0x7BF6, 0x7C23, 0x7C27, 0x7C2A, 0x7C1F, 0x7C37, 0x7C2B, 0x7C3D, 0x7C4C, 0x7C43, 0x7C54, 0x7C4F, 0x7C40, 0x7C50, 0x7C58, 0x7C5F, 0x7C64, 0x7C56, 0x7C65, 0x7C6C, 0x7C75, 0x7C83, 0x7C90, 0x7CA4, 0x7CAD, 0x7CA2, 0x7CAB, 0x7CA1, 0x7CA8, 0x7CB3, 0x7CB2, 0x7CB1, 0x7CAE, 0x7CB9, 0x7CBD, 0x7CC0, 0x7CC5, 0x7CC2, 0x7CD8, 0x7CD2, 0x7CDC, 0x7CE2, 0x9B3B, 0x7CEF, 0x7CF2, 0x7CF4, 0x7CF6, 0x7CFA, 0x7D06}, { /* category 69 */ 0x7D02, 0x7D1C, 0x7D15, 0x7D0A, 0x7D45, 0x7D4B, 0x7D2E, 0x7D32, 0x7D3F, 0x7D35, 0x7D46, 0x7D73, 0x7D56, 0x7D4E, 0x7D72, 0x7D68, 0x7D6E, 0x7D4F, 0x7D63, 0x7D93, 0x7D89, 0x7D5B, 0x7D8F, 0x7D7D, 0x7D9B, 0x7DBA, 0x7DAE, 0x7DA3, 0x7DB5, 0x7DC7, 0x7DBD, 0x7DAB, 0x7E3D, 0x7DA2, 0x7DAF, 0x7DDC, 0x7DB8, 0x7D9F, 0x7DB0, 0x7DD8, 0x7DDD, 0x7DE4, 0x7DDE, 0x7DFB, 0x7DF2, 0x7DE1, 0x7E05, 0x7E0A, 0x7E23, 0x7E21, 0x7E12, 0x7E31, 0x7E1F, 0x7E09, 0x7E0B, 0x7E22, 0x7E46, 0x7E66, 0x7E3B, 0x7E35, 0x7E39, 0x7E43, 0x7E37, 0x7E32, 0x7E3A, 0x7E67, 0x7E5D, 0x7E56, 0x7E5E, 0x7E59, 0x7E5A, 0x7E79, 0x7E6A, 0x7E69, 0x7E7C, 0x7E7B, 0x7E83, 0x7DD5, 0x7E7D, 0x8FAE, 0x7E7F, 0x7E88, 0x7E89, 0x7E8C, 0x7E92, 0x7E90, 0x7E93, 0x7E94, 0x7E96, 0x7E8E, 0x7E9B, 0x7E9C, 0x7F38, 0x7F3A}, { /* category 70 */ 0x7F45, 0x7F4C, 0x7F4D, 0x7F4E, 0x7F50, 0x7F51, 0x7F55, 0x7F54, 0x7F58, 0x7F5F, 0x7F60, 0x7F68, 0x7F69, 0x7F67, 0x7F78, 0x7F82, 0x7F86, 0x7F83, 0x7F88, 0x7F87, 0x7F8C, 0x7F94, 0x7F9E, 0x7F9D, 0x7F9A, 0x7FA3, 0x7FAF, 0x7FB2, 0x7FB9, 0x7FAE, 0x7FB6, 0x7FB8, 0x8B71, 0x7FC5, 0x7FC6, 0x7FCA, 0x7FD5, 0x7FD4, 0x7FE1, 0x7FE6, 0x7FE9, 0x7FF3, 0x7FF9, 0x98DC, 0x8006, 0x8004, 0x800B, 0x8012, 0x8018, 0x8019, 0x801C, 0x8021, 0x8028, 0x803F, 0x803B, 0x804A, 0x8046, 0x8052, 0x8058, 0x805A, 0x805F, 0x8062, 0x8068, 0x8073, 0x8072, 0x8070, 0x8076, 0x8079, 0x807D, 0x807F, 0x8084, 0x8086, 0x8085, 0x809B, 0x8093, 0x809A, 0x80AD, 0x5190, 0x80AC, 0x80DB, 0x80E5, 0x80D9, 0x80DD, 0x80C4, 0x80DA, 0x80D6, 0x8109, 0x80EF, 0x80F1, 0x811B, 0x8129, 0x8123, 0x812F, 0x814B}, { /* category 71 */ 0x968B, 0x8146, 0x813E, 0x8153, 0x8151, 0x80FC, 0x8171, 0x816E, 0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818A, 0x8180, 0x8182, 0x81A0, 0x8195, 0x81A4, 0x81A3, 0x815F, 0x8193, 0x81A9, 0x81B0, 0x81B5, 0x81BE, 0x81B8, 0x81BD, 0x81C0, 0x81C2, 0x81BA, 0x81C9, 0x81CD, 0x81D1, 0x81D9, 0x81D8, 0x81C8, 0x81DA, 0x81DF, 0x81E0, 0x81E7, 0x81FA, 0x81FB, 0x81FE, 0x8201, 0x8202, 0x8205, 0x8207, 0x820A, 0x820D, 0x8210, 0x8216, 0x8229, 0x822B, 0x8238, 0x8233, 0x8240, 0x8259, 0x8258, 0x825D, 0x825A, 0x825F, 0x8264, 0x8262, 0x8268, 0x826A, 0x826B, 0x822E, 0x8271, 0x8277, 0x8278, 0x827E, 0x828D, 0x8292, 0x82AB, 0x829F, 0x82BB, 0x82AC, 0x82E1, 0x82E3, 0x82DF, 0x82D2, 0x82F4, 0x82F3, 0x82FA, 0x8393, 0x8303, 0x82FB, 0x82F9, 0x82DE, 0x8306, 0x82DC, 0x8309, 0x82D9}, { /* category 72 */ 0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, 0x8345, 0x832F, 0x832B, 0x8317, 0x8318, 0x8385, 0x839A, 0x83AA, 0x839F, 0x83A2, 0x8396, 0x8323, 0x838E, 0x8387, 0x838A, 0x837C, 0x83B5, 0x8373, 0x8375, 0x83A0, 0x8389, 0x83A8, 0x83F4, 0x8413, 0x83EB, 0x83CE, 0x83FD, 0x8403, 0x83D8, 0x840B, 0x83C1, 0x83F7, 0x8407, 0x83E0, 0x83F2, 0x840D, 0x8422, 0x8420, 0x83BD, 0x8438, 0x8506, 0x83FB, 0x846D, 0x842A, 0x843C, 0x855A, 0x8484, 0x8477, 0x846B, 0x84AD, 0x846E, 0x8482, 0x8469, 0x8446, 0x842C, 0x846F, 0x8479, 0x8435, 0x84CA, 0x8462, 0x84B9, 0x84BF, 0x849F, 0x84D9, 0x84CD, 0x84BB, 0x84DA, 0x84D0, 0x84C1, 0x84C6, 0x84D6, 0x84A1, 0x8521, 0x84FF, 0x84F4, 0x8517, 0x8518, 0x852C, 0x851F, 0x8515, 0x8514, 0x84FC, 0x8540, 0x8563, 0x8558, 0x8548}, { /* category 73 */ 0x8541, 0x8602, 0x854B, 0x8555, 0x8580, 0x85A4, 0x8588, 0x8591, 0x858A, 0x85A8, 0x856D, 0x8594, 0x859B, 0x85EA, 0x8587, 0x859C, 0x8577, 0x857E, 0x8590, 0x85C9, 0x85BA, 0x85CF, 0x85B9, 0x85D0, 0x85D5, 0x85DD, 0x85E5, 0x85DC, 0x85F9, 0x860A, 0x8613, 0x860B, 0x85FE, 0x85FA, 0x8606, 0x8622, 0x861A, 0x8630, 0x863F, 0x864D, 0x4E55, 0x8654, 0x865F, 0x8667, 0x8671, 0x8693, 0x86A3, 0x86A9, 0x86AA, 0x868B, 0x868C, 0x86B6, 0x86AF, 0x86C4, 0x86C6, 0x86B0, 0x86C9, 0x8823, 0x86AB, 0x86D4, 0x86DE, 0x86E9, 0x86EC, 0x86DF, 0x86DB, 0x86EF, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703, 0x86FB, 0x8711, 0x8709, 0x870D, 0x86F9, 0x870A, 0x8734, 0x873F, 0x8737, 0x873B, 0x8725, 0x8729, 0x871A, 0x8760, 0x875F, 0x8778, 0x874C, 0x874E, 0x8774, 0x8757, 0x8768, 0x876E, 0x8759}, { /* category 74 */ 0x8753, 0x8763, 0x876A, 0x8805, 0x87A2, 0x879F, 0x8782, 0x87AF, 0x87CB, 0x87BD, 0x87C0, 0x87D0, 0x96D6, 0x87AB, 0x87C4, 0x87B3, 0x87C7, 0x87C6, 0x87BB, 0x87EF, 0x87F2, 0x87E0, 0x880F, 0x880D, 0x87FE, 0x87F6, 0x87F7, 0x880E, 0x87D2, 0x8811, 0x8816, 0x8815, 0x8822, 0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883B, 0x8844, 0x8842, 0x8852, 0x8859, 0x885E, 0x8862, 0x886B, 0x8881, 0x887E, 0x889E, 0x8875, 0x887D, 0x88B5, 0x8872, 0x8882, 0x8897, 0x8892, 0x88AE, 0x8899, 0x88A2, 0x888D, 0x88A4, 0x88B0, 0x88BF, 0x88B1, 0x88C3, 0x88C4, 0x88D4, 0x88D8, 0x88D9, 0x88DD, 0x88F9, 0x8902, 0x88FC, 0x88F4, 0x88E8, 0x88F2, 0x8904, 0x890C, 0x890A, 0x8913, 0x8943, 0x891E, 0x8925, 0x892A, 0x892B, 0x8941, 0x8944, 0x893B, 0x8936, 0x8938, 0x894C, 0x891D, 0x8960, 0x895E}, { /* category 75 */ 0x8966, 0x8964, 0x896D, 0x896A, 0x896F, 0x8974, 0x8977, 0x897E, 0x8983, 0x8988, 0x898A, 0x8993, 0x8998, 0x89A1, 0x89A9, 0x89A6, 0x89AC, 0x89AF, 0x89B2, 0x89BA, 0x89BD, 0x89BF, 0x89C0, 0x89DA, 0x89DC, 0x89DD, 0x89E7, 0x89F4, 0x89F8, 0x8A03, 0x8A16, 0x8A10, 0x8A0C, 0x8A1B, 0x8A1D, 0x8A25, 0x8A36, 0x8A41, 0x8A5B, 0x8A52, 0x8A46, 0x8A48, 0x8A7C, 0x8A6D, 0x8A6C, 0x8A62, 0x8A85, 0x8A82, 0x8A84, 0x8AA8, 0x8AA1, 0x8A91, 0x8AA5, 0x8AA6, 0x8A9A, 0x8AA3, 0x8AC4, 0x8ACD, 0x8AC2, 0x8ADA, 0x8AEB, 0x8AF3, 0x8AE7, 0x8AE4, 0x8AF1, 0x8B14, 0x8AE0, 0x8AE2, 0x8AF7, 0x8ADE, 0x8ADB, 0x8B0C, 0x8B07, 0x8B1A, 0x8AE1, 0x8B16, 0x8B10, 0x8B17, 0x8B20, 0x8B33, 0x97AB, 0x8B26, 0x8B2B, 0x8B3E, 0x8B28, 0x8B41, 0x8B4C, 0x8B4F, 0x8B4E, 0x8B49, 0x8B56, 0x8B5B, 0x8B5A, 0x8B6B}, { /* category 76 */ 0x8B5F, 0x8B6C, 0x8B6F, 0x8B74, 0x8B7D, 0x8B80, 0x8B8C, 0x8B8E, 0x8B92, 0x8B93, 0x8B96, 0x8B99, 0x8B9A, 0x8C3A, 0x8C41, 0x8C3F, 0x8C48, 0x8C4C, 0x8C4E, 0x8C50, 0x8C55, 0x8C62, 0x8C6C, 0x8C78, 0x8C7A, 0x8C82, 0x8C89, 0x8C85, 0x8C8A, 0x8C8D, 0x8C8E, 0x8C94, 0x8C7C, 0x8C98, 0x621D, 0x8CAD, 0x8CAA, 0x8CBD, 0x8CB2, 0x8CB3, 0x8CAE, 0x8CB6, 0x8CC8, 0x8CC1, 0x8CE4, 0x8CE3, 0x8CDA, 0x8CFD, 0x8CFA, 0x8CFB, 0x8D04, 0x8D05, 0x8D0A, 0x8D07, 0x8D0F, 0x8D0D, 0x8D10, 0x9F4E, 0x8D13, 0x8CCD, 0x8D14, 0x8D16, 0x8D67, 0x8D6D, 0x8D71, 0x8D73, 0x8D81, 0x8D99, 0x8DC2, 0x8DBE, 0x8DBA, 0x8DCF, 0x8DDA, 0x8DD6, 0x8DCC, 0x8DDB, 0x8DCB, 0x8DEA, 0x8DEB, 0x8DDF, 0x8DE3, 0x8DFC, 0x8E08, 0x8E09, 0x8DFF, 0x8E1D, 0x8E1E, 0x8E10, 0x8E1F, 0x8E42, 0x8E35, 0x8E30, 0x8E34, 0x8E4A}, { /* category 77 */ 0x8E47, 0x8E49, 0x8E4C, 0x8E50, 0x8E48, 0x8E59, 0x8E64, 0x8E60, 0x8E2A, 0x8E63, 0x8E55, 0x8E76, 0x8E72, 0x8E7C, 0x8E81, 0x8E87, 0x8E85, 0x8E84, 0x8E8B, 0x8E8A, 0x8E93, 0x8E91, 0x8E94, 0x8E99, 0x8EAA, 0x8EA1, 0x8EAC, 0x8EB0, 0x8EC6, 0x8EB1, 0x8EBE, 0x8EC5, 0x8EC8, 0x8ECB, 0x8EDB, 0x8EE3, 0x8EFC, 0x8EFB, 0x8EEB, 0x8EFE, 0x8F0A, 0x8F05, 0x8F15, 0x8F12, 0x8F19, 0x8F13, 0x8F1C, 0x8F1F, 0x8F1B, 0x8F0C, 0x8F26, 0x8F33, 0x8F3B, 0x8F39, 0x8F45, 0x8F42, 0x8F3E, 0x8F4C, 0x8F49, 0x8F46, 0x8F4E, 0x8F57, 0x8F5C, 0x8F62, 0x8F63, 0x8F64, 0x8F9C, 0x8F9F, 0x8FA3, 0x8FAD, 0x8FAF, 0x8FB7, 0x8FDA, 0x8FE5, 0x8FE2, 0x8FEA, 0x8FEF, 0x9087, 0x8FF4, 0x9005, 0x8FF9, 0x8FFA, 0x9011, 0x9015, 0x9021, 0x900D, 0x901E, 0x9016, 0x900B, 0x9027, 0x9036, 0x9035, 0x9039, 0x8FF8}, { /* category 78 */ 0x904F, 0x9050, 0x9051, 0x9052, 0x900E, 0x9049, 0x903E, 0x9056, 0x9058, 0x905E, 0x9068, 0x906F, 0x9076, 0x96A8, 0x9072, 0x9082, 0x907D, 0x9081, 0x9080, 0x908A, 0x9089, 0x908F, 0x90A8, 0x90AF, 0x90B1, 0x90B5, 0x90E2, 0x90E4, 0x6248, 0x90DB, 0x9102, 0x9112, 0x9119, 0x9132, 0x9130, 0x914A, 0x9156, 0x9158, 0x9163, 0x9165, 0x9169, 0x9173, 0x9172, 0x918B, 0x9189, 0x9182, 0x91A2, 0x91AB, 0x91AF, 0x91AA, 0x91B5, 0x91B4, 0x91BA, 0x91C0, 0x91C1, 0x91C9, 0x91CB, 0x91D0, 0x91D6, 0x91DF, 0x91E1, 0x91DB, 0x91FC, 0x91F5, 0x91F6, 0x921E, 0x91FF, 0x9214, 0x922C, 0x9215, 0x9211, 0x925E, 0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923F, 0x924B, 0x9250, 0x929C, 0x9296, 0x9293, 0x929B, 0x925A, 0x92CF, 0x92B9, 0x92B7, 0x92E9, 0x930F, 0x92FA, 0x9344, 0x932E}, { /* category 79 */ 0x9319, 0x9322, 0x931A, 0x9323, 0x933A, 0x9335, 0x933B, 0x935C, 0x9360, 0x937C, 0x936E, 0x9356, 0x93B0, 0x93AC, 0x93AD, 0x9394, 0x93B9, 0x93D6, 0x93D7, 0x93E8, 0x93E5, 0x93D8, 0x93C3, 0x93DD, 0x93D0, 0x93C8, 0x93E4, 0x941A, 0x9414, 0x9413, 0x9403, 0x9407, 0x9410, 0x9436, 0x942B, 0x9435, 0x9421, 0x943A, 0x9441, 0x9452, 0x9444, 0x945B, 0x9460, 0x9462, 0x945E, 0x946A, 0x9229, 0x9470, 0x9475, 0x9477, 0x947D, 0x945A, 0x947C, 0x947E, 0x9481, 0x947F, 0x9582, 0x9587, 0x958A, 0x9594, 0x9596, 0x9598, 0x9599, 0x95A0, 0x95A8, 0x95A7, 0x95AD, 0x95BC, 0x95BB, 0x95B9, 0x95BE, 0x95CA, 0x6FF6, 0x95C3, 0x95CD, 0x95CC, 0x95D5, 0x95D4, 0x95D6, 0x95DC, 0x95E1, 0x95E5, 0x95E2, 0x9621, 0x9628, 0x962E, 0x962F, 0x9642, 0x964C, 0x964F, 0x964B, 0x9677, 0x965C, 0x965E}, { /* category 80 */ 0x965D, 0x965F, 0x9666, 0x9672, 0x966C, 0x968D, 0x9698, 0x9695, 0x9697, 0x96AA, 0x96A7, 0x96B1, 0x96B2, 0x96B0, 0x96B4, 0x96B6, 0x96B8, 0x96B9, 0x96CE, 0x96CB, 0x96C9, 0x96CD, 0x894D, 0x96DC, 0x970D, 0x96D5, 0x96F9, 0x9704, 0x9706, 0x9708, 0x9713, 0x970E, 0x9711, 0x970F, 0x9716, 0x9719, 0x9724, 0x972A, 0x9730, 0x9739, 0x973D, 0x973E, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749, 0x975C, 0x9760, 0x9764, 0x9766, 0x9768, 0x52D2, 0x976B, 0x9771, 0x9779, 0x9785, 0x977C, 0x9781, 0x977A, 0x9786, 0x978B, 0x978F, 0x9790, 0x979C, 0x97A8, 0x97A6, 0x97A3, 0x97B3, 0x97B4, 0x97C3, 0x97C6, 0x97C8, 0x97CB, 0x97DC, 0x97ED, 0x9F4F, 0x97F2, 0x7ADF, 0x97F6, 0x97F5, 0x980F, 0x980C, 0x9838, 0x9824, 0x9821, 0x9837, 0x983D, 0x9846, 0x984F, 0x984B, 0x986B, 0x986F, 0x9870}, { /* category 81 */ 0x9871, 0x9874, 0x9873, 0x98AA, 0x98AF, 0x98B1, 0x98B6, 0x98C4, 0x98C3, 0x98C6, 0x98E9, 0x98EB, 0x9903, 0x9909, 0x9912, 0x9914, 0x9918, 0x9921, 0x991D, 0x991E, 0x9924, 0x9920, 0x992C, 0x992E, 0x993D, 0x993E, 0x9942, 0x9949, 0x9945, 0x9950, 0x994B, 0x9951, 0x9952, 0x994C, 0x9955, 0x9997, 0x9998, 0x99A5, 0x99AD, 0x99AE, 0x99BC, 0x99DF, 0x99DB, 0x99DD, 0x99D8, 0x99D1, 0x99ED, 0x99EE, 0x99F1, 0x99F2, 0x99FB, 0x99F8, 0x9A01, 0x9A0F, 0x9A05, 0x99E2, 0x9A19, 0x9A2B, 0x9A37, 0x9A45, 0x9A42, 0x9A40, 0x9A43, 0x9A3E, 0x9A55, 0x9A4D, 0x9A5B, 0x9A57, 0x9A5F, 0x9A62, 0x9A65, 0x9A64, 0x9A69, 0x9A6B, 0x9A6A, 0x9AAD, 0x9AB0, 0x9ABC, 0x9AC0, 0x9ACF, 0x9AD1, 0x9AD3, 0x9AD4, 0x9ADE, 0x9ADF, 0x9AE2, 0x9AE3, 0x9AE6, 0x9AEF, 0x9AEB, 0x9AEE, 0x9AF4, 0x9AF1, 0x9AF7}, { /* category 82 */ 0x9AFB, 0x9B06, 0x9B18, 0x9B1A, 0x9B1F, 0x9B22, 0x9B23, 0x9B25, 0x9B27, 0x9B28, 0x9B29, 0x9B2A, 0x9B2E, 0x9B2F, 0x9B32, 0x9B44, 0x9B43, 0x9B4F, 0x9B4D, 0x9B4E, 0x9B51, 0x9B58, 0x9B74, 0x9B93, 0x9B83, 0x9B91, 0x9B96, 0x9B97, 0x9B9F, 0x9BA0, 0x9BA8, 0x9BB4, 0x9BC0, 0x9BCA, 0x9BB9, 0x9BC6, 0x9BCF, 0x9BD1, 0x9BD2, 0x9BE3, 0x9BE2, 0x9BE4, 0x9BD4, 0x9BE1, 0x9C3A, 0x9BF2, 0x9BF1, 0x9BF0, 0x9C15, 0x9C14, 0x9C09, 0x9C13, 0x9C0C, 0x9C06, 0x9C08, 0x9C12, 0x9C0A, 0x9C04, 0x9C2E, 0x9C1B, 0x9C25, 0x9C24, 0x9C21, 0x9C30, 0x9C47, 0x9C32, 0x9C46, 0x9C3E, 0x9C5A, 0x9C60, 0x9C67, 0x9C76, 0x9C78, 0x9CE7, 0x9CEC, 0x9CF0, 0x9D09, 0x9D08, 0x9CEB, 0x9D03, 0x9D06, 0x9D2A, 0x9D26, 0x9DAF, 0x9D23, 0x9D1F, 0x9D44, 0x9D15, 0x9D12, 0x9D41, 0x9D3F, 0x9D3E, 0x9D46, 0x9D48}, { /* category 83 */ 0x9D5D, 0x9D5E, 0x9D64, 0x9D51, 0x9D50, 0x9D59, 0x9D72, 0x9D89, 0x9D87, 0x9DAB, 0x9D6F, 0x9D7A, 0x9D9A, 0x9DA4, 0x9DA9, 0x9DB2, 0x9DC4, 0x9DC1, 0x9DBB, 0x9DB8, 0x9DBA, 0x9DC6, 0x9DCF, 0x9DC2, 0x9DD9, 0x9DD3, 0x9DF8, 0x9DE6, 0x9DED, 0x9DEF, 0x9DFD, 0x9E1A, 0x9E1B, 0x9E1E, 0x9E75, 0x9E79, 0x9E7D, 0x9E81, 0x9E88, 0x9E8B, 0x9E8C, 0x9E92, 0x9E95, 0x9E91, 0x9E9D, 0x9EA5, 0x9EA9, 0x9EB8, 0x9EAA, 0x9EAD, 0x9761, 0x9ECC, 0x9ECE, 0x9ECF, 0x9ED0, 0x9ED4, 0x9EDC, 0x9EDE, 0x9EDD, 0x9EE0, 0x9EE5, 0x9EE8, 0x9EEF, 0x9EF4, 0x9EF6, 0x9EF7, 0x9EF9, 0x9EFB, 0x9EFC, 0x9EFD, 0x9F07, 0x9F08, 0x76B7, 0x9F15, 0x9F21, 0x9F2C, 0x9F3E, 0x9F4A, 0x9F52, 0x9F54, 0x9F63, 0x9F5F, 0x9F60, 0x9F61, 0x9F66, 0x9F67, 0x9F6C, 0x9F6A, 0x9F77, 0x9F72, 0x9F76, 0x9F95, 0x9F9C, 0x9FA0}, { /* category 84 */ 0x582F, 0x69C7, 0x9059, 0x7464, 0x51DC, 0x7199, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 85 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 86 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 87 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, { /* category 89 */ 0x7E8A, 0x891C, 0x9348, 0x9288, 0x84DC, 0x4FC9, 0x70BB, 0x6631, 0x68C8, 0x92F9, 0x66FB, 0x5F45, 0x4E28, 0x4EE1, 0x4EFC, 0x4F00, 0x4F03, 0x4F39, 0x4F56, 0x4F92, 0x4F8A, 0x4F9A, 0x4F94, 0x4FCD, 0x5040, 0x5022, 0x4FFF, 0x501E, 0x5046, 0x5070, 0x5042, 0x5094, 0x50F4, 0x50D8, 0x514A, 0x5164, 0x519D, 0x51BE, 0x51EC, 0x5215, 0x529C, 0x52A6, 0x52C0, 0x52DB, 0x5300, 0x5307, 0x5324, 0x5372, 0x5393, 0x53B2, 0x53DD, 0xFA0E, 0x549C, 0x548A, 0x54A9, 0x54FF, 0x5586, 0x5759, 0x5765, 0x57AC, 0x57C8, 0x57C7, 0xFA0F, 0xFA10, 0x589E, 0x58B2, 0x590B, 0x5953, 0x595B, 0x595D, 0x5963, 0x59A4, 0x59BA, 0x5B56, 0x5BC0, 0x752F, 0x5BD8, 0x5BEC, 0x5C1E, 0x5CA6, 0x5CBA, 0x5CF5, 0x5D27, 0x5D53, 0xFA11, 0x5D42, 0x5D6D, 0x5DB8, 0x5DB9, 0x5DD0, 0x5F21, 0x5F34, 0x5F67, 0x5FB7}, { /* category 90 */ 0x5FDE, 0x605D, 0x6085, 0x608A, 0x60DE, 0x60D5, 0x6120, 0x60F2, 0x6111, 0x6137, 0x6130, 0x6198, 0x6213, 0x62A6, 0x63F5, 0x6460, 0x649D, 0x64CE, 0x654E, 0x6600, 0x6615, 0x663B, 0x6609, 0x662E, 0x661E, 0x6624, 0x6665, 0x6657, 0x6659, 0xFA12, 0x6673, 0x6699, 0x66A0, 0x66B2, 0x66BF, 0x66FA, 0x670E, 0xF929, 0x6766, 0x67BB, 0x6852, 0x67C0, 0x6801, 0x6844, 0x68CF, 0xFA13, 0x6968, 0xFA14, 0x6998, 0x69E2, 0x6A30, 0x6A6B, 0x6A46, 0x6A73, 0x6A7E, 0x6AE2, 0x6AE4, 0x6BD6, 0x6C3F, 0x6C5C, 0x6C86, 0x6C6F, 0x6CDA, 0x6D04, 0x6D87, 0x6D6F, 0x6D96, 0x6DAC, 0x6DCF, 0x6DF8, 0x6DF2, 0x6DFC, 0x6E39, 0x6E5C, 0x6E27, 0x6E3C, 0x6EBF, 0x6F88, 0x6FB5, 0x6FF5, 0x7005, 0x7007, 0x7028, 0x7085, 0x70AB, 0x710F, 0x7104, 0x715C, 0x7146, 0x7147, 0xFA15, 0x71C1, 0x71FE, 0x72B1}, { /* category 91 */ 0x72BE, 0x7324, 0xFA16, 0x7377, 0x73BD, 0x73C9, 0x73D6, 0x73E3, 0x73D2, 0x7407, 0x73F5, 0x7426, 0x742A, 0x7429, 0x742E, 0x7462, 0x7489, 0x749F, 0x7501, 0x756F, 0x7682, 0x769C, 0x769E, 0x769B, 0x76A6, 0xFA17, 0x7746, 0x52AF, 0x7821, 0x784E, 0x7864, 0x787A, 0x7930, 0xFA18, 0xFA19, 0xFA1A, 0x7994, 0xFA1B, 0x799B, 0x7AD1, 0x7AE7, 0xFA1C, 0x7AEB, 0x7B9E, 0xFA1D, 0x7D48, 0x7D5C, 0x7DB7, 0x7DA0, 0x7DD6, 0x7E52, 0x7F47, 0x7FA1, 0xFA1E, 0x8301, 0x8362, 0x837F, 0x83C7, 0x83F6, 0x8448, 0x84B4, 0x8553, 0x8559, 0x856B, 0xFA1F, 0x85B0, 0xFA20, 0xFA21, 0x8807, 0x88F5, 0x8A12, 0x8A37, 0x8A79, 0x8AA7, 0x8ABE, 0x8ADF, 0xFA22, 0x8AF6, 0x8B53, 0x8B7F, 0x8CF0, 0x8CF4, 0x8D12, 0x8D76, 0xFA23, 0x8ECF, 0xFA24, 0xFA25, 0x9067, 0x90DE, 0xFA26, 0x9115, 0x9127, 0x91DA}, { /* category 92 */ 0x91D7, 0x91DE, 0x91ED, 0x91EE, 0x91E4, 0x91E5, 0x9206, 0x9210, 0x920A, 0x923A, 0x9240, 0x923C, 0x924E, 0x9259, 0x9251, 0x9239, 0x9267, 0x92A7, 0x9277, 0x9278, 0x92E7, 0x92D7, 0x92D9, 0x92D0, 0xFA27, 0x92D5, 0x92E0, 0x92D3, 0x9325, 0x9321, 0x92FB, 0xFA28, 0x931E, 0x92FF, 0x931D, 0x9302, 0x9370, 0x9357, 0x93A4, 0x93C6, 0x93DE, 0x93F8, 0x9431, 0x9445, 0x9448, 0x9592, 0xF9DC, 0xFA29, 0x969D, 0x96AF, 0x9733, 0x973B, 0x9743, 0x974D, 0x974F, 0x9751, 0x9755, 0x9857, 0x9865, 0xFA2A, 0xFA2B, 0x9927, 0xFA2C, 0x999E, 0x9A4E, 0x9AD9, 0x9ADC, 0x9B75, 0x9B72, 0x9B8F, 0x9BB1, 0x9BBB, 0x9C00, 0x9D70, 0x9D6B, 0xFA2D, 0x9E19, 0x9ED1, 0x0000, 0x0000, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02}}; #endif /* JISX0208_H */ 070701000811ee000081a40000000000000000000000014dc0fad9000001ef0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/gd/libgd/gdfontmb.h #ifndef _GDFONTMB_H_ #define _GDFONTMB_H_ 1 #ifdef __cplusplus extern "C" { #endif /* This is a header file for gd font, generated using bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz from bdf font -misc-fixed-bold-r-normal-sans-13-94-100-100-c-70-iso8859-2 at Thu Jan 8 13:54:57 1998. No copyright info was found in the original bdf. */ #include "gd.h" extern gdFontPtr gdFontMediumBold; extern gdFontPtr gdFontGetMediumBold(void); #ifdef __cplusplus } #endif #endif 070701000811ea000081a40000000000000000000000014dc0fad9000003b60000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/gd/libgd/gd_io.h#ifndef GD_IO_H #define GD_IO_H 1 #include #ifdef VMS #define Putchar gdPutchar #endif typedef struct gdIOCtx { int (*getC)(struct gdIOCtx*); int (*getBuf)(struct gdIOCtx*, void*, int); void (*putC)(struct gdIOCtx*, int); int (*putBuf)(struct gdIOCtx*, const void*, int); int (*seek)(struct gdIOCtx*, const int); long (*tell)(struct gdIOCtx*); void (*gd_free)(struct gdIOCtx*); } gdIOCtx; typedef struct gdIOCtx *gdIOCtxPtr; void Putword(int w, gdIOCtx *ctx); void Putchar(int c, gdIOCtx *ctx); void gdPutC(const unsigned char c, gdIOCtx *ctx); int gdPutBuf(const void *, int, gdIOCtx*); void gdPutWord(int w, gdIOCtx *ctx); void gdPutInt(int w, gdIOCtx *ctx); int gdGetC(gdIOCtx *ctx); int gdGetBuf(void *, int, gdIOCtx*); int gdGetByte(int *result, gdIOCtx *ctx); int gdGetWord(int *result, gdIOCtx *ctx); int gdGetInt(int *result, gdIOCtx *ctx); int gdSeek(gdIOCtx *ctx, const int); long gdTell(gdIOCtx *ctx); #endif 070701000811f0000081a40000000000000000000000014dc0fad90000020a0000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/gd/libgd/gdfontt.h #ifndef _GDFONTT_H_ #define _GDFONTT_H_ 1 #ifdef __cplusplus extern "C" { #endif /* This is a header file for gd font, generated using bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz from bdf font -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-2 at Thu Jan 8 13:49:54 1998. The original bdf was holding following copyright: "Libor Skarvada, libor@informatics.muni.cz" */ #include "gd.h" extern gdFontPtr gdFontTiny; extern gdFontPtr gdFontGetTiny(void); #ifdef __cplusplus } #endif #endif 070701000811f4000081a40000000000000000000000014dc0fad8000018540000010000010007ffffffffffffffff0000002b00000000root/usr/local/include/php/ext/gd/php_gd.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Stig Bakken | +----------------------------------------------------------------------+ */ /* $Id: php_gd.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_GD_H #define PHP_GD_H #define HAVE_GDIMAGECREATEFROMPNG 1 #if HAVE_LIBFREETYPE # ifndef ENABLE_GD_TTF # define ENABLE_GD_TTF # endif #endif #if HAVE_LIBGD /* open_basedir and safe_mode checks */ #define PHP_GD_CHECK_OPEN_BASEDIR(filename, errormsg) \ if (!filename || php_check_open_basedir(filename TSRMLS_CC) || \ (PG(safe_mode) && !php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR)) \ ) { \ php_error_docref(NULL TSRMLS_CC, E_WARNING, errormsg); \ RETURN_FALSE; \ } #define PHP_GDIMG_TYPE_GIF 1 #define PHP_GDIMG_TYPE_PNG 2 #define PHP_GDIMG_TYPE_JPG 3 #define PHP_GDIMG_TYPE_WBM 4 #define PHP_GDIMG_TYPE_XBM 5 #define PHP_GDIMG_TYPE_XPM 6 #define PHP_GDIMG_CONVERT_WBM 7 #define PHP_GDIMG_TYPE_GD 8 #define PHP_GDIMG_TYPE_GD2 9 #define PHP_GDIMG_TYPE_GD2PART 10 #ifdef PHP_WIN32 # define PHP_GD_API __declspec(dllexport) #elif defined(__GNUC__) && __GNUC__ >= 4 # define PHP_GD_API __attribute__ ((visibility("default"))) #else # define PHP_GD_API #endif PHPAPI extern const char php_sig_gif[3]; PHPAPI extern const char php_sig_jpg[3]; PHPAPI extern const char php_sig_png[3]; extern zend_module_entry gd_module_entry; #define phpext_gd_ptr &gd_module_entry /* gd.c functions */ PHP_MINFO_FUNCTION(gd); PHP_MINIT_FUNCTION(gd); #if HAVE_LIBT1 || HAVE_GD_FONTMUTEX PHP_MSHUTDOWN_FUNCTION(gd); #endif #if HAVE_GD_STRINGFT PHP_RSHUTDOWN_FUNCTION(gd); #endif PHP_FUNCTION(gd_info); PHP_FUNCTION(imagearc); PHP_FUNCTION(imageellipse); PHP_FUNCTION(imagechar); PHP_FUNCTION(imagecharup); PHP_FUNCTION(imageistruecolor); PHP_FUNCTION(imagecolorallocate); PHP_FUNCTION(imagepalettecopy); PHP_FUNCTION(imagecolorat); PHP_FUNCTION(imagecolorclosest); PHP_FUNCTION(imagecolorclosesthwb); PHP_FUNCTION(imagecolordeallocate); PHP_FUNCTION(imagecolorresolve); PHP_FUNCTION(imagecolorexact); PHP_FUNCTION(imagecolorset); PHP_FUNCTION(imagecolorstotal); PHP_FUNCTION(imagecolorsforindex); PHP_FUNCTION(imagecolortransparent); PHP_FUNCTION(imagecopy); PHP_FUNCTION(imagecopymerge); PHP_FUNCTION(imagecopyresized); PHP_FUNCTION(imagetypes); PHP_FUNCTION(imagecreate); PHP_FUNCTION(imageftbbox); PHP_FUNCTION(imagefttext); PHP_FUNCTION(imagecreatetruecolor); PHP_FUNCTION(imagetruecolortopalette); PHP_FUNCTION(imagesetthickness); PHP_FUNCTION(imagefilledellipse); PHP_FUNCTION(imagefilledarc); PHP_FUNCTION(imagealphablending); PHP_FUNCTION(imagesavealpha); PHP_FUNCTION(imagecolorallocatealpha); PHP_FUNCTION(imagecolorresolvealpha); PHP_FUNCTION(imagecolorclosestalpha); PHP_FUNCTION(imagecolorexactalpha); PHP_FUNCTION(imagecopyresampled); #ifdef PHP_WIN32 PHP_FUNCTION(imagegrabwindow); PHP_FUNCTION(imagegrabscreen); #endif PHP_FUNCTION(imagerotate); #ifdef HAVE_GD_BUNDLED PHP_FUNCTION(imageantialias); #endif PHP_FUNCTION(imagesetthickness); PHP_FUNCTION(imagecopymergegray); PHP_FUNCTION(imagesetbrush); PHP_FUNCTION(imagesettile); PHP_FUNCTION(imagesetstyle); PHP_FUNCTION(imagecreatefromstring); PHP_FUNCTION(imagecreatefromgif); PHP_FUNCTION(imagecreatefromjpeg); PHP_FUNCTION(imagecreatefromxbm); PHP_FUNCTION(imagecreatefrompng); PHP_FUNCTION(imagecreatefromwbmp); PHP_FUNCTION(imagecreatefromgd); PHP_FUNCTION(imagecreatefromgd2); PHP_FUNCTION(imagecreatefromgd2part); #if defined(HAVE_GD_XPM) && defined(HAVE_GD_BUNDLED) PHP_FUNCTION(imagecreatefromxpm); #endif PHP_FUNCTION(imagegammacorrect); PHP_FUNCTION(imagedestroy); PHP_FUNCTION(imagefill); PHP_FUNCTION(imagefilledpolygon); PHP_FUNCTION(imagefilledrectangle); PHP_FUNCTION(imagefilltoborder); PHP_FUNCTION(imagefontwidth); PHP_FUNCTION(imagefontheight); PHP_FUNCTION(imagegif ); PHP_FUNCTION(imagejpeg ); PHP_FUNCTION(imagepng); PHP_FUNCTION(imagewbmp); PHP_FUNCTION(imagegd); PHP_FUNCTION(imagegd2); PHP_FUNCTION(imageinterlace); PHP_FUNCTION(imageline); PHP_FUNCTION(imageloadfont); PHP_FUNCTION(imagepolygon); PHP_FUNCTION(imagerectangle); PHP_FUNCTION(imagesetpixel); PHP_FUNCTION(imagestring); PHP_FUNCTION(imagestringup); PHP_FUNCTION(imagesx); PHP_FUNCTION(imagesy); PHP_FUNCTION(imagedashedline); PHP_FUNCTION(imagettfbbox); PHP_FUNCTION(imagettftext); PHP_FUNCTION(imagepsloadfont); /* PHP_FUNCTION(imagepscopyfont); */ PHP_FUNCTION(imagepsfreefont); PHP_FUNCTION(imagepsencodefont); PHP_FUNCTION(imagepsextendfont); PHP_FUNCTION(imagepsslantfont); PHP_FUNCTION(imagepstext); PHP_FUNCTION(imagepsbbox); PHP_FUNCTION(jpeg2wbmp); PHP_FUNCTION(png2wbmp); PHP_FUNCTION(image2wbmp); PHP_FUNCTION(imagecolormatch); #if HAVE_GD_BUNDLED PHP_FUNCTION(imagelayereffect); PHP_FUNCTION(imagexbm); #endif PHP_FUNCTION(imagefilter); PHP_FUNCTION(imageconvolution); PHP_GD_API int phpi_get_le_gd(void); #else #define phpext_gd_ptr NULL #endif #endif /* PHP_GD_H */ 070701000811e5000081a40000000000000000000000014dc0fad800000b320000010000010007ffffffffffffffff0000002c00000000root/usr/local/include/php/ext/gd/gdcache.h/* * $Id: gdcache.h 242949 2007-09-26 15:44:16Z cvs2svn $ * * Caches of pointers to user structs in which the least-recently-used * element is replaced in the event of a cache miss after the cache has * reached a given size. * * John Ellson (ellson@lucent.com) Oct 31, 1997 * * Test this with: * gcc -o gdcache -g -Wall -DTEST gdcache.c * * The cache is implemented by a singly-linked list of elements * each containing a pointer to a user struct that is being managed by * the cache. * * The head structure has a pointer to the most-recently-used * element, and elements are moved to this position in the list each * time they are used. The head also contains pointers to three * user defined functions: * - a function to test if a cached userdata matches some keydata * - a function to provide a new userdata struct to the cache * if there has been a cache miss. * - a function to release a userdata struct when it is * no longer being managed by the cache * * In the event of a cache miss the cache is allowed to grow up to * a specified maximum size. After the maximum size is reached then * the least-recently-used element is discarded to make room for the * new. The most-recently-returned value is always left at the * beginning of the list after retrieval. * * In the current implementation the cache is traversed by a linear * search from most-recent to least-recent. This linear search * probably limits the usefulness of this implementation to cache * sizes of a few tens of elements. */ /*********************************************************/ /* header */ /*********************************************************/ #if (!defined(_OSD_POSIX) && !defined(__FreeBSD__)) && HAVE_MALLOC_H #include #else #include /* BS2000/OSD defines malloc() & friends in stdlib.h */ #endif #ifndef NULL #define NULL (void *)0 #endif /* user defined function templates */ typedef int (*gdCacheTestFn_t)(void *userdata, void *keydata); typedef void *(*gdCacheFetchFn_t)(char **error, void *keydata); typedef void (*gdCacheReleaseFn_t)(void *userdata); /* element structure */ typedef struct gdCache_element_s gdCache_element_t; struct gdCache_element_s { gdCache_element_t *next; void *userdata; }; /* head structure */ typedef struct gdCache_head_s gdCache_head_t; struct gdCache_head_s { gdCache_element_t *mru; int size; char *error; gdCacheTestFn_t gdCacheTest; gdCacheFetchFn_t gdCacheFetch; gdCacheReleaseFn_t gdCacheRelease; }; /* function templates */ gdCache_head_t * gdCacheCreate( int size, gdCacheTestFn_t gdCacheTest, gdCacheFetchFn_t gdCacheFetch, gdCacheReleaseFn_t gdCacheRelease ); void gdCacheDelete( gdCache_head_t *head ); void * gdCacheGet( gdCache_head_t *head, void *keydata ); 07070100081230000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002800000000root/usr/local/include/php/ext/standard0707010008123a000081a40000000000000000000000014dc0fae3000005a60000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/datetime.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: datetime.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef DATETIME_H #define DATETIME_H #if HAVE_STRPTIME PHP_FUNCTION(strptime); #endif PHPAPI char *php_std_date(time_t t TSRMLS_DC); #endif /* DATETIME_H */ 0707010008123b000081a40000000000000000000000014dc0fae3000006740000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/ext/standard/dl.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Brian Schaffner | | Shane Caraveo | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: dl.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef DL_H #define DL_H PHPAPI int php_load_extension(char *filename, int type, int start_now TSRMLS_DC); PHPAPI void php_dl(char *file, int type, zval *return_value, int start_now TSRMLS_DC); /* dynamic loading functions */ PHPAPI PHP_FUNCTION(dl); PHP_MINFO_FUNCTION(dl); #endif /* DL_H */ 07070100081259000081a40000000000000000000000014dc0fae40000124f0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_math.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Jim Winstead | | Stig Sæther Bakken | +----------------------------------------------------------------------+ */ /* $Id: php_math.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_MATH_H #define PHP_MATH_H PHPAPI char *_php_math_number_format(double, int, char , char); PHPAPI char * _php_math_longtobase(zval *arg, int base); PHPAPI long _php_math_basetolong(zval *arg, int base); PHPAPI int _php_math_basetozval(zval *arg, int base, zval *ret); PHPAPI char * _php_math_zvaltobase(zval *arg, int base TSRMLS_DC); PHP_FUNCTION(sin); PHP_FUNCTION(cos); PHP_FUNCTION(tan); PHP_FUNCTION(asin); PHP_FUNCTION(acos); PHP_FUNCTION(atan); PHP_FUNCTION(atan2); PHP_FUNCTION(pi); PHP_FUNCTION(exp); PHP_FUNCTION(log); PHP_FUNCTION(log10); PHP_FUNCTION(is_finite); PHP_FUNCTION(is_infinite); PHP_FUNCTION(is_nan); PHP_FUNCTION(pow); PHP_FUNCTION(sqrt); PHP_FUNCTION(srand); PHP_FUNCTION(rand); PHP_FUNCTION(getrandmax); PHP_FUNCTION(mt_srand); PHP_FUNCTION(mt_rand); PHP_FUNCTION(mt_getrandmax); PHP_FUNCTION(abs); PHP_FUNCTION(ceil); PHP_FUNCTION(floor); PHP_FUNCTION(round); PHP_FUNCTION(decbin); PHP_FUNCTION(dechex); PHP_FUNCTION(decoct); PHP_FUNCTION(bindec); PHP_FUNCTION(hexdec); PHP_FUNCTION(octdec); PHP_FUNCTION(base_convert); PHP_FUNCTION(number_format); PHP_FUNCTION(fmod); PHP_FUNCTION(deg2rad); PHP_FUNCTION(rad2deg); /* WARNING: these functions are expermental: they could change their names or disappear in the next version of PHP! */ PHP_FUNCTION(hypot); PHP_FUNCTION(expm1); PHP_FUNCTION(log1p); PHP_FUNCTION(sinh); PHP_FUNCTION(cosh); PHP_FUNCTION(tanh); PHP_FUNCTION(asinh); PHP_FUNCTION(acosh); PHP_FUNCTION(atanh); #include #ifndef M_E #define M_E 2.7182818284590452354 /* e */ #endif #ifndef M_LOG2E #define M_LOG2E 1.4426950408889634074 /* log_2 e */ #endif #ifndef M_LOG10E #define M_LOG10E 0.43429448190325182765 /* log_10 e */ #endif #ifndef M_LN2 #define M_LN2 0.69314718055994530942 /* log_e 2 */ #endif #ifndef M_LN10 #define M_LN10 2.30258509299404568402 /* log_e 10 */ #endif #ifndef M_PI #define M_PI 3.14159265358979323846 /* pi */ #endif #ifndef M_PI_2 #define M_PI_2 1.57079632679489661923 /* pi/2 */ #endif #ifndef M_PI_4 #define M_PI_4 0.78539816339744830962 /* pi/4 */ #endif #ifndef M_1_PI #define M_1_PI 0.31830988618379067154 /* 1/pi */ #endif #ifndef M_2_PI #define M_2_PI 0.63661977236758134308 /* 2/pi */ #endif #ifndef M_SQRTPI #define M_SQRTPI 1.77245385090551602729 /* sqrt(pi) */ #endif #ifndef M_2_SQRTPI #define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ #endif #ifndef M_LNPI #define M_LNPI 1.14472988584940017414 /* ln(pi) */ #endif #ifndef M_EULER #define M_EULER 0.57721566490153286061 /* Euler constant */ #endif #ifndef M_SQRT2 #define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ #endif #ifndef M_SQRT1_2 #define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ #endif #ifndef M_SQRT3 #define M_SQRT3 1.73205080756887729352 /* sqrt(3) */ #endif /* Define rounding modes (all are round-to-nearest) */ #ifndef PHP_ROUND_HALF_UP #define PHP_ROUND_HALF_UP 0x01 /* Arithmetic rounding, up == away from zero */ #endif #ifndef PHP_ROUND_HALF_DOWN #define PHP_ROUND_HALF_DOWN 0x02 /* Down == towards zero */ #endif #ifndef PHP_ROUND_HALF_EVEN #define PHP_ROUND_HALF_EVEN 0x03 /* Banker's rounding */ #endif #ifndef PHP_ROUND_HALF_ODD #define PHP_ROUND_HALF_ODD 0x04 #endif #endif /* PHP_MATH_H */ 07070100081231000081a40000000000000000000000014dc0fae20000067a0000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/ext/standard/base64.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead | +----------------------------------------------------------------------+ */ /* $Id: base64.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef BASE64_H #define BASE64_H PHP_FUNCTION(base64_decode); PHP_FUNCTION(base64_encode); PHPAPI extern unsigned char *php_base64_encode(const unsigned char *, int, int *); PHPAPI extern unsigned char *php_base64_decode_ex(const unsigned char *, int, int *, zend_bool); PHPAPI extern unsigned char *php_base64_decode(const unsigned char *, int, int *); #endif /* BASE64_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081246000081a40000000000000000000000014dc0fae3000005e90000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/pageinfo.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead | +----------------------------------------------------------------------+ */ /* $Id: pageinfo.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PAGEINFO_H #define PAGEINFO_H PHP_FUNCTION(getmyuid); PHP_FUNCTION(getmygid); PHP_FUNCTION(getmypid); PHP_FUNCTION(getmyinode); PHP_FUNCTION(getlastmod); PHPAPI void php_statpage(TSRMLS_D); PHPAPI long php_getlastmod(TSRMLS_D); extern long php_getuid(void); extern long php_getgid(void); #endif 07070100081244000081a40000000000000000000000014dc0fae3000005860000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/standard/microtime.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Paul Panotzki - Bunyip Information Systems | +----------------------------------------------------------------------+ */ /* $Id: microtime.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef MICROTIME_H #define MICROTIME_H #ifdef HAVE_GETTIMEOFDAY PHP_FUNCTION(microtime); PHP_FUNCTION(gettimeofday); #endif #ifdef HAVE_GETRUSAGE PHP_FUNCTION(getrusage); #endif #endif /* MICROTIME_H */ 0707010008125a000081a40000000000000000000000014dc0fae4000005100000010000010007ffffffffffffffff0000003800000000root/usr/local/include/php/ext/standard/php_metaphone.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Thies C. Arntzen | +----------------------------------------------------------------------+ */ /* $Id: php_metaphone.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_METAPHONE_H #define PHP_METAPHONE_H PHP_FUNCTION(metaphone); #endif 07070100081240000081a40000000000000000000000014dc0fae3000006890000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/head.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: head.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef HEAD_H #define HEAD_H extern PHP_RINIT_FUNCTION(head); PHP_FUNCTION(header); PHP_FUNCTION(header_remove); PHP_FUNCTION(setcookie); PHP_FUNCTION(setrawcookie); PHP_FUNCTION(headers_sent); PHP_FUNCTION(headers_list); PHPAPI int php_header(TSRMLS_D); PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, time_t expires, char *path, int path_len, char *domain, int domain_len, int secure, int url_encode, int httponly TSRMLS_DC); #endif 07070100081237000081a40000000000000000000000014dc0fae2000003ea0000010000010007ffffffffffffffff0000003800000000root/usr/local/include/php/ext/standard/crypt_freesec.h/* $Id: crypt_freesec.h 265472 2008-08-25 14:37:07Z pajoye $ */ #ifndef _CRYPT_FREESEC_H #define _CRYPT_FREESEC_H #if PHP_WIN32 # include "win32/php_stdint.h" # ifndef inline # define inline __inline # endif #else # include "php_config.h" # if HAVE_INTTYPES_H # include # elif HAVE_STDINT_H # include # endif # ifndef HAVE_UINT32_T # if SIZEOF_INT == 4 typedef unsigned int uint32_t; # elif SIZEOF_LONG == 4 typedef unsigned long int uint32_t; # endif # endif #endif #define MD5_HASH_MAX_LEN 120 struct php_crypt_extended_data { int initialized; uint32_t saltbits; uint32_t old_salt; uint32_t en_keysl[16], en_keysr[16]; uint32_t de_keysl[16], de_keysr[16]; uint32_t old_rawkey0, old_rawkey1; char output[21]; }; /* * _crypt_extended_init() must be called explicitly before first use of * _crypt_extended_r(). */ void _crypt_extended_init(void); char *_crypt_extended_r(const char *key, const char *setting, struct php_crypt_extended_data *data); #endif 07070100081241000081a40000000000000000000000014dc0fae3000008d40000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/html.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: html.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef HTML_H #define HTML_H #define ENT_HTML_QUOTE_NONE 0 #define ENT_HTML_QUOTE_SINGLE 1 #define ENT_HTML_QUOTE_DOUBLE 2 #define ENT_HTML_IGNORE_ERRORS 4 #define ENT_COMPAT ENT_HTML_QUOTE_DOUBLE #define ENT_QUOTES (ENT_HTML_QUOTE_DOUBLE | ENT_HTML_QUOTE_SINGLE) #define ENT_NOQUOTES ENT_HTML_QUOTE_NONE #define ENT_IGNORE ENT_HTML_IGNORE_ERRORS void register_html_constants(INIT_FUNC_ARGS); PHP_FUNCTION(htmlspecialchars); PHP_FUNCTION(htmlentities); PHP_FUNCTION(htmlspecialchars_decode); PHP_FUNCTION(html_entity_decode); PHP_FUNCTION(get_html_translation_table); PHPAPI char *php_escape_html_entities(unsigned char *old, int oldlen, int *newlen, int all, int quote_style, char *hint_charset TSRMLS_DC); PHPAPI char *php_escape_html_entities_ex(unsigned char *old, int oldlen, int *newlen, int all, int quote_style, char *hint_charset, zend_bool double_encode TSRMLS_DC); PHPAPI char *php_unescape_html_entities(unsigned char *old, int oldlen, int *newlen, int all, int quote_style, char *hint_charset TSRMLS_DC); #endif /* HTML_H */ 0707010008124d000081a40000000000000000000000014dc0fae300000b740000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/standard/php_dns.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: The typical suspects | | Marcus Boerger | | Pollita | +----------------------------------------------------------------------+ */ /* $Id: php_dns.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_DNS_H #define PHP_DNS_H #if defined(HAVE_DNS_SEARCH) #define php_dns_search(res, dname, class, type, answer, anslen) \ ((int)dns_search(res, dname, class, type, answer, anslen, (struct sockaddr *)&from, &fromsize)) #define php_dns_free_handle(res) \ dns_free(res) #elif defined(HAVE_RES_NSEARCH) #define php_dns_search(res, dname, class, type, answer, anslen) \ res_nsearch(res, dname, class, type, answer, anslen); #define php_dns_free_handle(res) \ res_nclose(res); \ php_dns_free_res(*res) #elif defined(HAVE_RES_SEARCH) #define php_dns_search(res, dname, class, type, answer, anslen) \ res_search(dname, class, type, answer, anslen) #define php_dns_free_handle(res) /* noop */ #endif #if defined(HAVE_DNS_SEARCH) || defined(HAVE_RES_NSEARCH) || defined(HAVE_RES_SEARCH) #define HAVE_DNS_SEARCH_FUNC 1 #endif #if HAVE_DNS_SEARCH_FUNC && HAVE_DN_EXPAND && HAVE_DN_SKIPNAME #define HAVE_FULL_DNS_FUNCS 1 #endif PHP_FUNCTION(gethostbyaddr); PHP_FUNCTION(gethostbyname); PHP_FUNCTION(gethostbynamel); #ifdef HAVE_GETHOSTNAME PHP_FUNCTION(gethostname); #endif #if defined(PHP_WIN32) || (HAVE_DNS_SEARCH_FUNC && !(defined(__BEOS__) || defined(NETWARE))) PHP_FUNCTION(dns_check_record); # if defined(PHP_WIN32) || HAVE_FULL_DNS_FUNCS PHP_FUNCTION(dns_get_mx); PHP_FUNCTION(dns_get_record); PHP_MINIT_FUNCTION(dns); # endif #endif /* defined(PHP_WIN32) || (HAVE_DNS_SEARCH_FUNC && !(defined(__BEOS__) || defined(NETWARE))) */ #ifndef INT16SZ #define INT16SZ 2 #endif #ifndef INT32SZ #define INT32SZ 4 #endif #endif /* PHP_DNS_H */ 07070100081258000081a40000000000000000000000014dc0fae4000005af0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_mail.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: php_mail.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_MAIL_H #define PHP_MAIL_H PHP_FUNCTION(mail); PHP_MINFO_FUNCTION(mail); PHP_FUNCTION(ezmlm_hash); PHPAPI extern int php_mail(char *to, char *subject, char *message, char *headers, char *extra_cmd TSRMLS_DC); #endif /* PHP_MAIL_H */ 07070100081260000081a40000000000000000000000014dc0fae4000006680000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_type.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: php_type.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_TYPE_H #define PHP_TYPE_H PHP_FUNCTION(intval); PHP_FUNCTION(floatval); PHP_FUNCTION(strval); PHP_FUNCTION(gettype); PHP_FUNCTION(settype); PHP_FUNCTION(is_null); PHP_FUNCTION(is_resource); PHP_FUNCTION(is_bool); PHP_FUNCTION(is_long); PHP_FUNCTION(is_float); PHP_FUNCTION(is_numeric); PHP_FUNCTION(is_string); PHP_FUNCTION(is_array); PHP_FUNCTION(is_object); PHP_FUNCTION(is_scalar); PHP_FUNCTION(is_callable); #endif 07070100081263000081a40000000000000000000000014dc0fae4000005b40000010000010007ffffffffffffffff0000003900000000root/usr/local/include/php/ext/standard/php_versioning.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken | +----------------------------------------------------------------------+ */ /* $Id: php_versioning.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_VERSIONING_H #define PHP_VERSIONING_H #include "ext/standard/basic_functions.h" PHPAPI char *php_canonicalize_version(const char *); PHPAPI int php_version_compare(const char *, const char *); PHP_FUNCTION(version_compare); #endif 0707010008125d000081a40000000000000000000000014dc0fae4000005630000010000010007ffffffffffffffff0000003f00000000root/usr/local/include/php/ext/standard/php_smart_str_public.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: php_smart_str_public.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_SMART_STR_PUBLIC_H #define PHP_SMART_STR_PUBLIC_H #include typedef struct { char *c; size_t len; size_t a; } smart_str; #endif 07070100081268000081a40000000000000000000000014dc0fae400000b300000010000010007ffffffffffffffff0000003700000000root/usr/local/include/php/ext/standard/streamsfuncs.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: streamsfuncs.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Flags for stream_socket_client */ #define PHP_STREAM_CLIENT_PERSISTENT 1 #define PHP_STREAM_CLIENT_ASYNC_CONNECT 2 #define PHP_STREAM_CLIENT_CONNECT 4 PHP_FUNCTION(stream_socket_client); PHP_FUNCTION(stream_socket_server); PHP_FUNCTION(stream_socket_accept); PHP_FUNCTION(stream_socket_get_name); PHP_FUNCTION(stream_socket_recvfrom); PHP_FUNCTION(stream_socket_sendto); PHP_FUNCTION(stream_copy_to_stream); PHP_FUNCTION(stream_get_contents); PHP_FUNCTION(stream_set_blocking); PHP_FUNCTION(stream_select); PHP_FUNCTION(stream_set_timeout); PHP_FUNCTION(stream_set_read_buffer); PHP_FUNCTION(stream_set_write_buffer); PHP_FUNCTION(stream_get_transports); PHP_FUNCTION(stream_get_wrappers); PHP_FUNCTION(stream_get_line); PHP_FUNCTION(stream_get_meta_data); PHP_FUNCTION(stream_wrapper_register); PHP_FUNCTION(stream_wrapper_unregister); PHP_FUNCTION(stream_wrapper_restore); PHP_FUNCTION(stream_context_create); PHP_FUNCTION(stream_context_set_params); PHP_FUNCTION(stream_context_get_params); PHP_FUNCTION(stream_context_set_option); PHP_FUNCTION(stream_context_get_options); PHP_FUNCTION(stream_context_get_default); PHP_FUNCTION(stream_context_set_default); PHP_FUNCTION(stream_filter_prepend); PHP_FUNCTION(stream_filter_append); PHP_FUNCTION(stream_filter_remove); PHP_FUNCTION(stream_socket_enable_crypto); PHP_FUNCTION(stream_socket_shutdown); PHP_FUNCTION(stream_resolve_include_path); PHP_FUNCTION(stream_is_local); PHP_FUNCTION(stream_supports_lock); #if HAVE_SOCKETPAIR PHP_FUNCTION(stream_socket_pair); #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ 07070100081245000081a40000000000000000000000014dc0fae30000052b0000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/pack.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: pack.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PACK_H #define PACK_H PHP_MINIT_FUNCTION(pack); PHP_FUNCTION(pack); PHP_FUNCTION(unpack); #endif /* PACK_H */ 07070100081251000081a40000000000000000000000014dc0fae3000005200000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_ftok.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Andrew Sitnikov | +----------------------------------------------------------------------+ */ /* $Id: php_ftok.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_FTOK_H #define PHP_FTOK_H #if HAVE_FTOK PHP_FUNCTION(ftok); #endif #endif /* PHP_FTOK_H */ 0707010008124c000081a40000000000000000000000014dc0fae3000006750000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/standard/php_dir.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Thies C. Arntzen | +----------------------------------------------------------------------+ */ /* $Id: php_dir.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_DIR_H #define PHP_DIR_H /* directory functions */ PHP_MINIT_FUNCTION(dir); PHP_RINIT_FUNCTION(dir); PHP_FUNCTION(opendir); PHP_FUNCTION(closedir); PHP_FUNCTION(chdir); #if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC PHP_FUNCTION(chroot); #endif PHP_FUNCTION(getcwd); PHP_FUNCTION(rewinddir); PHP_NAMED_FUNCTION(php_if_readdir); PHP_FUNCTION(getdir); PHP_FUNCTION(glob); PHP_FUNCTION(scandir); #endif /* PHP_DIR_H */ 07070100081261000081a40000000000000000000000014dc0fae40000060d0000010000010007ffffffffffffffff0000003700000000root/usr/local/include/php/ext/standard/php_uuencode.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Ilia Alshanetsky | +----------------------------------------------------------------------+ */ /* $Id: php_uuencode.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_UUENCODE_H #define PHP_UUENCODE_H PHP_FUNCTION(convert_uudecode); PHP_FUNCTION(convert_uuencode); PHPAPI int php_uudecode(char *src, int src_len, char **dest); PHPAPI int php_uuencode(char *src, int src_len, char **dest); #endif /* PHP_UUENCODE_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 0707010008126a000081a40000000000000000000000014dc0fae40000090c0000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/ext/standard/url.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead | +----------------------------------------------------------------------+ */ /* $Id: url.h 307432 2011-01-13 07:27:46Z stas $ */ #ifndef URL_H #define URL_H typedef struct php_url { char *scheme; char *user; char *pass; char *host; unsigned short port; char *path; char *query; char *fragment; } php_url; PHPAPI void php_url_free(php_url *theurl); PHPAPI php_url *php_url_parse(char const *str); PHPAPI php_url *php_url_parse_ex(char const *str, int length); PHPAPI int php_url_decode(char *str, int len); /* return value: length of decoded string */ PHPAPI int php_raw_url_decode(char *str, int len); /* return value: length of decoded string */ PHPAPI char *php_url_encode(char const *s, int len, int *new_length); PHPAPI char *php_raw_url_encode(char const *s, int len, int *new_length); PHP_FUNCTION(parse_url); PHP_FUNCTION(urlencode); PHP_FUNCTION(urldecode); PHP_FUNCTION(rawurlencode); PHP_FUNCTION(rawurldecode); PHP_FUNCTION(get_headers); #define PHP_URL_SCHEME 0 #define PHP_URL_HOST 1 #define PHP_URL_PORT 2 #define PHP_URL_USER 3 #define PHP_URL_PASS 4 #define PHP_URL_PATH 5 #define PHP_URL_QUERY 6 #define PHP_URL_FRAGMENT 7 #endif /* URL_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081243000081a40000000000000000000000014dc0fae3000008a40000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/ext/standard/md5.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Alexander Peslyak (Solar Designer) | | Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: md5.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef MD5_H #define MD5_H PHPAPI void make_digest(char *md5str, const unsigned char *digest); PHPAPI void make_digest_ex(char *md5str, const unsigned char *digest, int len); PHP_NAMED_FUNCTION(php_if_md5); PHP_NAMED_FUNCTION(php_if_md5_file); #include "ext/standard/basic_functions.h" /* * This is an OpenSSL-compatible implementation of the RSA Data Security, * Inc. MD5 Message-Digest Algorithm (RFC 1321). * * Written by Solar Designer in 2001, and placed * in the public domain. There's absolutely no warranty. * * See md5.c for more information. */ /* MD5 context. */ typedef struct { php_uint32 lo, hi; php_uint32 a, b, c, d; unsigned char buffer[64]; php_uint32 block[16]; } PHP_MD5_CTX; PHPAPI void PHP_MD5Init(PHP_MD5_CTX *ctx); PHPAPI void PHP_MD5Update(PHP_MD5_CTX *ctx, const void *data, size_t size); PHPAPI void PHP_MD5Final(unsigned char *result, PHP_MD5_CTX *ctx); #endif 0707010008124e000081a40000000000000000000000014dc0fae3000006430000010000010007ffffffffffffffff0000003900000000root/usr/local/include/php/ext/standard/php_ext_syslog.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken | +----------------------------------------------------------------------+ */ /* $Id: php_ext_syslog.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_EXT_SYSLOG_H #define PHP_EXT_SYSLOG_H #ifdef HAVE_SYSLOG_H #include "php_syslog.h" PHP_MINIT_FUNCTION(syslog); PHP_RINIT_FUNCTION(syslog); #ifdef PHP_WIN32 PHP_RSHUTDOWN_FUNCTION(syslog); #endif PHP_MSHUTDOWN_FUNCTION(syslog); PHP_FUNCTION(openlog); PHP_FUNCTION(syslog); PHP_FUNCTION(closelog); PHP_FUNCTION(define_syslog_variables); #endif #endif /* PHP_EXT_SYSLOG_H */ 07070100081269000081a40000000000000000000000014dc0fae4000005260000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/ext/standard/uniqid.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken | +----------------------------------------------------------------------+ */ /* $Id: uniqid.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef UNIQID_H #define UNIQID_H #ifdef HAVE_GETTIMEOFDAY PHP_FUNCTION(uniqid); #endif #endif /* UNIQID_H */ 0707010008126b000081a40000000000000000000000014dc0fae4000008930000010000010007ffffffffffffffff0000003900000000root/usr/local/include/php/ext/standard/url_scanner_ex.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: url_scanner_ex.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef URL_SCANNER_EX_H #define URL_SCANNER_EX_H PHP_MINIT_FUNCTION(url_scanner_ex); PHP_MSHUTDOWN_FUNCTION(url_scanner_ex); PHP_RINIT_FUNCTION(url_scanner_ex); PHP_RSHUTDOWN_FUNCTION(url_scanner_ex); PHPAPI char *php_url_scanner_adapt_single_url(const char *url, size_t urllen, const char *name, const char *value, size_t *newlen TSRMLS_DC); PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC); PHPAPI int php_url_scanner_reset_vars(TSRMLS_D); #include "php_smart_str_public.h" typedef struct { /* Used by the mainloop of the scanner */ smart_str tag; /* read only */ smart_str arg; /* read only */ smart_str val; /* read only */ smart_str buf; /* The result buffer */ smart_str result; /* The data which is appended to each relative URL/FORM */ smart_str form_app, url_app; int active; char *lookup_data; int state; /* Everything above is zeroed in RINIT */ HashTable *tags; } url_adapt_state_ex_t; #endif 0707010008125f000081a40000000000000000000000014dc0fae40000181a0000010000010007ffffffffffffffff0000003500000000root/usr/local/include/php/ext/standard/php_string.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Stig Sæther Bakken | +----------------------------------------------------------------------+ */ /* $Id: php_string.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */ #ifndef PHP_STRING_H #define PHP_STRING_H PHP_FUNCTION(strspn); PHP_FUNCTION(strcspn); PHP_FUNCTION(str_replace); PHP_FUNCTION(str_ireplace); PHP_FUNCTION(rtrim); PHP_FUNCTION(trim); PHP_FUNCTION(ltrim); PHP_FUNCTION(soundex); PHP_FUNCTION(levenshtein); PHP_FUNCTION(count_chars); PHP_FUNCTION(wordwrap); PHP_FUNCTION(explode); PHP_FUNCTION(implode); PHP_FUNCTION(strtok); PHP_FUNCTION(strtoupper); PHP_FUNCTION(strtolower); PHP_FUNCTION(basename); PHP_FUNCTION(dirname); PHP_FUNCTION(pathinfo); PHP_FUNCTION(strstr); PHP_FUNCTION(strpos); PHP_FUNCTION(stripos); PHP_FUNCTION(strrpos); PHP_FUNCTION(strripos); PHP_FUNCTION(strrchr); PHP_FUNCTION(substr); PHP_FUNCTION(quotemeta); PHP_FUNCTION(ucfirst); PHP_FUNCTION(lcfirst); PHP_FUNCTION(ucwords); PHP_FUNCTION(strtr); PHP_FUNCTION(strrev); PHP_FUNCTION(hebrev); PHP_FUNCTION(hebrevc); PHP_FUNCTION(user_sprintf); PHP_FUNCTION(user_printf); PHP_FUNCTION(vprintf); PHP_FUNCTION(vsprintf); PHP_FUNCTION(addcslashes); PHP_FUNCTION(addslashes); PHP_FUNCTION(stripcslashes); PHP_FUNCTION(stripslashes); PHP_FUNCTION(chr); PHP_FUNCTION(ord); PHP_FUNCTION(nl2br); PHP_FUNCTION(setlocale); PHP_FUNCTION(localeconv); PHP_FUNCTION(nl_langinfo); PHP_FUNCTION(stristr); PHP_FUNCTION(chunk_split); PHP_FUNCTION(parse_str); PHP_FUNCTION(str_getcsv); PHP_FUNCTION(bin2hex); PHP_FUNCTION(similar_text); PHP_FUNCTION(strip_tags); PHP_FUNCTION(str_repeat); PHP_FUNCTION(substr_replace); PHP_FUNCTION(strnatcmp); PHP_FUNCTION(strnatcasecmp); PHP_FUNCTION(substr_count); PHP_FUNCTION(str_pad); PHP_FUNCTION(sscanf); PHP_FUNCTION(str_shuffle); PHP_FUNCTION(str_word_count); PHP_FUNCTION(str_split); PHP_FUNCTION(strpbrk); PHP_FUNCTION(substr_compare); #ifdef HAVE_STRCOLL PHP_FUNCTION(strcoll); #endif #if HAVE_STRFMON PHP_FUNCTION(money_format); #endif #if defined(HAVE_LOCALECONV) && defined(ZTS) PHP_MINIT_FUNCTION(localeconv); PHP_MSHUTDOWN_FUNCTION(localeconv); #endif #if HAVE_NL_LANGINFO PHP_MINIT_FUNCTION(nl_langinfo); #endif #define strnatcmp(a, b) \ strnatcmp_ex(a, strlen(a), b, strlen(b), 0) #define strnatcasecmp(a, b) \ strnatcmp_ex(a, strlen(a), b, strlen(b), 1) PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len, int fold_case); #ifdef HAVE_LOCALECONV PHPAPI struct lconv *localeconv_r(struct lconv *out); #endif PHPAPI char *php_strtoupper(char *s, size_t len); PHPAPI char *php_strtolower(char *s, size_t len); PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trlen); PHPAPI char *php_addslashes(char *str, int length, int *new_length, int freeit TSRMLS_DC); PHPAPI char *php_addslashes_ex(char *str, int length, int *new_length, int freeit, int ignore_sybase TSRMLS_DC); PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int freeit, char *what, int wlength TSRMLS_DC); PHPAPI void php_stripslashes(char *str, int *len TSRMLS_DC); PHPAPI void php_stripcslashes(char *str, int *len); PHPAPI void php_basename(char *s, size_t len, char *suffix, size_t sufflen, char **p_ret, size_t *p_len TSRMLS_DC); PHPAPI size_t php_dirname(char *str, size_t len); PHPAPI char *php_stristr(char *s, char *t, size_t s_len, size_t t_len); PHPAPI char *php_str_to_str_ex(char *haystack, int length, char *needle, int needle_len, char *str, int str_len, int *_new_length, int case_sensitivity, int *replace_count); PHPAPI char *php_str_to_str(char *haystack, int length, char *needle, int needle_len, char *str, int str_len, int *_new_length); PHPAPI char *php_trim(char *c, int len, char *what, int what_len, zval *return_value, int mode TSRMLS_DC); PHPAPI size_t php_strip_tags(char *rbuf, int len, int *state, char *allow, int allow_len); PHPAPI size_t php_strip_tags_ex(char *rbuf, int len, int *stateptr, char *allow, int allow_len, zend_bool allow_tag_spaces); PHPAPI int php_char_to_str_ex(char *str, uint len, char from, char *to, int to_len, zval *result, int case_sensitivity, int *replace_count); PHPAPI int php_char_to_str(char *str, uint len, char from, char *to, int to_len, zval *result); PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value TSRMLS_DC); PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, long limit); PHPAPI size_t php_strspn(char *s1, char *s2, char *s1_end, char *s2_end); PHPAPI size_t php_strcspn(char *s1, char *s2, char *s1_end, char *s2_end); #ifndef HAVE_STRERROR PHPAPI char *php_strerror(int errnum); #define strerror php_strerror #endif #ifndef HAVE_MBLEN # define php_mblen(ptr, len) 1 #else # if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T) # define php_mblen(ptr, len) ((ptr) == NULL ? mbsinit(&BG(mblen_state)): (int)mbrlen(ptr, len, &BG(mblen_state))) # else # define php_mblen(ptr, len) mblen(ptr, len) # endif #endif void register_string_constants(INIT_FUNC_ARGS); #endif /* PHP_STRING_H */ 07070100081267000081a40000000000000000000000014dc0fae4000007030000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/sha1.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stefan Esser | +----------------------------------------------------------------------+ */ /* $Id: sha1.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SHA1_H #define SHA1_H #include "ext/standard/basic_functions.h" /* SHA1 context. */ typedef struct { php_uint32 state[5]; /* state (ABCD) */ php_uint32 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } PHP_SHA1_CTX; PHPAPI void PHP_SHA1Init(PHP_SHA1_CTX *); PHPAPI void PHP_SHA1Update(PHP_SHA1_CTX *, const unsigned char *, unsigned int); PHPAPI void PHP_SHA1Final(unsigned char[20], PHP_SHA1_CTX *); PHPAPI void make_sha1_digest(char *sha1str, unsigned char *digest); PHP_FUNCTION(sha1); PHP_FUNCTION(sha1_file); #endif 07070100081265000081a40000000000000000000000014dc0fae4000006380000010000010007ffffffffffffffff0000003500000000root/usr/local/include/php/ext/standard/quot_print.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Kirill Maximov (kir@rus.net) | +----------------------------------------------------------------------+ */ /* $Id: quot_print.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef QUOT_PRINT_H #define QUOT_PRINT_H PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t length, size_t *ret_length, int replace_us_by_ws); PHPAPI unsigned char *php_quot_print_encode(const unsigned char *str, size_t length, size_t *ret_length); PHP_FUNCTION(quoted_printable_decode); PHP_FUNCTION(quoted_printable_encode); #endif /* QUOT_PRINT_H */ 07070100081242000081a40000000000000000000000014dc0fae300000ea90000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/info.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: info.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef INFO_H #define INFO_H #define PHP_ENTRY_NAME_COLOR "#ccccff" #define PHP_CONTENTS_COLOR "#cccccc" #define PHP_HEADER_COLOR "#9999cc" #define PHP_INFO_GENERAL (1<<0) #define PHP_INFO_CREDITS (1<<1) #define PHP_INFO_CONFIGURATION (1<<2) #define PHP_INFO_MODULES (1<<3) #define PHP_INFO_ENVIRONMENT (1<<4) #define PHP_INFO_VARIABLES (1<<5) #define PHP_INFO_LICENSE (1<<6) #define PHP_INFO_ALL 0xFFFFFFFF #ifndef HAVE_CREDITS_DEFS #define HAVE_CREDITS_DEFS #define PHP_CREDITS_GROUP (1<<0) #define PHP_CREDITS_GENERAL (1<<1) #define PHP_CREDITS_SAPI (1<<2) #define PHP_CREDITS_MODULES (1<<3) #define PHP_CREDITS_DOCS (1<<4) #define PHP_CREDITS_FULLPAGE (1<<5) #define PHP_CREDITS_QA (1<<6) #define PHP_CREDITS_WEB (1<<7) #define PHP_CREDITS_ALL 0xFFFFFFFF #endif /* HAVE_CREDITS_DEFS */ #define PHP_LOGO_GUID "PHPE9568F34-D428-11d2-A769-00AA001ACF42" #define PHP_EGG_LOGO_GUID "PHPE9568F36-D428-11d2-A769-00AA001ACF42" #define ZEND_LOGO_GUID "PHPE9568F35-D428-11d2-A769-00AA001ACF42" #define PHP_CREDITS_GUID "PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000" BEGIN_EXTERN_C() PHP_FUNCTION(phpversion); PHP_FUNCTION(phpinfo); PHP_FUNCTION(phpcredits); PHP_FUNCTION(php_logo_guid); PHP_FUNCTION(php_real_logo_guid); PHP_FUNCTION(zend_logo_guid); PHP_FUNCTION(php_egg_logo_guid); PHP_FUNCTION(php_sapi_name); PHP_FUNCTION(php_uname); PHP_FUNCTION(php_ini_scanned_files); PHP_FUNCTION(php_ini_loaded_file); PHPAPI char *php_info_html_esc(char *string TSRMLS_DC); PHPAPI void php_info_html_esc_write(char *string, int str_len TSRMLS_DC); PHPAPI void php_print_info_htmlhead(TSRMLS_D); PHPAPI void php_print_info(int flag TSRMLS_DC); PHPAPI void php_print_style(void); PHPAPI void php_info_print_style(TSRMLS_D); PHPAPI void php_info_print_table_colspan_header(int num_cols, char *header); PHPAPI void php_info_print_table_header(int num_cols, ...); PHPAPI void php_info_print_table_row(int num_cols, ...); PHPAPI void php_info_print_table_row_ex(int num_cols, const char *, ...); PHPAPI void php_info_print_table_start(void); PHPAPI void php_info_print_table_end(void); PHPAPI void php_info_print_box_start(int bg); PHPAPI void php_info_print_box_end(void); PHPAPI void php_info_print_hr(void); PHPAPI void php_info_print_module(zend_module_entry *module TSRMLS_DC); PHPAPI char *php_logo_guid(void); PHPAPI char *php_get_uname(char mode); void register_phpinfo_constants(INIT_FUNC_ARGS); END_EXTERN_C() #endif /* INFO_H */ 07070100081248000081a40000000000000000000000014dc0fae3000005c70000010000010007ffffffffffffffff0000003500000000root/usr/local/include/php/ext/standard/php_assert.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Thies C. Arntzen | +----------------------------------------------------------------------+ */ /* $Id: php_assert.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_ASSERT_H #define PHP_ASSERT_H PHP_MINIT_FUNCTION(assert); PHP_MSHUTDOWN_FUNCTION(assert); PHP_RINIT_FUNCTION(assert); PHP_RSHUTDOWN_FUNCTION(assert); PHP_MINFO_FUNCTION(assert); PHP_FUNCTION(assert); PHP_FUNCTION(assert_options); #endif /* PHP_ASSERT_H */ 07070100081238000081a40000000000000000000000014dc0fae3000005020000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/ext/standard/css.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Colin Viebrock | +----------------------------------------------------------------------+ */ /* $Id: css.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef CSS_H #define CSS_H PHPAPI void php_info_print_css(TSRMLS_D); #endif 07070100081264000081a40000000000000000000000014dc0fae40000076c0000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/standard/proc_open.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: proc_open.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifdef PHP_WIN32 typedef HANDLE php_file_descriptor_t; typedef DWORD php_process_id_t; #else typedef int php_file_descriptor_t; typedef pid_t php_process_id_t; #endif #define PHP_PROC_OPEN_MAX_DESCRIPTORS 16 /* Environment block under win32 is a NUL terminated sequence of NUL terminated * name=value strings. * Under unix, it is an argv style array. * */ typedef struct _php_process_env { char *envp; #ifndef PHP_WIN32 char **envarray; #endif } php_process_env_t; struct php_process_handle { php_process_id_t child; #ifdef PHP_WIN32 HANDLE childHandle; #endif int npipes; long pipes[PHP_PROC_OPEN_MAX_DESCRIPTORS]; char *command; int is_persistent; php_process_env_t env; }; 0707010008125e000081a40000000000000000000000014dc0fae4000008f50000010000010007ffffffffffffffff0000003700000000root/usr/local/include/php/ext/standard/php_standard.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_standard.h 306939 2011-01-01 02:19:59Z felipe $ */ #include "basic_functions.h" #include "php_math.h" #include "php_string.h" #include "base64.h" #include "php_dir.h" #include "php_dns.h" #include "php_mail.h" #include "md5.h" #include "sha1.h" #include "html.h" #include "exec.h" #include "file.h" #include "php_ext_syslog.h" #include "php_filestat.h" #include "php_browscap.h" #include "pack.h" #include "datetime.h" #include "microtime.h" #include "url.h" #include "pageinfo.h" #include "cyr_convert.h" #include "php_link.h" #include "fsock.h" #include "php_image.h" #include "php_iptc.h" #include "info.h" #include "uniqid.h" #include "php_var.h" #include "quot_print.h" #include "dl.h" #include "php_crypt.h" #include "head.h" #include "php_lcg.h" #include "php_metaphone.h" #include "php_output.h" #include "php_array.h" #include "php_assert.h" #include "php_versioning.h" #include "php_ftok.h" #include "php_type.h" #define phpext_standard_ptr basic_functions_module_ptr PHP_MINIT_FUNCTION(standard_filters); PHP_MSHUTDOWN_FUNCTION(standard_filters); /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081233000081a40000000000000000000000014dc0fae20000134c0000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/standard/crc32.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: crc32.h 306939 2011-01-01 02:19:59Z felipe $ */ /* * This code implements the AUTODIN II polynomial * The variable corresponding to the macro argument "crc" should * be an unsigned long. * Oroginal code by Spencer Garrett */ #define CRC32(crc, ch) (crc = (crc >> 8) ^ crc32tab[(crc ^ (ch)) & 0xff]) /* generated using the AUTODIN II polynomial * x^32 + x^26 + x^23 + x^22 + x^16 + * x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1 */ static const unsigned int crc32tab[256] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d, }; /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 0707010008124b000081a40000000000000000000000014dc0fae3000008820000010000010007ffffffffffffffff0000003600000000root/usr/local/include/php/ext/standard/php_crypt_r.h/* $Id: php_crypt_r.h 306939 2011-01-01 02:19:59Z felipe $ */ /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Pierre Alain Joye | +----------------------------------------------------------------------+ */ /* $Id: php_browscap.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_BROWSCAP_H #define PHP_BROWSCAP_H PHP_MINIT_FUNCTION(browscap); PHP_MSHUTDOWN_FUNCTION(browscap); PHP_FUNCTION(get_browser); #endif /* PHP_BROWSCAP_H */ 07070100081253000081a40000000000000000000000014dc0fae4000009830000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/standard/php_image.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: php_image.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_IMAGE_H #define PHP_IMAGE_H PHP_FUNCTION(getimagesize); PHP_FUNCTION(image_type_to_mime_type); PHP_FUNCTION(image_type_to_extension); /* {{{ enum image_filetype This enum is used to have ext/standard/image.c and ext/exif/exif.c use the same constants for file types. */ typedef enum { IMAGE_FILETYPE_UNKNOWN=0, IMAGE_FILETYPE_GIF=1, IMAGE_FILETYPE_JPEG, IMAGE_FILETYPE_PNG, IMAGE_FILETYPE_SWF, IMAGE_FILETYPE_PSD, IMAGE_FILETYPE_BMP, IMAGE_FILETYPE_TIFF_II, /* intel */ IMAGE_FILETYPE_TIFF_MM, /* motorola */ IMAGE_FILETYPE_JPC, IMAGE_FILETYPE_JP2, IMAGE_FILETYPE_JPX, IMAGE_FILETYPE_JB2, IMAGE_FILETYPE_SWC, IMAGE_FILETYPE_IFF, IMAGE_FILETYPE_WBMP, /* IMAGE_FILETYPE_JPEG2000 is a userland alias for IMAGE_FILETYPE_JPC */ IMAGE_FILETYPE_XBM, IMAGE_FILETYPE_ICO, /* WHEN EXTENDING: PLEASE ALSO REGISTER IN image.c:PHP_MINIT_FUNCTION(imagetypes) */ IMAGE_FILETYPE_COUNT } image_filetype; /* }}} */ PHP_MINIT_FUNCTION(imagetypes); PHPAPI int php_getimagetype(php_stream *stream, char *filetype TSRMLS_DC); PHPAPI char * php_image_type_to_mime_type(int image_type); #endif /* PHP_IMAGE_H */ 0707010008124a000081a40000000000000000000000014dc0fae30000064a0000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/standard/php_crypt.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Stig Bakken | | Zeev Suraski | | Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: php_crypt.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_CRYPT_H #define PHP_CRYPT_H PHP_FUNCTION(crypt); #if HAVE_CRYPT PHP_MINIT_FUNCTION(crypt); PHP_MSHUTDOWN_FUNCTION(crypt); PHP_RINIT_FUNCTION(crypt); #endif #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 07070100081247000081a40000000000000000000000014dc0fae30000114e0000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/standard/php_array.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | | Rasmus Lerdorf | | Andrei Zmievski | +----------------------------------------------------------------------+ */ /* $Id: php_array.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_ARRAY_H #define PHP_ARRAY_H PHP_MINIT_FUNCTION(array); PHP_MSHUTDOWN_FUNCTION(array); PHP_FUNCTION(ksort); PHP_FUNCTION(krsort); PHP_FUNCTION(natsort); PHP_FUNCTION(natcasesort); PHP_FUNCTION(asort); PHP_FUNCTION(arsort); PHP_FUNCTION(sort); PHP_FUNCTION(rsort); PHP_FUNCTION(usort); PHP_FUNCTION(uasort); PHP_FUNCTION(uksort); PHP_FUNCTION(array_walk); PHP_FUNCTION(array_walk_recursive); PHP_FUNCTION(count); PHP_FUNCTION(end); PHP_FUNCTION(prev); PHP_FUNCTION(next); PHP_FUNCTION(reset); PHP_FUNCTION(current); PHP_FUNCTION(key); PHP_FUNCTION(min); PHP_FUNCTION(max); PHP_FUNCTION(in_array); PHP_FUNCTION(array_search); PHP_FUNCTION(extract); PHP_FUNCTION(compact); PHP_FUNCTION(array_fill); PHP_FUNCTION(array_fill_keys); PHP_FUNCTION(range); PHP_FUNCTION(shuffle); PHP_FUNCTION(array_multisort); PHP_FUNCTION(array_push); PHP_FUNCTION(array_pop); PHP_FUNCTION(array_shift); PHP_FUNCTION(array_unshift); PHP_FUNCTION(array_splice); PHP_FUNCTION(array_slice); PHP_FUNCTION(array_merge); PHP_FUNCTION(array_merge_recursive); PHP_FUNCTION(array_replace); PHP_FUNCTION(array_replace_recursive); PHP_FUNCTION(array_keys); PHP_FUNCTION(array_values); PHP_FUNCTION(array_count_values); PHP_FUNCTION(array_reverse); PHP_FUNCTION(array_reduce); PHP_FUNCTION(array_pad); PHP_FUNCTION(array_flip); PHP_FUNCTION(array_change_key_case); PHP_FUNCTION(array_rand); PHP_FUNCTION(array_unique); PHP_FUNCTION(array_intersect); PHP_FUNCTION(array_intersect_key); PHP_FUNCTION(array_intersect_ukey); PHP_FUNCTION(array_uintersect); PHP_FUNCTION(array_intersect_assoc); PHP_FUNCTION(array_uintersect_assoc); PHP_FUNCTION(array_intersect_uassoc); PHP_FUNCTION(array_uintersect_uassoc); PHP_FUNCTION(array_diff); PHP_FUNCTION(array_diff_key); PHP_FUNCTION(array_diff_ukey); PHP_FUNCTION(array_udiff); PHP_FUNCTION(array_diff_assoc); PHP_FUNCTION(array_udiff_assoc); PHP_FUNCTION(array_diff_uassoc); PHP_FUNCTION(array_udiff_uassoc); PHP_FUNCTION(array_sum); PHP_FUNCTION(array_product); PHP_FUNCTION(array_filter); PHP_FUNCTION(array_map); PHP_FUNCTION(array_key_exists); PHP_FUNCTION(array_chunk); PHP_FUNCTION(array_combine); PHPAPI HashTable* php_splice(HashTable *, int, int, zval ***, int, HashTable **); PHPAPI int php_array_merge(HashTable *dest, HashTable *src, int recursive TSRMLS_DC); PHPAPI int php_array_replace_recursive(HashTable *dest, HashTable *src TSRMLS_DC); PHPAPI int php_multisort_compare(const void *a, const void *b TSRMLS_DC); #define PHP_SORT_REGULAR 0 #define PHP_SORT_NUMERIC 1 #define PHP_SORT_STRING 2 #define PHP_SORT_DESC 3 #define PHP_SORT_ASC 4 #define PHP_SORT_LOCALE_STRING 5 ZEND_BEGIN_MODULE_GLOBALS(array) int *multisort_flags[2]; int (*compare_func)(zval *result, zval *op1, zval *op2 TSRMLS_DC); ZEND_END_MODULE_GLOBALS(array) #ifdef ZTS #define ARRAYG(v) TSRMG(array_globals_id, zend_array_globals *, v) #else #define ARRAYG(v) (array_globals.v) #endif #endif /* PHP_ARRAY_H */ 0707010008124f000081a40000000000000000000000014dc0fae300000d520000010000010007ffffffffffffffff0000003700000000root/usr/local/include/php/ext/standard/php_filestat.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead | +----------------------------------------------------------------------+ */ /* $Id: php_filestat.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_FILESTAT_H #define PHP_FILESTAT_H PHP_RINIT_FUNCTION(filestat); PHP_RSHUTDOWN_FUNCTION(filestat); PHP_FUNCTION(realpath_cache_size); PHP_FUNCTION(realpath_cache_get); PHP_FUNCTION(clearstatcache); PHP_FUNCTION(fileatime); PHP_FUNCTION(filectime); PHP_FUNCTION(filegroup); PHP_FUNCTION(fileinode); PHP_FUNCTION(filemtime); PHP_FUNCTION(fileowner); PHP_FUNCTION(fileperms); PHP_FUNCTION(filesize); PHP_FUNCTION(filetype); PHP_FUNCTION(is_writable); PHP_FUNCTION(is_readable); PHP_FUNCTION(is_executable); PHP_FUNCTION(is_file); PHP_FUNCTION(is_dir); PHP_FUNCTION(is_link); PHP_FUNCTION(file_exists); PHP_NAMED_FUNCTION(php_if_stat); PHP_NAMED_FUNCTION(php_if_lstat); PHP_FUNCTION(disk_total_space); PHP_FUNCTION(disk_free_space); PHP_FUNCTION(chown); PHP_FUNCTION(chgrp); #if HAVE_LCHOWN PHP_FUNCTION(lchown); #endif #if HAVE_LCHOWN PHP_FUNCTION(lchgrp); #endif PHP_FUNCTION(chmod); #if HAVE_UTIME PHP_FUNCTION(touch); #endif PHP_FUNCTION(clearstatcache); #define MAKE_LONG_ZVAL_INCREF(name, val)\ MAKE_STD_ZVAL(name); \ ZVAL_LONG(name, val); \ Z_ADDREF_P(name); #ifdef PHP_WIN32 #define S_IRUSR S_IREAD #define S_IWUSR S_IWRITE #define S_IXUSR S_IEXEC #define S_IRGRP S_IREAD #define S_IWGRP S_IWRITE #define S_IXGRP S_IEXEC #define S_IROTH S_IREAD #define S_IWOTH S_IWRITE #define S_IXOTH S_IEXEC #undef getgid #define getgroups(a, b) 0 #define getgid() 1 #define getuid() 1 #endif #ifdef PHP_WIN32 typedef unsigned int php_stat_len; #else typedef int php_stat_len; #endif PHPAPI void php_clear_stat_cache(zend_bool clear_realpath_cache, const char *filename, int filename_len TSRMLS_DC); PHPAPI void php_stat(const char *filename, php_stat_len filename_length, int type, zval *return_value TSRMLS_DC); /* Switches for various filestat functions: */ #define FS_PERMS 0 #define FS_INODE 1 #define FS_SIZE 2 #define FS_OWNER 3 #define FS_GROUP 4 #define FS_ATIME 5 #define FS_MTIME 6 #define FS_CTIME 7 #define FS_TYPE 8 #define FS_IS_W 9 #define FS_IS_R 10 #define FS_IS_X 11 #define FS_IS_FILE 12 #define FS_IS_DIR 13 #define FS_IS_LINK 14 #define FS_EXISTS 15 #define FS_LSTAT 16 #define FS_STAT 17 #endif /* PHP_FILESTAT_H */ 07070100081262000081a40000000000000000000000014dc0fae4000016070000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/standard/php_var.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jani Lehtimäki | +----------------------------------------------------------------------+ */ /* $Id: php_var.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_VAR_H #define PHP_VAR_H #include "ext/standard/php_smart_str_public.h" PHP_FUNCTION(var_dump); PHP_FUNCTION(var_export); PHP_FUNCTION(debug_zval_dump); PHP_FUNCTION(serialize); PHP_FUNCTION(unserialize); PHP_FUNCTION(memory_get_usage); PHP_FUNCTION(memory_get_peak_usage); PHPAPI void php_var_dump(zval **struc, int level TSRMLS_DC); PHPAPI void php_var_export(zval **struc, int level TSRMLS_DC); PHPAPI void php_var_export_ex(zval **struc, int level, smart_str *buf TSRMLS_DC); PHPAPI void php_debug_zval_dump(zval **struc, int level TSRMLS_DC); /* typdef HashTable php_serialize_data_t; */ #define php_serialize_data_t HashTable struct php_unserialize_data { void *first; void *first_dtor; }; typedef struct php_unserialize_data php_unserialize_data_t; PHPAPI void php_var_serialize(smart_str *buf, zval **struc, php_serialize_data_t *var_hash TSRMLS_DC); PHPAPI int php_var_unserialize(zval **rval, const unsigned char **p, const unsigned char *max, php_unserialize_data_t *var_hash TSRMLS_DC); #define PHP_VAR_SERIALIZE_INIT(var_hash) \ zend_hash_init(&(var_hash), 10, NULL, NULL, 0) #define PHP_VAR_SERIALIZE_DESTROY(var_hash) \ zend_hash_destroy(&(var_hash)) #define PHP_VAR_UNSERIALIZE_INIT(var_hash) \ (var_hash).first = 0; \ (var_hash).first_dtor = 0 #define PHP_VAR_UNSERIALIZE_DESTROY(var_hash) \ var_destroy(&(var_hash)) PHPAPI void var_replace(php_unserialize_data_t *var_hash, zval *ozval, zval **nzval); PHPAPI void var_push_dtor(php_unserialize_data_t *var_hash, zval **val); PHPAPI void var_destroy(php_unserialize_data_t *var_hash); #define PHP_VAR_UNSERIALIZE_ZVAL_CHANGED(var_hash, ozval, nzval) \ var_replace((var_hash), (ozval), &(nzval)) PHPAPI zend_class_entry *php_create_empty_class(char *class_name, int len); static inline int php_varname_check(char *name, int name_len, zend_bool silent TSRMLS_DC) /* {{{ */ { if (name_len == sizeof("GLOBALS") - 1 && !memcmp(name, "GLOBALS", sizeof("GLOBALS") - 1)) { if (!silent) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted GLOBALS variable overwrite"); } return FAILURE; } else if (name[0] == '_' && ( (name_len == sizeof("_GET") - 1 && !memcmp(name, "_GET", sizeof("_GET") - 1)) || (name_len == sizeof("_POST") - 1 && !memcmp(name, "_POST", sizeof("_POST") - 1)) || (name_len == sizeof("_COOKIE") - 1 && !memcmp(name, "_COOKIE", sizeof("_COOKIE") - 1)) || (name_len == sizeof("_ENV") - 1 && !memcmp(name, "_ENV", sizeof("_ENV") - 1)) || (name_len == sizeof("_SERVER") - 1 && !memcmp(name, "_SERVER", sizeof("_SERVER") - 1)) || (name_len == sizeof("_SESSION") - 1 && !memcmp(name, "_SESSION", sizeof("_SESSION") - 1)) || (name_len == sizeof("_FILES") - 1 && !memcmp(name, "_FILES", sizeof("_FILES") - 1)) || (name_len == sizeof("_REQUEST") -1 && !memcmp(name, "_REQUEST", sizeof("_REQUEST") - 1)) ) ) { if (!silent) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted super-global (%s) variable overwrite", name); } return FAILURE; } else if (name[0] == 'H' && ( (name_len == sizeof("HTTP_POST_VARS") - 1 && !memcmp(name, "HTTP_POST_VARS", sizeof("HTTP_POST_VARS") - 1)) || (name_len == sizeof("HTTP_GET_VARS") - 1 && !memcmp(name, "HTTP_GET_VARS", sizeof("HTTP_GET_VARS") - 1)) || (name_len == sizeof("HTTP_COOKIE_VARS") - 1 && !memcmp(name, "HTTP_COOKIE_VARS", sizeof("HTTP_COOKIE_VARS") - 1)) || (name_len == sizeof("HTTP_ENV_VARS") - 1 && !memcmp(name, "HTTP_ENV_VARS", sizeof("HTTP_ENV_VARS") - 1)) || (name_len == sizeof("HTTP_SERVER_VARS") - 1 && !memcmp(name, "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS") - 1)) || (name_len == sizeof("HTTP_SESSION_VARS") - 1 && !memcmp(name, "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS") - 1)) || (name_len == sizeof("HTTP_RAW_POST_DATA") - 1 && !memcmp(name, "HTTP_RAW_POST_DATA", sizeof("HTTP_RAW_POST_DATA") - 1)) || (name_len == sizeof("HTTP_POST_FILES") - 1 && !memcmp(name, "HTTP_POST_FILES", sizeof("HTTP_POST_FILES") - 1)) ) ) { if (!silent) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted long input array (%s) overwrite", name); } return FAILURE; } return SUCCESS; } /* }}} */ #endif /* PHP_VAR_H */ 07070100081266000081a40000000000000000000000014dc0fae4000009410000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/standard/scanf.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Clayton Collie | +----------------------------------------------------------------------+ */ /* $Id: scanf.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SCANF_H #define SCANF_H #define SCAN_MAX_ARGS 0xFF /* Maximum number of variable which can be */ /* passed to (f|s)scanf. This is an artifical */ /* upper limit to keep resources in check and */ /* minimize the possibility of exploits */ #define SCAN_SUCCESS SUCCESS #define SCAN_ERROR_EOF -1 /* indicates premature termination of scan */ /* can be caused by bad parameters or format*/ /* string. */ #define SCAN_ERROR_INVALID_FORMAT (SCAN_ERROR_EOF - 1) #define SCAN_ERROR_VAR_PASSED_BYVAL (SCAN_ERROR_INVALID_FORMAT - 1) #define SCAN_ERROR_WRONG_PARAM_COUNT (SCAN_ERROR_VAR_PASSED_BYVAL - 1) #define SCAN_ERROR_INTERNAL (SCAN_ERROR_WRONG_PARAM_COUNT - 1) /* * The following are here solely for the benefit of the scanf type functions * e.g. fscanf */ PHPAPI int ValidateFormat(char *format, int numVars, int *totalVars); PHPAPI int php_sscanf_internal(char *string,char *format,int argCount,zval ***args, int varStart, zval **return_value TSRMLS_DC); #endif /* SCANF_H */ 07070100081234000081a40000000000000000000000014dc0fae2000006f80000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/standard/credits.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: credits.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef CREDITS_H #define CREDITS_H #ifndef HAVE_CREDITS_DEFS #define HAVE_CREDITS_DEFS #define PHP_CREDITS_GROUP (1<<0) #define PHP_CREDITS_GENERAL (1<<1) #define PHP_CREDITS_SAPI (1<<2) #define PHP_CREDITS_MODULES (1<<3) #define PHP_CREDITS_DOCS (1<<4) #define PHP_CREDITS_FULLPAGE (1<<5) #define PHP_CREDITS_QA (1<<6) #define PHP_CREDITS_WEB (1<<7) #define PHP_CREDITS_ALL 0xFFFFFFFF #endif /* HAVE_CREDITS_DEFS */ PHPAPI void php_print_credits(int flag TSRMLS_DC); #endif 0707010008125b000081a40000000000000000000000014dc0fae400000a5b0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_rand.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Zeev Suraski | | Pedro Melo | | Sterling Hughes | | | | Based on code from: Shawn Cokus | +----------------------------------------------------------------------+ */ /* $Id: php_rand.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_RAND_H #define PHP_RAND_H #include #include "basic_functions.h" /* System Rand functions */ #ifndef RAND_MAX #define RAND_MAX (1<<15) #endif /* In ZTS mode we rely on rand_r() so we must use RAND_MAX. */ #if !defined(ZTS) && (defined(HAVE_LRAND48) || defined(HAVE_RANDOM)) #define PHP_RAND_MAX 2147483647 #else #define PHP_RAND_MAX RAND_MAX #endif #define RAND_RANGE(__n, __min, __max, __tmax) \ (__n) = (__min) + (long) ((double) ( (double) (__max) - (__min) + 1.0) * ((__n) / ((__tmax) + 1.0))) /* MT Rand */ #define PHP_MT_RAND_MAX ((long) (0x7FFFFFFF)) /* (1<<31) - 1 */ #ifdef PHP_WIN32 #define GENERATE_SEED() (((long) (time(0) * GetCurrentProcessId())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C)))) #else #define GENERATE_SEED() (((long) (time(0) * getpid())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C)))) #endif PHPAPI void php_srand(long seed TSRMLS_DC); PHPAPI long php_rand(TSRMLS_D); PHPAPI void php_mt_srand(php_uint32 seed TSRMLS_DC); PHPAPI php_uint32 php_mt_rand(TSRMLS_D); #endif /* PHP_RAND_H */ 0707010008126c000081a40000000000000000000000014dc0fae400000d020000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/ext/standard/winver.h#ifndef _PHP_WINVER_H #define _PHP_WINVER_H #ifndef SM_SERVERR2 #define SM_SERVERR2 89 #endif #ifndef VER_SUITE_WH_SERVER #define VER_SUITE_WH_SERVER 0x8000 #endif #ifndef PRODUCT_ULTIMATE #define PRODUCT_UNDEFINED 0x00000000 #define PRODUCT_ULTIMATE 0x00000001 #define PRODUCT_HOME_BASIC 0x00000002 #define PRODUCT_HOME_PREMIUM 0x00000003 #define PRODUCT_ENTERPRISE 0x00000004 #define PRODUCT_HOME_BASIC_N 0x00000005 #define PRODUCT_BUSINESS 0x00000006 #define PRODUCT_STANDARD_SERVER 0x00000007 #define PRODUCT_DATACENTER_SERVER 0x00000008 #define PRODUCT_SMALLBUSINESS_SERVER 0x00000009 #define PRODUCT_ENTERPRISE_SERVER 0x0000000A #define PRODUCT_STARTER 0x0000000B #define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C #define PRODUCT_STANDARD_SERVER_CORE 0x0000000D #define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E #define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F #define PRODUCT_BUSINESS_N 0x00000010 #define PRODUCT_WEB_SERVER 0x00000011 #define PRODUCT_CLUSTER_SERVER 0x00000012 #define PRODUCT_HOME_SERVER 0x00000013 #define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014 #define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015 #define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016 #define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017 #define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018 #define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019 #endif #ifndef VER_NT_WORKSTATION #define VER_NT_WORKSTATION 0x0000001 #define VER_NT_DOMAIN_CONTROLLER 0x0000002 #define VER_NT_SERVER 0x0000003 #endif #ifndef VER_SUITE_SMALLBUSINESS #define VER_SUITE_SMALLBUSINESS 0x00000001 #define VER_SUITE_ENTERPRISE 0x00000002 #define VER_SUITE_BACKOFFICE 0x00000004 #define VER_SUITE_COMMUNICATIONS 0x00000008 #define VER_SUITE_TERMINAL 0x00000010 #define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020 #define VER_SUITE_EMBEDDEDNT 0x00000040 #define VER_SUITE_DATACENTER 0x00000080 #define VER_SUITE_SINGLEUSERTS 0x00000100 #define VER_SUITE_PERSONAL 0x00000200 #define VER_SUITE_BLADE 0x00000400 #define VER_SUITE_EMBEDDED_RESTRICTED 0x00000800 #define VER_SUITE_SECURITY_APPLIANCE 0x00001000 #endif #ifndef VER_SUITE_STORAGE_SERVER # define VER_SUITE_STORAGE_SERVER 0x00002000 #endif #ifndef VER_SUITE_COMPUTE_SERVER # define VER_SUITE_COMPUTE_SERVER 0x00004000 #endif #ifndef PROCESSOR_ARCHITECTURE_AMD64 #define PROCESSOR_ARCHITECTURE_AMD64 9 #endif typedef struct _php_win_OSVERSIONINFOEXA { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; CHAR szCSDVersion[128]; WORD wServicePackMajor; WORD wServicePackMinor; WORD wSuiteMask; BYTE wProductType; BYTE wReserved; } php_win_OSVERSIONINFOEX; #endif07070100081256000081a40000000000000000000000014dc0fae40000062f0000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/standard/php_lcg.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: php_lcg.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_LCG_H #define PHP_LCG_H #include "ext/standard/basic_functions.h" typedef struct { php_int32 s1; php_int32 s2; int seeded; } php_lcg_globals; PHPAPI double php_combined_lcg(TSRMLS_D); PHP_FUNCTION(lcg_value); PHP_MINIT_FUNCTION(lcg); #ifdef ZTS #define LCG(v) TSRMG(lcg_globals_id, php_lcg_globals *, v) #else #define LCG(v) (lcg_globals.v) #endif #endif 0707010008125c000081a40000000000000000000000014dc0fae4000019b80000010000010007ffffffffffffffff0000003800000000root/usr/local/include/php/ext/standard/php_smart_str.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: php_smart_str.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_SMART_STR_H #define PHP_SMART_STR_H #include "php_smart_str_public.h" #include #ifndef SMART_STR_USE_REALLOC #include #endif #define smart_str_0(x) do { \ if ((x)->c) { \ (x)->c[(x)->len] = '\0'; \ } \ } while (0) #ifndef SMART_STR_PREALLOC #define SMART_STR_PREALLOC 128 #endif #ifndef SMART_STR_START_SIZE #define SMART_STR_START_SIZE 78 #endif #ifdef SMART_STR_USE_REALLOC #define SMART_STR_REALLOC(a,b,c) realloc((a),(b)) #else #define SMART_STR_REALLOC(a,b,c) perealloc((a),(b),(c)) #endif #define SMART_STR_DO_REALLOC(d, what) \ (d)->c = SMART_STR_REALLOC((d)->c, (d)->a + 1, (what)) #define smart_str_alloc4(d, n, what, newlen) do { \ if (!(d)->c) { \ (d)->len = 0; \ newlen = (n); \ (d)->a = newlen < SMART_STR_START_SIZE \ ? SMART_STR_START_SIZE \ : newlen + SMART_STR_PREALLOC; \ SMART_STR_DO_REALLOC(d, what); \ } else { \ newlen = (d)->len + (n); \ if (newlen >= (d)->a) { \ (d)->a = newlen + SMART_STR_PREALLOC; \ SMART_STR_DO_REALLOC(d, what); \ } \ } \ } while (0) #define smart_str_alloc(d, n, what) \ smart_str_alloc4((d), (n), (what), newlen) /* wrapper */ #define smart_str_appends_ex(dest, src, what) \ smart_str_appendl_ex((dest), (src), strlen(src), (what)) #define smart_str_appends(dest, src) \ smart_str_appendl((dest), (src), strlen(src)) #define smart_str_appendc(dest, c) \ smart_str_appendc_ex((dest), (c), 0) #define smart_str_free(s) \ smart_str_free_ex((s), 0) #define smart_str_appendl(dest, src, len) \ smart_str_appendl_ex((dest), (src), (len), 0) #define smart_str_append(dest, src) \ smart_str_append_ex((dest), (src), 0) #define smart_str_append_long(dest, val) \ smart_str_append_long_ex((dest), (val), 0) #define smart_str_append_off_t(dest, val) \ smart_str_append_off_t_ex((dest), (val), 0) #define smart_str_append_unsigned(dest, val) \ smart_str_append_unsigned_ex((dest), (val), 0) #define smart_str_appendc_ex(dest, ch, what) do { \ register size_t __nl; \ smart_str_alloc4((dest), 1, (what), __nl); \ (dest)->len = __nl; \ ((unsigned char *) (dest)->c)[(dest)->len - 1] = (ch); \ } while (0) #define smart_str_free_ex(s, what) do { \ smart_str *__s = (smart_str *) (s); \ if (__s->c) { \ pefree(__s->c, what); \ __s->c = NULL; \ } \ __s->a = __s->len = 0; \ } while (0) #define smart_str_appendl_ex(dest, src, nlen, what) do { \ register size_t __nl; \ smart_str *__dest = (smart_str *) (dest); \ \ smart_str_alloc4(__dest, (nlen), (what), __nl); \ memcpy(__dest->c + __dest->len, (src), (nlen)); \ __dest->len = __nl; \ } while (0) /* input: buf points to the END of the buffer */ #define smart_str_print_unsigned4(buf, num, vartype, result) do { \ char *__p = (buf); \ vartype __num = (num); \ *__p = '\0'; \ do { \ *--__p = (char) (__num % 10) + '0'; \ __num /= 10; \ } while (__num > 0); \ result = __p; \ } while (0) /* buf points to the END of the buffer */ #define smart_str_print_long4(buf, num, vartype, result) do { \ if (num < 0) { \ /* this might cause problems when dealing with LONG_MIN \ and machines which don't support long long. Works \ flawlessly on 32bit x86 */ \ smart_str_print_unsigned4((buf), -(num), vartype, (result)); \ *--(result) = '-'; \ } else { \ smart_str_print_unsigned4((buf), (num), vartype, (result)); \ } \ } while (0) /* * these could be replaced using a braced-group inside an expression * for GCC compatible compilers, e.g. * * #define f(..) ({char *r;..;__r;}) */ static inline char *smart_str_print_long(char *buf, long num) { char *r; smart_str_print_long4(buf, num, unsigned long, r); return r; } static inline char *smart_str_print_unsigned(char *buf, long num) { char *r; smart_str_print_unsigned4(buf, num, unsigned long, r); return r; } #define smart_str_append_generic_ex(dest, num, type, vartype, func) do { \ char __b[32]; \ char *__t; \ smart_str_print##func##4 (__b + sizeof(__b) - 1, (num), vartype, __t); \ smart_str_appendl_ex((dest), __t, __b + sizeof(__b) - 1 - __t, (type)); \ } while (0) #define smart_str_append_unsigned_ex(dest, num, type) \ smart_str_append_generic_ex((dest), (num), (type), unsigned long, _unsigned) #define smart_str_append_long_ex(dest, num, type) \ smart_str_append_generic_ex((dest), (num), (type), unsigned long, _long) #define smart_str_append_off_t_ex(dest, num, type) \ smart_str_append_generic_ex((dest), (num), (type), off_t, _long) #define smart_str_append_ex(dest, src, what) \ smart_str_appendl_ex((dest), ((smart_str *)(src))->c, \ ((smart_str *)(src))->len, (what)); #define smart_str_setl(dest, src, nlen) do { \ (dest)->len = (nlen); \ (dest)->a = (nlen) + 1; \ (dest)->c = (char *) (src); \ } while (0) #define smart_str_sets(dest, src) \ smart_str_setl((dest), (src), strlen(src)); #endif 07070100081255000081a40000000000000000000000014dc0fae40000052a0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_iptc.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Thies C. Arntzen | +----------------------------------------------------------------------+ */ /* $Id: php_iptc.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_IPTC_H #define PHP_IPTC_H PHP_FUNCTION(iptcparse); PHP_FUNCTION(iptcembed); #endif /* PHP_IPTC_H */ 07070100081239000081a40000000000000000000000014dc0fae3000005280000010000010007ffffffffffffffff0000003600000000root/usr/local/include/php/ext/standard/cyr_convert.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Kirill Maximov | +----------------------------------------------------------------------+ */ /* $Id: cyr_convert.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef CYR_CONVERT_H #define CYR_CONVERT_H PHP_FUNCTION(convert_cyr_string); #endif /* CYR_CONVERT_H */ 07070100081235000081a40000000000000000000000014dc0fae2000015f60000010000010007ffffffffffffffff0000003600000000root/usr/local/include/php/ext/standard/credits_ext.h/* DO NOT EDIT THIS FILE! it has been automaticaly created by php5/scripts/credits from the information found in the various php5/ext/.../CREDITS and php5/sapi/.../CREDITS files if you want to change an entry you have to edit the appropriate CREDITS file instead */ CREDIT_LINE("BC Math", "Andi Gutmans"); CREDIT_LINE("Bzip2", "Sterling Hughes"); CREDIT_LINE("Calendar", "Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong"); CREDIT_LINE("COM and .Net", "Wez Furlong"); CREDIT_LINE("ctype", "Hartmut Holzgraefe"); CREDIT_LINE("cURL", "Sterling Hughes"); CREDIT_LINE("Date/Time Support", "Derick Rethans"); CREDIT_LINE("DBA", "Sascha Schumann, Marcus Boerger"); CREDIT_LINE("DB-LIB (MS SQL, Sybase)", "Wez Furlong, Frank M. Kromann"); CREDIT_LINE("DOM", "Christian Stocker, Rob Richards, Marcus Boerger"); CREDIT_LINE("enchant", "Pierre-Alain Joye, Ilia Alshanetsky"); CREDIT_LINE("ereg", "Rasmus Lerdorf, Jim Winstead, Jaakko Hyvätti"); CREDIT_LINE("EXIF", "Rasmus Lerdorf, Marcus Boerger"); CREDIT_LINE("fileinfo", "Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans"); CREDIT_LINE("Firebird/InterBase driver for PDO", "Ard Biesheuvel"); CREDIT_LINE("FTP", "Stefan Esser, Andrew Skalski"); CREDIT_LINE("GD imaging", "Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger"); CREDIT_LINE("GetText", "Alex Plotnick"); CREDIT_LINE("GNU GMP support", "Stanislav Malyshev"); CREDIT_LINE("Iconv", "Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi "); CREDIT_LINE("IMAP", "Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky"); CREDIT_LINE("Input Filter", "Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky"); CREDIT_LINE("InterBase", "Jouni Ahto, Andrew Avdeev, Ard Biesheuvel"); CREDIT_LINE("Internationalization", "Ed Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar"); CREDIT_LINE("JSON", "Omar Kilani, Scott MacVicar"); CREDIT_LINE("LDAP", "Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas"); CREDIT_LINE("LIBXML", "Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo"); CREDIT_LINE("mcrypt", "Sascha Schumann, Derick Rethans"); CREDIT_LINE("MS SQL", "Frank M. Kromann"); CREDIT_LINE("Multibyte String Functions", "Tsukada Takuya, Rui Hirokawa"); CREDIT_LINE("MySQL driver for PDO", "George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter"); CREDIT_LINE("MySQLi", "Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel"); CREDIT_LINE("MySQLnd", "Georg Richter, Andrey Hristov, Ulf Wendel"); CREDIT_LINE("MySQL", "Zeev Suraski, Zak Greant, Georg Richter"); CREDIT_LINE("OCI8", "Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson, Maxim Maletsky, Harald Radi, Antony Dovgal, Andi Gutmans, Wez Furlong, Christopher Jones, Oracle Corporation"); CREDIT_LINE("ODBC driver for PDO", "Wez Furlong"); CREDIT_LINE("ODBC", "Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky"); CREDIT_LINE("OpenSSL", "Stig Venaas, Wez Furlong, Sascha Kettler"); CREDIT_LINE("Oracle (OCI) driver for PDO", "Wez Furlong"); CREDIT_LINE("pcntl", "Jason Greene, Arnaud Le Blanc"); CREDIT_LINE("Perl Compatible Regexps", "Andrei Zmievski"); CREDIT_LINE("PHP Archive", "Gregory Beaver, Marcus Boerger"); CREDIT_LINE("PHP Data Objects", "Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky"); CREDIT_LINE("PHP hash", "Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar"); CREDIT_LINE("Posix", "Kristian Koehntopp"); CREDIT_LINE("PostgreSQL driver for PDO", "Edin Kadribasic, Ilia Alshanetsky"); CREDIT_LINE("PostgreSQL", "Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne"); CREDIT_LINE("Pspell", "Vlad Krupin"); CREDIT_LINE("Readline", "Thies C. Arntzen"); CREDIT_LINE("Recode", "Kristian Koehntopp"); CREDIT_LINE("Reflection", "Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter"); CREDIT_LINE("Sessions", "Sascha Schumann, Andrei Zmievski"); CREDIT_LINE("Shared Memory Operations", "Slava Poliakov, Ilia Alshanetsky"); CREDIT_LINE("SimpleXML", "Sterling Hughes, Marcus Boerger, Rob Richards"); CREDIT_LINE("SNMP", "Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne"); CREDIT_LINE("SOAP", "Brad Lafountain, Shane Caraveo, Dmitry Stogov"); CREDIT_LINE("Sockets", "Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene"); CREDIT_LINE("SPL", "Marcus Boerger, Etienne Kneuss"); CREDIT_LINE("SQLite3", "Scott MacVicar, Ilia Alshanetsky"); CREDIT_LINE("SQLite 3.x driver for PDO", "Wez Furlong"); CREDIT_LINE("SQLite", "Wez Furlong, Tal Peer, Marcus Boerger, Ilia Alshanetsky"); CREDIT_LINE("Sybase-CT", "Zeev Suraski, Tom May, Timm Friebe"); CREDIT_LINE("System V Message based IPC", "Wez Furlong"); CREDIT_LINE("System V Semaphores", "Tom May"); CREDIT_LINE("System V Shared Memory", "Christian Cartus"); CREDIT_LINE("tidy", "John Coggeshall, Ilia Alshanetsky"); CREDIT_LINE("tokenizer", "Andrei Zmievski, Johannes Schlueter"); CREDIT_LINE("WDDX", "Andrei Zmievski"); CREDIT_LINE("XMLReader", "Rob Richards"); CREDIT_LINE("xmlrpc", "Dan Libby"); CREDIT_LINE("XML", "Stig Bakken, Thies C. Arntzen, Sterling Hughes"); CREDIT_LINE("XMLWriter", "Rob Richards, Pierre-Alain Joye"); CREDIT_LINE("XSL", "Christian Stocker, Rob Richards"); CREDIT_LINE("Zip", "Pierre-Alain Joye"); CREDIT_LINE("Zlib", "Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti"); 0707010008123d000081a40000000000000000000000014dc0fae3000011650000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/file.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: file.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Synced with php 3.0 revision 1.30 1999-06-16 [ssb] */ #ifndef FILE_H #define FILE_H PHP_MINIT_FUNCTION(file); PHP_MSHUTDOWN_FUNCTION(file); PHP_FUNCTION(tempnam); PHP_NAMED_FUNCTION(php_if_tmpfile); PHP_NAMED_FUNCTION(php_if_fopen); PHPAPI PHP_FUNCTION(fclose); PHP_FUNCTION(popen); PHP_FUNCTION(pclose); PHPAPI PHP_FUNCTION(feof); PHPAPI PHP_FUNCTION(fread); PHPAPI PHP_FUNCTION(fgetc); PHPAPI PHP_FUNCTION(fgets); PHP_FUNCTION(fscanf); PHPAPI PHP_FUNCTION(fgetss); PHP_FUNCTION(fgetcsv); PHP_FUNCTION(fputcsv); PHPAPI PHP_FUNCTION(fwrite); PHPAPI PHP_FUNCTION(fflush); PHPAPI PHP_FUNCTION(rewind); PHPAPI PHP_FUNCTION(ftell); PHPAPI PHP_FUNCTION(fseek); PHP_FUNCTION(mkdir); PHP_FUNCTION(rmdir); PHPAPI PHP_FUNCTION(fpassthru); PHP_FUNCTION(readfile); PHP_FUNCTION(umask); PHP_FUNCTION(rename); PHP_FUNCTION(unlink); PHP_FUNCTION(copy); PHP_FUNCTION(file); PHP_FUNCTION(file_get_contents); PHP_FUNCTION(file_put_contents); PHP_FUNCTION(get_meta_tags); PHP_FUNCTION(flock); PHP_FUNCTION(fd_set); PHP_FUNCTION(fd_isset); #if (!defined(__BEOS__) && !defined(NETWARE) && HAVE_REALPATH) || defined(ZTS) PHP_FUNCTION(realpath); #endif #ifdef HAVE_FNMATCH PHP_FUNCTION(fnmatch); #endif PHP_NAMED_FUNCTION(php_if_ftruncate); PHP_NAMED_FUNCTION(php_if_fstat); PHP_FUNCTION(sys_get_temp_dir); PHP_MINIT_FUNCTION(user_streams); PHPAPI int php_le_stream_context(void); PHPAPI int php_set_sock_blocking(int socketd, int block TSRMLS_DC); PHPAPI int php_copy_file(char *src, char *dest TSRMLS_DC); PHPAPI int php_copy_file_ex(char *src, char *dest, int src_chk TSRMLS_DC); PHPAPI int php_copy_file_ctx(char *src, char *dest, int src_chk, php_stream_context *context TSRMLS_DC); PHPAPI int php_mkdir_ex(char *dir, long mode, int options TSRMLS_DC); PHPAPI int php_mkdir(char *dir, long mode TSRMLS_DC); PHPAPI void php_fgetcsv(php_stream *stream, char delimiter, char enclosure, char escape_char, size_t buf_len, char *buf, zval *return_value TSRMLS_DC); #define META_DEF_BUFSIZE 8192 #define PHP_FILE_USE_INCLUDE_PATH 1 #define PHP_FILE_IGNORE_NEW_LINES 2 #define PHP_FILE_SKIP_EMPTY_LINES 4 #define PHP_FILE_APPEND 8 #define PHP_FILE_NO_DEFAULT_CONTEXT 16 typedef enum _php_meta_tags_token { TOK_EOF = 0, TOK_OPENTAG, TOK_CLOSETAG, TOK_SLASH, TOK_EQUAL, TOK_SPACE, TOK_ID, TOK_STRING, TOK_OTHER } php_meta_tags_token; typedef struct _php_meta_tags_data { php_stream *stream; int ulc; int lc; char *input_buffer; char *token_data; int token_len; int in_meta; } php_meta_tags_data; php_meta_tags_token php_next_meta_token(php_meta_tags_data * TSRMLS_DC); typedef struct { int pclose_ret; size_t def_chunk_size; long auto_detect_line_endings; long default_socket_timeout; char *user_agent; /* for the http wrapper */ char *user_stream_current_filename; /* for simple recursion protection */ php_stream_context *default_context; HashTable *stream_wrappers; /* per-request copy of url_stream_wrappers_hash */ HashTable *stream_filters; /* per-request copy of stream_filters_hash */ } php_file_globals; #ifdef ZTS #define FG(v) TSRMG(file_globals_id, php_file_globals *, v) extern PHPAPI int file_globals_id; #else #define FG(v) (file_globals.v) extern PHPAPI php_file_globals file_globals; #endif #endif /* FILE_H */ 07070100081236000081a40000000000000000000000014dc0fae2000006260000010000010007ffffffffffffffff0000003700000000root/usr/local/include/php/ext/standard/credits_sapi.h/* DO NOT EDIT THIS FILE! it has been automaticaly created by php5/scripts/credits from the information found in the various php5/ext/.../CREDITS and php5/sapi/.../CREDITS files if you want to change an entry you have to edit the appropriate CREDITS file instead */ CREDIT_LINE("AOLserver", "Sascha Schumann"); CREDIT_LINE("Apache 1.3 (apache_hooks)", "Rasmus Lerdorf, Zeev Suraski, Stig Bakken, David Sklar, George Schlossnagle, Lukas Schroeder"); CREDIT_LINE("Apache 1.3", "Rasmus Lerdorf, Zeev Suraski, Stig Bakken, David Sklar"); CREDIT_LINE("Apache 2.0 Filter", "Sascha Schumann, Aaron Bannert"); CREDIT_LINE("Apache 2.0 Handler", "Ian Holsman, Justin Erenkrantz (based on Apache 2.0 Filter code)"); CREDIT_LINE("Caudium / Roxen", "David Hedbor"); CREDIT_LINE("CGI / FastCGI", "Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov"); CREDIT_LINE("CLI", "Edin Kadribasic, Marcus Boerger, Johannes Schlueter"); CREDIT_LINE("Continuity", "Alex Leigh (based on nsapi code)"); CREDIT_LINE("Embed", "Edin Kadribasic"); CREDIT_LINE("FastCGI Process Manager", "Andrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet"); CREDIT_LINE("ISAPI", "Andi Gutmans, Zeev Suraski"); CREDIT_LINE("litespeed", "George Wang"); CREDIT_LINE("NSAPI", "Jayakumar Muthukumarasamy, Uwe Schindler"); CREDIT_LINE("phttpd", "Thies C. Arntzen"); CREDIT_LINE("pi3web", "Holger Zimmermann"); CREDIT_LINE("Sendmail Milter", "Harald Radi"); CREDIT_LINE("thttpd", "Sascha Schumann"); CREDIT_LINE("tux", "Sascha Schumann"); CREDIT_LINE("WebJames", "Alex Waugh"); 07070100081252000081a40000000000000000000000014dc0fae30000072e0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_http.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Sara Golemon | +----------------------------------------------------------------------+ */ /* $Id: php_http.h 307432 2011-01-13 07:27:46Z stas $ */ #ifndef PHP_HTTP_H #define PHP_HTTP_H #include "php.h" #include "php_smart_str.h" PHPAPI int php_url_encode_hash_ex(HashTable *ht, smart_str *formstr, const char *num_prefix, int num_prefix_len, const char *key_prefix, int key_prefix_len, const char *key_suffix, int key_suffix_len, zval *type, char *arg_sep TSRMLS_DC); #define php_url_encode_hash(ht, formstr) php_url_encode_hash_ex((ht), (formstr), NULL, 0, NULL, 0, NULL, 0, NULL TSRMLS_CC) PHP_FUNCTION(http_build_query); #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ 0707010008123e000081a40000000000000000000000014dc0fae30000087c0000010000010007ffffffffffffffff0000003700000000root/usr/local/include/php/ext/standard/flock_compat.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: flock_compat.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef FLOCK_COMPAT_H #define FLOCK_COMPAT_H /* php_flock internally uses fcntl whther or not flock is available * This way our php_flock even works on NFS files. * More info: /usr/src/linux/Documentation */ PHPAPI int php_flock(int fd, int operation); #ifndef HAVE_FLOCK # define LOCK_SH 1 # define LOCK_EX 2 # define LOCK_NB 4 # define LOCK_UN 8 PHPAPI int flock(int fd, int operation); #endif /* Userland LOCK_* constants */ #define PHP_LOCK_SH 1 #define PHP_LOCK_EX 2 #define PHP_LOCK_UN 3 #define PHP_LOCK_NB 4 #ifdef PHP_WIN32 # ifdef EWOULDBLOCK # undef EWOULDBLOCK # endif # define EWOULDBLOCK WSAEWOULDBLOCK # define fsync _commit # define ftruncate(a, b) chsize(a, b) #endif /* defined(PHP_WIN32) */ #if !HAVE_INET_ATON #if HAVE_NETINET_IN_H #include #endif #if HAVE_ARPA_INET_H #include #endif #ifndef PHP_WIN32 extern int inet_aton(const char *, struct in_addr *); #endif #endif #endif /* FLOCK_COMPAT_H */ 07070100081250000081a40000000000000000000000014dc0fae3000007d00000010000010007ffffffffffffffff0000003d00000000root/usr/local/include/php/ext/standard/php_fopen_wrappers.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf | | Jim Winstead | | Hartmut Holzgraefe | +----------------------------------------------------------------------+ */ /* $Id: php_fopen_wrappers.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_FOPEN_WRAPPERS_H #define PHP_FOPEN_WRAPPERS_H php_stream *php_stream_url_wrap_http(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC); php_stream *php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC); extern PHPAPI php_stream_wrapper php_stream_http_wrapper; extern PHPAPI php_stream_wrapper php_stream_ftp_wrapper; extern php_stream_wrapper php_stream_php_wrapper; extern php_stream_wrapper php_plain_files_wrapper; #endif 07070100081257000081a40000000000000000000000014dc0fae40000058b0000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/standard/php_link.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_link.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_LINK_H #define PHP_LINK_H #if defined(HAVE_SYMLINK) || defined(PHP_WIN32) PHP_FUNCTION(link); PHP_FUNCTION(readlink); PHP_FUNCTION(linkinfo); PHP_FUNCTION(symlink); #endif #endif /* PHP_LINK_H */ 0707010008123f000081a40000000000000000000000014dc0fae3000006770000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/standard/fsock.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Paul Panotzki - Bunyip Information Systems | | Jim Winstead | | Wez Furlong | +----------------------------------------------------------------------+ */ /* $Id: fsock.h 306939 2011-01-01 02:19:59Z felipe $ */ /* Synced with php 3.0 revision 1.24 1999-06-18 [ssb] */ #ifndef FSOCK_H #define FSOCK_H #include "file.h" #include "php_network.h" PHP_FUNCTION(fsockopen); PHP_FUNCTION(pfsockopen); /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim: sw=4 ts=4 */ #endif /* FSOCK_H */ 07070100081232000081a40000000000000000000000014dc0fae200001b5f0000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/ext/standard/basic_functions.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id: basic_functions.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef BASIC_FUNCTIONS_H #define BASIC_FUNCTIONS_H #include #ifdef HAVE_WCHAR_H #include #endif #include "php_filestat.h" #include "zend_highlight.h" #include "url_scanner_ex.h" extern zend_module_entry basic_functions_module; #define basic_functions_module_ptr &basic_functions_module PHP_MINIT_FUNCTION(basic); PHP_MSHUTDOWN_FUNCTION(basic); PHP_RINIT_FUNCTION(basic); PHP_RSHUTDOWN_FUNCTION(basic); PHP_MINFO_FUNCTION(basic); PHP_FUNCTION(constant); PHP_FUNCTION(sleep); PHP_FUNCTION(usleep); #if HAVE_NANOSLEEP PHP_FUNCTION(time_nanosleep); PHP_FUNCTION(time_sleep_until); #endif PHP_FUNCTION(flush); #ifdef HAVE_INET_NTOP PHP_NAMED_FUNCTION(php_inet_ntop); #endif #ifdef HAVE_INET_PTON PHP_NAMED_FUNCTION(php_inet_pton); #endif PHP_FUNCTION(ip2long); PHP_FUNCTION(long2ip); /* system functions */ PHP_FUNCTION(getenv); PHP_FUNCTION(putenv); PHP_FUNCTION(getopt); PHP_FUNCTION(get_current_user); PHP_FUNCTION(set_time_limit); PHP_FUNCTION(get_cfg_var); PHP_FUNCTION(set_magic_quotes_runtime); PHP_FUNCTION(get_magic_quotes_runtime); PHP_FUNCTION(get_magic_quotes_gpc); PHP_FUNCTION(import_request_variables); PHP_FUNCTION(error_log); PHP_FUNCTION(error_get_last); PHP_FUNCTION(call_user_func); PHP_FUNCTION(call_user_func_array); PHP_FUNCTION(call_user_method); PHP_FUNCTION(call_user_method_array); PHP_FUNCTION(forward_static_call); PHP_FUNCTION(forward_static_call_array); PHP_FUNCTION(register_shutdown_function); PHP_FUNCTION(highlight_file); PHP_FUNCTION(highlight_string); PHP_FUNCTION(php_strip_whitespace); ZEND_API void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini); PHP_FUNCTION(ini_get); PHP_FUNCTION(ini_get_all); PHP_FUNCTION(ini_set); PHP_FUNCTION(ini_restore); PHP_FUNCTION(get_include_path); PHP_FUNCTION(set_include_path); PHP_FUNCTION(restore_include_path); PHP_FUNCTION(print_r); PHP_FUNCTION(fprintf); PHP_FUNCTION(vfprintf); PHP_FUNCTION(connection_aborted); PHP_FUNCTION(connection_status); PHP_FUNCTION(ignore_user_abort); PHP_FUNCTION(getservbyname); PHP_FUNCTION(getservbyport); PHP_FUNCTION(getprotobyname); PHP_FUNCTION(getprotobynumber); PHP_NAMED_FUNCTION(php_if_crc32); PHP_FUNCTION(register_tick_function); PHP_FUNCTION(unregister_tick_function); #ifdef HAVE_GETLOADAVG PHP_FUNCTION(sys_getloadavg); #endif PHP_FUNCTION(is_uploaded_file); PHP_FUNCTION(move_uploaded_file); /* From the INI parser */ PHP_FUNCTION(parse_ini_file); PHP_FUNCTION(parse_ini_string); #if ZEND_DEBUG PHP_FUNCTION(config_get_hash); #endif PHP_FUNCTION(str_rot13); PHP_FUNCTION(stream_get_filters); PHP_FUNCTION(stream_filter_register); PHP_FUNCTION(stream_bucket_make_writeable); PHP_FUNCTION(stream_bucket_prepend); PHP_FUNCTION(stream_bucket_append); PHP_FUNCTION(stream_bucket_new); PHP_MINIT_FUNCTION(user_filters); PHP_RSHUTDOWN_FUNCTION(user_filters); /* Left for BC (not binary safe!) */ PHPAPI int _php_error_log(int opt_err, char *message, char *opt, char *headers TSRMLS_DC); PHPAPI int _php_error_log_ex(int opt_err, char *message, int message_len, char *opt, char *headers TSRMLS_DC); PHPAPI int php_prefix_varname(zval *result, zval *prefix, char *var_name, int var_name_len, zend_bool add_underscore TSRMLS_DC); #if SIZEOF_INT == 4 /* Most 32-bit and 64-bit systems have 32-bit ints */ typedef unsigned int php_uint32; typedef signed int php_int32; #elif SIZEOF_LONG == 4 /* 16-bit systems? */ typedef unsigned long php_uint32; typedef signed long php_int32; #else #error Need type which holds 32 bits #endif #define MT_N (624) typedef struct _php_basic_globals { HashTable *user_shutdown_function_names; HashTable putenv_ht; zval *strtok_zval; char *strtok_string; char *locale_string; char *strtok_last; char strtok_table[256]; ulong strtok_len; char str_ebuf[40]; zend_fcall_info array_walk_fci; zend_fcall_info_cache array_walk_fci_cache; zend_fcall_info user_compare_fci; zend_fcall_info_cache user_compare_fci_cache; zend_llist *user_tick_functions; zval *active_ini_file_section; HashTable sm_protected_env_vars; char *sm_allowed_env_vars; /* pageinfo.c */ long page_uid; long page_gid; long page_inode; time_t page_mtime; /* filestat.c && main/streams/streams.c */ char *CurrentStatFile, *CurrentLStatFile; php_stream_statbuf ssb, lssb; /* rand.c */ php_uint32 state[MT_N+1]; /* state vector + 1 extra to not violate ANSI C */ php_uint32 *next; /* next random value is computed from here */ int left; /* can *next++ this many times before reloading */ unsigned int rand_seed; /* Seed for rand(), in ts version */ zend_bool rand_is_seeded; /* Whether rand() has been seeded */ zend_bool mt_rand_is_seeded; /* Whether mt_rand() has been seeded */ /* syslog.c */ int syslog_started; char *syslog_device; /* var.c */ zend_class_entry *incomplete_class; /* url_scanner_ex.re */ url_adapt_state_ex_t url_adapt_state_ex; #ifdef HAVE_MMAP void *mmap_file; size_t mmap_len; #endif HashTable *user_filter_map; /* file.c */ #if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T) mbstate_t mblen_state; #endif int umask; } php_basic_globals; #ifdef ZTS #define BG(v) TSRMG(basic_globals_id, php_basic_globals *, v) PHPAPI extern int basic_globals_id; #else #define BG(v) (basic_globals.v) PHPAPI extern php_basic_globals basic_globals; #endif #if HAVE_PUTENV typedef struct { char *putenv_string; char *previous_value; char *key; int key_len; } putenv_entry; #endif /* Values are comma-delimited */ #define SAFE_MODE_PROTECTED_ENV_VARS "LD_LIBRARY_PATH" #define SAFE_MODE_ALLOWED_ENV_VARS "PHP_" PHPAPI double php_get_nan(void); PHPAPI double php_get_inf(void); #endif /* BASIC_FUNCTIONS_H */ 07070100081254000081a40000000000000000000000014dc0fae400000a0b0000010000010007ffffffffffffffff0000003f00000000root/usr/local/include/php/ext/standard/php_incomplete_class.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann | +----------------------------------------------------------------------+ */ /* $Id: php_incomplete_class.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_INCOMPLETE_CLASS_H #define PHP_INCOMPLETE_CLASS_H #include "ext/standard/basic_functions.h" #define PHP_IC_ENTRY \ BG(incomplete_class) #define PHP_SET_CLASS_ATTRIBUTES(struc) \ /* OBJECTS_FIXME: Fix for new object model */ \ if (Z_OBJ_HT_P(struc)->get_class_entry && \ Z_OBJCE_P(struc) == BG(incomplete_class)) { \ class_name = php_lookup_class_name(struc, &name_len); \ if (!class_name) { \ name_len = sizeof(INCOMPLETE_CLASS) - 1; \ class_name = estrndup(INCOMPLETE_CLASS, name_len); \ } \ free_class_name = 1; \ incomplete_class = 1; \ } else { \ free_class_name = !zend_get_object_classname(struc, &class_name, &name_len TSRMLS_CC);\ } #define PHP_CLEANUP_CLASS_ATTRIBUTES() \ if (free_class_name) efree(class_name) #define PHP_CLASS_ATTRIBUTES \ char *class_name; \ zend_uint name_len; \ zend_bool free_class_name = 0; \ zend_bool incomplete_class = 0 #define INCOMPLETE_CLASS "__PHP_Incomplete_Class" #define MAGIC_MEMBER "__PHP_Incomplete_Class_Name" #ifdef __cplusplus extern "C" { #endif PHPAPI zend_class_entry *php_create_incomplete_class(TSRMLS_D); PHPAPI char *php_lookup_class_name(zval *object, zend_uint *nlen); PHPAPI void php_store_class_name(zval *object, const char *name, zend_uint len); #ifdef __cplusplus }; #endif #endif 0707010008123c000081a40000000000000000000000014dc0fae3000006d40000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/standard/exec.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: exec.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef EXEC_H #define EXEC_H PHP_FUNCTION(system); PHP_FUNCTION(exec); PHP_FUNCTION(escapeshellcmd); PHP_FUNCTION(escapeshellarg); PHP_FUNCTION(passthru); PHP_FUNCTION(shell_exec); PHP_FUNCTION(proc_open); PHP_FUNCTION(proc_get_status); PHP_FUNCTION(proc_close); PHP_FUNCTION(proc_terminate); PHP_FUNCTION(proc_nice); PHP_MINIT_FUNCTION(proc_open); PHPAPI char *php_escape_shell_cmd(char *); PHPAPI char *php_escape_shell_arg(char *); PHPAPI int php_exec(int type, char *cmd, zval *array, zval *return_value TSRMLS_DC); #endif /* EXEC_H */ 07070100081229000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000002600000000root/usr/local/include/php/ext/sqlite0707010008122a000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/sqlite/libsqlite0707010008122b000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/sqlite/libsqlite/src0707010008122c000081a40000000000000000000000014dc0fae0000097780000010000010007ffffffffffffffff0000003d00000000root/usr/local/include/php/ext/sqlite/libsqlite/src/sqlite.h/* ** 2001 September 15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This header file defines the interface that the SQLite library ** presents to client programs. ** ** @(#) $Id: sqlite.h.in 195361 2005-09-07 15:11:33Z iliaa $ */ #ifndef _SQLITE_H_ #define _SQLITE_H_ #include /* Needed for the definition of va_list */ /* ** Make sure we can call this stuff from C++. */ #ifdef __cplusplus extern "C" { #endif /* ** The version of the SQLite library. */ #ifdef SQLITE_VERSION # undef SQLITE_VERSION #else # define SQLITE_VERSION "2.8.17" #endif /* ** The version string is also compiled into the library so that a program ** can check to make sure that the lib*.a file and the *.h file are from ** the same version. */ extern const char sqlite_version[]; /* ** The SQLITE_UTF8 macro is defined if the library expects to see ** UTF-8 encoded data. The SQLITE_ISO8859 macro is defined if the ** iso8859 encoded should be used. */ #define SQLITE_ISO8859 1 /* ** The following constant holds one of two strings, "UTF-8" or "iso8859", ** depending on which character encoding the SQLite library expects to ** see. The character encoding makes a difference for the LIKE and GLOB ** operators and for the LENGTH() and SUBSTR() functions. */ extern const char sqlite_encoding[]; /* ** Each open sqlite database is represented by an instance of the ** following opaque structure. */ typedef struct sqlite sqlite; /* ** A function to open a new sqlite database. ** ** If the database does not exist and mode indicates write ** permission, then a new database is created. If the database ** does not exist and mode does not indicate write permission, ** then the open fails, an error message generated (if errmsg!=0) ** and the function returns 0. ** ** If mode does not indicates user write permission, then the ** database is opened read-only. ** ** The Truth: As currently implemented, all databases are opened ** for writing all the time. Maybe someday we will provide the ** ability to open a database readonly. The mode parameters is ** provided in anticipation of that enhancement. */ sqlite *sqlite_open(const char *filename, int mode, char **errmsg); /* ** A function to close the database. ** ** Call this function with a pointer to a structure that was previously ** returned from sqlite_open() and the corresponding database will by closed. */ void sqlite_close(sqlite *); /* ** The type for a callback function. */ typedef int (*sqlite_callback)(void*,int,char**, char**); /* ** A function to executes one or more statements of SQL. ** ** If one or more of the SQL statements are queries, then ** the callback function specified by the 3rd parameter is ** invoked once for each row of the query result. This callback ** should normally return 0. If the callback returns a non-zero ** value then the query is aborted, all subsequent SQL statements ** are skipped and the sqlite_exec() function returns the SQLITE_ABORT. ** ** The 4th parameter is an arbitrary pointer that is passed ** to the callback function as its first parameter. ** ** The 2nd parameter to the callback function is the number of ** columns in the query result. The 3rd parameter to the callback ** is an array of strings holding the values for each column. ** The 4th parameter to the callback is an array of strings holding ** the names of each column. ** ** The callback function may be NULL, even for queries. A NULL ** callback is not an error. It just means that no callback ** will be invoked. ** ** If an error occurs while parsing or evaluating the SQL (but ** not while executing the callback) then an appropriate error ** message is written into memory obtained from malloc() and ** *errmsg is made to point to that message. The calling function ** is responsible for freeing the memory that holds the error ** message. Use sqlite_freemem() for this. If errmsg==NULL, ** then no error message is ever written. ** ** The return value is is SQLITE_OK if there are no errors and ** some other return code if there is an error. The particular ** return value depends on the type of error. ** ** If the query could not be executed because a database file is ** locked or busy, then this function returns SQLITE_BUSY. (This ** behavior can be modified somewhat using the sqlite_busy_handler() ** and sqlite_busy_timeout() functions below.) */ int sqlite_exec( sqlite*, /* An open database */ const char *sql, /* SQL to be executed */ sqlite_callback, /* Callback function */ void *, /* 1st argument to callback function */ char **errmsg /* Error msg written here */ ); /* ** Return values for sqlite_exec() and sqlite_step() */ #define SQLITE_OK 0 /* Successful result */ #define SQLITE_ERROR 1 /* SQL error or missing database */ #define SQLITE_INTERNAL 2 /* An internal logic error in SQLite */ #define SQLITE_PERM 3 /* Access permission denied */ #define SQLITE_ABORT 4 /* Callback routine requested an abort */ #define SQLITE_BUSY 5 /* The database file is locked */ #define SQLITE_LOCKED 6 /* A table in the database is locked */ #define SQLITE_NOMEM 7 /* A malloc() failed */ #define SQLITE_READONLY 8 /* Attempt to write a readonly database */ #define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite_interrupt() */ #define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ #define SQLITE_CORRUPT 11 /* The database disk image is malformed */ #define SQLITE_NOTFOUND 12 /* (Internal Only) Table or record not found */ #define SQLITE_FULL 13 /* Insertion failed because database is full */ #define SQLITE_CANTOPEN 14 /* Unable to open the database file */ #define SQLITE_PROTOCOL 15 /* Database lock protocol error */ #define SQLITE_EMPTY 16 /* (Internal Only) Database table is empty */ #define SQLITE_SCHEMA 17 /* The database schema changed */ #define SQLITE_TOOBIG 18 /* Too much data for one row of a table */ #define SQLITE_CONSTRAINT 19 /* Abort due to contraint violation */ #define SQLITE_MISMATCH 20 /* Data type mismatch */ #define SQLITE_MISUSE 21 /* Library used incorrectly */ #define SQLITE_NOLFS 22 /* Uses OS features not supported on host */ #define SQLITE_AUTH 23 /* Authorization denied */ #define SQLITE_FORMAT 24 /* Auxiliary database format error */ #define SQLITE_RANGE 25 /* 2nd parameter to sqlite_bind out of range */ #define SQLITE_NOTADB 26 /* File opened that is not a database file */ #define SQLITE_ROW 100 /* sqlite_step() has another row ready */ #define SQLITE_DONE 101 /* sqlite_step() has finished executing */ /* ** Each entry in an SQLite table has a unique integer key. (The key is ** the value of the INTEGER PRIMARY KEY column if there is such a column, ** otherwise the key is generated at random. The unique key is always ** available as the ROWID, OID, or _ROWID_ column.) The following routine ** returns the integer key of the most recent insert in the database. ** ** This function is similar to the mysql_insert_id() function from MySQL. */ int sqlite_last_insert_rowid(sqlite*); /* ** This function returns the number of database rows that were changed ** (or inserted or deleted) by the most recent called sqlite_exec(). ** ** All changes are counted, even if they were later undone by a ** ROLLBACK or ABORT. Except, changes associated with creating and ** dropping tables are not counted. ** ** If a callback invokes sqlite_exec() recursively, then the changes ** in the inner, recursive call are counted together with the changes ** in the outer call. ** ** SQLite implements the command "DELETE FROM table" without a WHERE clause ** by dropping and recreating the table. (This is much faster than going ** through and deleting individual elements form the table.) Because of ** this optimization, the change count for "DELETE FROM table" will be ** zero regardless of the number of elements that were originally in the ** table. To get an accurate count of the number of rows deleted, use ** "DELETE FROM table WHERE 1" instead. */ int sqlite_changes(sqlite*); /* ** This function returns the number of database rows that were changed ** by the last INSERT, UPDATE, or DELETE statment executed by sqlite_exec(), ** or by the last VM to run to completion. The change count is not updated ** by SQL statements other than INSERT, UPDATE or DELETE. ** ** Changes are counted, even if they are later undone by a ROLLBACK or ** ABORT. Changes associated with trigger programs that execute as a ** result of the INSERT, UPDATE, or DELETE statement are not counted. ** ** If a callback invokes sqlite_exec() recursively, then the changes ** in the inner, recursive call are counted together with the changes ** in the outer call. ** ** SQLite implements the command "DELETE FROM table" without a WHERE clause ** by dropping and recreating the table. (This is much faster than going ** through and deleting individual elements form the table.) Because of ** this optimization, the change count for "DELETE FROM table" will be ** zero regardless of the number of elements that were originally in the ** table. To get an accurate count of the number of rows deleted, use ** "DELETE FROM table WHERE 1" instead. ** ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** */ int sqlite_last_statement_changes(sqlite*); /* If the parameter to this routine is one of the return value constants ** defined above, then this routine returns a constant text string which ** descripts (in English) the meaning of the return value. */ const char *sqlite_error_string(int); #define sqliteErrStr sqlite_error_string /* Legacy. Do not use in new code. */ /* This function causes any pending database operation to abort and ** return at its earliest opportunity. This routine is typically ** called in response to a user action such as pressing "Cancel" ** or Ctrl-C where the user wants a long query operation to halt ** immediately. */ void sqlite_interrupt(sqlite*); /* This function returns true if the given input string comprises ** one or more complete SQL statements. ** ** The algorithm is simple. If the last token other than spaces ** and comments is a semicolon, then return true. otherwise return ** false. */ int sqlite_complete(const char *sql); /* ** This routine identifies a callback function that is invoked ** whenever an attempt is made to open a database table that is ** currently locked by another process or thread. If the busy callback ** is NULL, then sqlite_exec() returns SQLITE_BUSY immediately if ** it finds a locked table. If the busy callback is not NULL, then ** sqlite_exec() invokes the callback with three arguments. The ** second argument is the name of the locked table and the third ** argument is the number of times the table has been busy. If the ** busy callback returns 0, then sqlite_exec() immediately returns ** SQLITE_BUSY. If the callback returns non-zero, then sqlite_exec() ** tries to open the table again and the cycle repeats. ** ** The default busy callback is NULL. ** ** Sqlite is re-entrant, so the busy handler may start a new query. ** (It is not clear why anyone would every want to do this, but it ** is allowed, in theory.) But the busy handler may not close the ** database. Closing the database from a busy handler will delete ** data structures out from under the executing query and will ** probably result in a coredump. */ void sqlite_busy_handler(sqlite*, int(*)(void*,const char*,int), void*); /* ** This routine sets a busy handler that sleeps for a while when a ** table is locked. The handler will sleep multiple times until ** at least "ms" milleseconds of sleeping have been done. After ** "ms" milleseconds of sleeping, the handler returns 0 which ** causes sqlite_exec() to return SQLITE_BUSY. ** ** Calling this routine with an argument less than or equal to zero ** turns off all busy handlers. */ void sqlite_busy_timeout(sqlite*, int ms); /* ** This next routine is really just a wrapper around sqlite_exec(). ** Instead of invoking a user-supplied callback for each row of the ** result, this routine remembers each row of the result in memory ** obtained from malloc(), then returns all of the result after the ** query has finished. ** ** As an example, suppose the query result where this table: ** ** Name | Age ** ----------------------- ** Alice | 43 ** Bob | 28 ** Cindy | 21 ** ** If the 3rd argument were &azResult then after the function returns ** azResult will contain the following data: ** ** azResult[0] = "Name"; ** azResult[1] = "Age"; ** azResult[2] = "Alice"; ** azResult[3] = "43"; ** azResult[4] = "Bob"; ** azResult[5] = "28"; ** azResult[6] = "Cindy"; ** azResult[7] = "21"; ** ** Notice that there is an extra row of data containing the column ** headers. But the *nrow return value is still 3. *ncolumn is ** set to 2. In general, the number of values inserted into azResult ** will be ((*nrow) + 1)*(*ncolumn). ** ** After the calling function has finished using the result, it should ** pass the result data pointer to sqlite_free_table() in order to ** release the memory that was malloc-ed. Because of the way the ** malloc() happens, the calling function must not try to call ** malloc() directly. Only sqlite_free_table() is able to release ** the memory properly and safely. ** ** The return value of this routine is the same as from sqlite_exec(). */ int sqlite_get_table( sqlite*, /* An open database */ const char *sql, /* SQL to be executed */ char ***resultp, /* Result written to a char *[] that this points to */ int *nrow, /* Number of result rows written here */ int *ncolumn, /* Number of result columns written here */ char **errmsg /* Error msg written here */ ); /* ** Call this routine to free the memory that sqlite_get_table() allocated. */ void sqlite_free_table(char **result); /* ** The following routines are wrappers around sqlite_exec() and ** sqlite_get_table(). The only difference between the routines that ** follow and the originals is that the second argument to the ** routines that follow is really a printf()-style format ** string describing the SQL to be executed. Arguments to the format ** string appear at the end of the argument list. ** ** All of the usual printf formatting options apply. In addition, there ** is a "%q" option. %q works like %s in that it substitutes a null-terminated ** string from the argument list. But %q also doubles every '\'' character. ** %q is designed for use inside a string literal. By doubling each '\'' ** character it escapes that character and allows it to be inserted into ** the string. ** ** For example, so some string variable contains text as follows: ** ** char *zText = "It's a happy day!"; ** ** We can use this text in an SQL statement as follows: ** ** sqlite_exec_printf(db, "INSERT INTO table VALUES('%q')", ** callback1, 0, 0, zText); ** ** Because the %q format string is used, the '\'' character in zText ** is escaped and the SQL generated is as follows: ** ** INSERT INTO table1 VALUES('It''s a happy day!') ** ** This is correct. Had we used %s instead of %q, the generated SQL ** would have looked like this: ** ** INSERT INTO table1 VALUES('It's a happy day!'); ** ** This second example is an SQL syntax error. As a general rule you ** should always use %q instead of %s when inserting text into a string ** literal. */ int sqlite_exec_printf( sqlite*, /* An open database */ const char *sqlFormat, /* printf-style format string for the SQL */ sqlite_callback, /* Callback function */ void *, /* 1st argument to callback function */ char **errmsg, /* Error msg written here */ ... /* Arguments to the format string. */ ); int sqlite_exec_vprintf( sqlite*, /* An open database */ const char *sqlFormat, /* printf-style format string for the SQL */ sqlite_callback, /* Callback function */ void *, /* 1st argument to callback function */ char **errmsg, /* Error msg written here */ va_list ap /* Arguments to the format string. */ ); int sqlite_get_table_printf( sqlite*, /* An open database */ const char *sqlFormat, /* printf-style format string for the SQL */ char ***resultp, /* Result written to a char *[] that this points to */ int *nrow, /* Number of result rows written here */ int *ncolumn, /* Number of result columns written here */ char **errmsg, /* Error msg written here */ ... /* Arguments to the format string */ ); int sqlite_get_table_vprintf( sqlite*, /* An open database */ const char *sqlFormat, /* printf-style format string for the SQL */ char ***resultp, /* Result written to a char *[] that this points to */ int *nrow, /* Number of result rows written here */ int *ncolumn, /* Number of result columns written here */ char **errmsg, /* Error msg written here */ va_list ap /* Arguments to the format string */ ); char *sqlite_mprintf(const char*,...); char *sqlite_vmprintf(const char*, va_list); /* ** Windows systems should call this routine to free memory that ** is returned in the in the errmsg parameter of sqlite_open() when ** SQLite is a DLL. For some reason, it does not work to call free() ** directly. */ void sqlite_freemem(void *p); /* ** Windows systems need functions to call to return the sqlite_version ** and sqlite_encoding strings. */ const char *sqlite_libversion(void); const char *sqlite_libencoding(void); /* ** A pointer to the following structure is used to communicate with ** the implementations of user-defined functions. */ typedef struct sqlite_func sqlite_func; /* ** Use the following routines to create new user-defined functions. See ** the documentation for details. */ int sqlite_create_function( sqlite*, /* Database where the new function is registered */ const char *zName, /* Name of the new function */ int nArg, /* Number of arguments. -1 means any number */ void (*xFunc)(sqlite_func*,int,const char**), /* C code to implement */ void *pUserData /* Available via the sqlite_user_data() call */ ); int sqlite_create_aggregate( sqlite*, /* Database where the new function is registered */ const char *zName, /* Name of the function */ int nArg, /* Number of arguments */ void (*xStep)(sqlite_func*,int,const char**), /* Called for each row */ void (*xFinalize)(sqlite_func*), /* Called once to get final result */ void *pUserData /* Available via the sqlite_user_data() call */ ); /* ** Use the following routine to define the datatype returned by a ** user-defined function. The second argument can be one of the ** constants SQLITE_NUMERIC, SQLITE_TEXT, or SQLITE_ARGS or it ** can be an integer greater than or equal to zero. When the datatype ** parameter is non-negative, the type of the result will be the ** same as the datatype-th argument. If datatype==SQLITE_NUMERIC ** then the result is always numeric. If datatype==SQLITE_TEXT then ** the result is always text. If datatype==SQLITE_ARGS then the result ** is numeric if any argument is numeric and is text otherwise. */ int sqlite_function_type( sqlite *db, /* The database there the function is registered */ const char *zName, /* Name of the function */ int datatype /* The datatype for this function */ ); #define SQLITE_NUMERIC (-1) /* #define SQLITE_TEXT (-2) // See below */ #define SQLITE_ARGS (-3) /* ** SQLite version 3 defines SQLITE_TEXT differently. To allow both ** version 2 and version 3 to be included, undefine them both if a ** conflict is seen. Define SQLITE2_TEXT to be the version 2 value. */ #ifdef SQLITE_TEXT # undef SQLITE_TEXT #else # define SQLITE_TEXT (-2) #endif #define SQLITE2_TEXT (-2) /* ** The user function implementations call one of the following four routines ** in order to return their results. The first parameter to each of these ** routines is a copy of the first argument to xFunc() or xFinialize(). ** The second parameter to these routines is the result to be returned. ** A NULL can be passed as the second parameter to sqlite_set_result_string() ** in order to return a NULL result. ** ** The 3rd argument to _string and _error is the number of characters to ** take from the string. If this argument is negative, then all characters ** up to and including the first '\000' are used. ** ** The sqlite_set_result_string() function allocates a buffer to hold the ** result and returns a pointer to this buffer. The calling routine ** (that is, the implmentation of a user function) can alter the content ** of this buffer if desired. */ char *sqlite_set_result_string(sqlite_func*,const char*,int); void sqlite_set_result_int(sqlite_func*,int); void sqlite_set_result_double(sqlite_func*,double); void sqlite_set_result_error(sqlite_func*,const char*,int); /* ** The pUserData parameter to the sqlite_create_function() and ** sqlite_create_aggregate() routines used to register user functions ** is available to the implementation of the function using this ** call. */ void *sqlite_user_data(sqlite_func*); /* ** Aggregate functions use the following routine to allocate ** a structure for storing their state. The first time this routine ** is called for a particular aggregate, a new structure of size nBytes ** is allocated, zeroed, and returned. On subsequent calls (for the ** same aggregate instance) the same buffer is returned. The implementation ** of the aggregate can use the returned buffer to accumulate data. ** ** The buffer allocated is freed automatically be SQLite. */ void *sqlite_aggregate_context(sqlite_func*, int nBytes); /* ** The next routine returns the number of calls to xStep for a particular ** aggregate function instance. The current call to xStep counts so this ** routine always returns at least 1. */ int sqlite_aggregate_count(sqlite_func*); /* ** This routine registers a callback with the SQLite library. The ** callback is invoked (at compile-time, not at run-time) for each ** attempt to access a column of a table in the database. The callback ** returns SQLITE_OK if access is allowed, SQLITE_DENY if the entire ** SQL statement should be aborted with an error and SQLITE_IGNORE ** if the column should be treated as a NULL value. */ int sqlite_set_authorizer( sqlite*, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pUserData ); /* ** The second parameter to the access authorization function above will ** be one of the values below. These values signify what kind of operation ** is to be authorized. The 3rd and 4th parameters to the authorization ** function will be parameters or NULL depending on which of the following ** codes is used as the second parameter. The 5th parameter is the name ** of the database ("main", "temp", etc.) if applicable. The 6th parameter ** is the name of the inner-most trigger or view that is responsible for ** the access attempt or NULL if this access attempt is directly from ** input SQL code. ** ** Arg-3 Arg-4 */ #define SQLITE_COPY 0 /* Table Name File Name */ #define SQLITE_CREATE_INDEX 1 /* Index Name Table Name */ #define SQLITE_CREATE_TABLE 2 /* Table Name NULL */ #define SQLITE_CREATE_TEMP_INDEX 3 /* Index Name Table Name */ #define SQLITE_CREATE_TEMP_TABLE 4 /* Table Name NULL */ #define SQLITE_CREATE_TEMP_TRIGGER 5 /* Trigger Name Table Name */ #define SQLITE_CREATE_TEMP_VIEW 6 /* View Name NULL */ #define SQLITE_CREATE_TRIGGER 7 /* Trigger Name Table Name */ #define SQLITE_CREATE_VIEW 8 /* View Name NULL */ #define SQLITE_DELETE 9 /* Table Name NULL */ #define SQLITE_DROP_INDEX 10 /* Index Name Table Name */ #define SQLITE_DROP_TABLE 11 /* Table Name NULL */ #define SQLITE_DROP_TEMP_INDEX 12 /* Index Name Table Name */ #define SQLITE_DROP_TEMP_TABLE 13 /* Table Name NULL */ #define SQLITE_DROP_TEMP_TRIGGER 14 /* Trigger Name Table Name */ #define SQLITE_DROP_TEMP_VIEW 15 /* View Name NULL */ #define SQLITE_DROP_TRIGGER 16 /* Trigger Name Table Name */ #define SQLITE_DROP_VIEW 17 /* View Name NULL */ #define SQLITE_INSERT 18 /* Table Name NULL */ #define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */ #define SQLITE_READ 20 /* Table Name Column Name */ #define SQLITE_SELECT 21 /* NULL NULL */ #define SQLITE_TRANSACTION 22 /* NULL NULL */ #define SQLITE_UPDATE 23 /* Table Name Column Name */ #define SQLITE_ATTACH 24 /* Filename NULL */ #define SQLITE_DETACH 25 /* Database Name NULL */ /* ** The return value of the authorization function should be one of the ** following constants: */ /* #define SQLITE_OK 0 // Allow access (This is actually defined above) */ #define SQLITE_DENY 1 /* Abort the SQL statement with an error */ #define SQLITE_IGNORE 2 /* Don't allow access, but don't generate an error */ /* ** Register a function that is called at every invocation of sqlite_exec() ** or sqlite_compile(). This function can be used (for example) to generate ** a log file of all SQL executed against a database. */ void *sqlite_trace(sqlite*, void(*xTrace)(void*,const char*), void*); /*** The Callback-Free API ** ** The following routines implement a new way to access SQLite that does not ** involve the use of callbacks. ** ** An sqlite_vm is an opaque object that represents a single SQL statement ** that is ready to be executed. */ typedef struct sqlite_vm sqlite_vm; /* ** To execute an SQLite query without the use of callbacks, you first have ** to compile the SQL using this routine. The 1st parameter "db" is a pointer ** to an sqlite object obtained from sqlite_open(). The 2nd parameter ** "zSql" is the text of the SQL to be compiled. The remaining parameters ** are all outputs. ** ** *pzTail is made to point to the first character past the end of the first ** SQL statement in zSql. This routine only compiles the first statement ** in zSql, so *pzTail is left pointing to what remains uncompiled. ** ** *ppVm is left pointing to a "virtual machine" that can be used to execute ** the compiled statement. Or if there is an error, *ppVm may be set to NULL. ** If the input text contained no SQL (if the input is and empty string or ** a comment) then *ppVm is set to NULL. ** ** If any errors are detected during compilation, an error message is written ** into space obtained from malloc() and *pzErrMsg is made to point to that ** error message. The calling routine is responsible for freeing the text ** of this message when it has finished with it. Use sqlite_freemem() to ** free the message. pzErrMsg may be NULL in which case no error message ** will be generated. ** ** On success, SQLITE_OK is returned. Otherwise and error code is returned. */ int sqlite_compile( sqlite *db, /* The open database */ const char *zSql, /* SQL statement to be compiled */ const char **pzTail, /* OUT: uncompiled tail of zSql */ sqlite_vm **ppVm, /* OUT: the virtual machine to execute zSql */ char **pzErrmsg /* OUT: Error message. */ ); /* ** After an SQL statement has been compiled, it is handed to this routine ** to be executed. This routine executes the statement as far as it can ** go then returns. The return value will be one of SQLITE_DONE, ** SQLITE_ERROR, SQLITE_BUSY, SQLITE_ROW, or SQLITE_MISUSE. ** ** SQLITE_DONE means that the execute of the SQL statement is complete ** an no errors have occurred. sqlite_step() should not be called again ** for the same virtual machine. *pN is set to the number of columns in ** the result set and *pazColName is set to an array of strings that ** describe the column names and datatypes. The name of the i-th column ** is (*pazColName)[i] and the datatype of the i-th column is ** (*pazColName)[i+*pN]. *pazValue is set to NULL. ** ** SQLITE_ERROR means that the virtual machine encountered a run-time ** error. sqlite_step() should not be called again for the same ** virtual machine. *pN is set to 0 and *pazColName and *pazValue are set ** to NULL. Use sqlite_finalize() to obtain the specific error code ** and the error message text for the error. ** ** SQLITE_BUSY means that an attempt to open the database failed because ** another thread or process is holding a lock. The calling routine ** can try again to open the database by calling sqlite_step() again. ** The return code will only be SQLITE_BUSY if no busy handler is registered ** using the sqlite_busy_handler() or sqlite_busy_timeout() routines. If ** a busy handler callback has been registered but returns 0, then this ** routine will return SQLITE_ERROR and sqltie_finalize() will return ** SQLITE_BUSY when it is called. ** ** SQLITE_ROW means that a single row of the result is now available. ** The data is contained in *pazValue. The value of the i-th column is ** (*azValue)[i]. *pN and *pazColName are set as described in SQLITE_DONE. ** Invoke sqlite_step() again to advance to the next row. ** ** SQLITE_MISUSE is returned if sqlite_step() is called incorrectly. ** For example, if you call sqlite_step() after the virtual machine ** has halted (after a prior call to sqlite_step() has returned SQLITE_DONE) ** or if you call sqlite_step() with an incorrectly initialized virtual ** machine or a virtual machine that has been deleted or that is associated ** with an sqlite structure that has been closed. */ int sqlite_step( sqlite_vm *pVm, /* The virtual machine to execute */ int *pN, /* OUT: Number of columns in result */ const char ***pazValue, /* OUT: Column data */ const char ***pazColName /* OUT: Column names and datatypes */ ); /* ** This routine is called to delete a virtual machine after it has finished ** executing. The return value is the result code. SQLITE_OK is returned ** if the statement executed successfully and some other value is returned if ** there was any kind of error. If an error occurred and pzErrMsg is not ** NULL, then an error message is written into memory obtained from malloc() ** and *pzErrMsg is made to point to that error message. The calling routine ** should use sqlite_freemem() to delete this message when it has finished ** with it. ** ** This routine can be called at any point during the execution of the ** virtual machine. If the virtual machine has not completed execution ** when this routine is called, that is like encountering an error or ** an interrupt. (See sqlite_interrupt().) Incomplete updates may be ** rolled back and transactions cancelled, depending on the circumstances, ** and the result code returned will be SQLITE_ABORT. */ int sqlite_finalize(sqlite_vm*, char **pzErrMsg); /* ** This routine deletes the virtual machine, writes any error message to ** *pzErrMsg and returns an SQLite return code in the same way as the ** sqlite_finalize() function. ** ** Additionally, if ppVm is not NULL, *ppVm is left pointing to a new virtual ** machine loaded with the compiled version of the original query ready for ** execution. ** ** If sqlite_reset() returns SQLITE_SCHEMA, then *ppVm is set to NULL. ** ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** */ int sqlite_reset(sqlite_vm*, char **pzErrMsg); /* ** If the SQL that was handed to sqlite_compile contains variables that ** are represeted in the SQL text by a question mark ('?'). This routine ** is used to assign values to those variables. ** ** The first parameter is a virtual machine obtained from sqlite_compile(). ** The 2nd "idx" parameter determines which variable in the SQL statement ** to bind the value to. The left most '?' is 1. The 3rd parameter is ** the value to assign to that variable. The 4th parameter is the number ** of bytes in the value, including the terminating \000 for strings. ** Finally, the 5th "copy" parameter is TRUE if SQLite should make its ** own private copy of this value, or false if the space that the 3rd ** parameter points to will be unchanging and can be used directly by ** SQLite. ** ** Unbound variables are treated as having a value of NULL. To explicitly ** set a variable to NULL, call this routine with the 3rd parameter as a ** NULL pointer. ** ** If the 4th "len" parameter is -1, then strlen() is used to find the ** length. ** ** This routine can only be called immediately after sqlite_compile() ** or sqlite_reset() and before any calls to sqlite_step(). ** ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** */ int sqlite_bind(sqlite_vm*, int idx, const char *value, int len, int copy); /* ** This routine configures a callback function - the progress callback - that ** is invoked periodically during long running calls to sqlite_exec(), ** sqlite_step() and sqlite_get_table(). An example use for this API is to keep ** a GUI updated during a large query. ** ** The progress callback is invoked once for every N virtual machine opcodes, ** where N is the second argument to this function. The progress callback ** itself is identified by the third argument to this function. The fourth ** argument to this function is a void pointer passed to the progress callback ** function each time it is invoked. ** ** If a call to sqlite_exec(), sqlite_step() or sqlite_get_table() results ** in less than N opcodes being executed, then the progress callback is not ** invoked. ** ** Calling this routine overwrites any previously installed progress callback. ** To remove the progress callback altogether, pass NULL as the third ** argument to this function. ** ** If the progress callback returns a result other than 0, then the current ** query is immediately terminated and any database changes rolled back. If the ** query was part of a larger transaction, then the transaction is not rolled ** back and remains active. The sqlite_exec() call returns SQLITE_ABORT. ** ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** */ void sqlite_progress_handler(sqlite*, int, int(*)(void*), void*); /* ** Register a callback function to be invoked whenever a new transaction ** is committed. The pArg argument is passed through to the callback. ** callback. If the callback function returns non-zero, then the commit ** is converted into a rollback. ** ** If another function was previously registered, its pArg value is returned. ** Otherwise NULL is returned. ** ** Registering a NULL function disables the callback. ** ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** */ void *sqlite_commit_hook(sqlite*, int(*)(void*), void*); /* ** Open an encrypted SQLite database. If pKey==0 or nKey==0, this routine ** is the same as sqlite_open(). ** ** The code to implement this API is not available in the public release ** of SQLite. */ sqlite *sqlite_open_encrypted( const char *zFilename, /* Name of the encrypted database */ const void *pKey, /* Pointer to the key */ int nKey, /* Number of bytes in the key */ int *pErrcode, /* Write error code here */ char **pzErrmsg /* Write error message here */ ); /* ** Change the key on an open database. If the current database is not ** encrypted, this routine will encrypt it. If pNew==0 or nNew==0, the ** database is decrypted. ** ** The code to implement this API is not available in the public release ** of SQLite. */ int sqlite_rekey( sqlite *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The new key */ ); /* ** Encode a binary buffer "in" of size n bytes so that it contains ** no instances of characters '\'' or '\000'. The output is ** null-terminated and can be used as a string value in an INSERT ** or UPDATE statement. Use sqlite_decode_binary() to convert the ** string back into its original binary. ** ** The result is written into a preallocated output buffer "out". ** "out" must be able to hold at least 2 +(257*n)/254 bytes. ** In other words, the output will be expanded by as much as 3 ** bytes for every 254 bytes of input plus 2 bytes of fixed overhead. ** (This is approximately 2 + 1.0118*n or about a 1.2% size increase.) ** ** The return value is the number of characters in the encoded ** string, excluding the "\000" terminator. ** ** If out==NULL then no output is generated but the routine still returns ** the number of characters that would have been generated if out had ** not been NULL. */ int sqlite_encode_binary(const unsigned char *in, int n, unsigned char *out); /* ** Decode the string "in" into binary data and write it into "out". ** This routine reverses the encoding created by sqlite_encode_binary(). ** The output will always be a few bytes less than the input. The number ** of bytes of output is returned. If the input is not a well-formed ** encoding, -1 is returned. ** ** The "in" and "out" parameters may point to the same buffer in order ** to decode a string in place. */ int sqlite_decode_binary(const unsigned char *in, unsigned char *out); #ifdef __cplusplus } /* End of the 'extern "C"' block */ #endif #endif /* _SQLITE_H_ */ 0707010008121b000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002700000000root/usr/local/include/php/ext/sockets0707010008121c000081a40000000000000000000000014dc0fade00000f090000010000010007ffffffffffffffff0000003500000000root/usr/local/include/php/ext/sockets/php_sockets.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Chris Vandomelen | | Sterling Hughes | | | | WinSock: Daniel Beulshausen | +----------------------------------------------------------------------+ */ #ifndef PHP_SOCKETS_H #define PHP_SOCKETS_H /* $Id: php_sockets.h 306939 2011-01-01 02:19:59Z felipe $ */ #if HAVE_SOCKETS extern zend_module_entry sockets_module_entry; #define phpext_sockets_ptr &sockets_module_entry #ifdef PHP_WIN32 #include #else #if HAVE_SYS_SOCKET_H #include #endif #endif PHP_MINIT_FUNCTION(sockets); PHP_MINFO_FUNCTION(sockets); PHP_RSHUTDOWN_FUNCTION(sockets); PHP_FUNCTION(socket_select); PHP_FUNCTION(socket_create_listen); #ifdef HAVE_SOCKETPAIR PHP_FUNCTION(socket_create_pair); #endif PHP_FUNCTION(socket_accept); PHP_FUNCTION(socket_set_nonblock); PHP_FUNCTION(socket_set_block); PHP_FUNCTION(socket_listen); PHP_FUNCTION(socket_close); PHP_FUNCTION(socket_write); PHP_FUNCTION(socket_read); PHP_FUNCTION(socket_getsockname); PHP_FUNCTION(socket_getpeername); PHP_FUNCTION(socket_create); PHP_FUNCTION(socket_connect); PHP_FUNCTION(socket_strerror); PHP_FUNCTION(socket_bind); PHP_FUNCTION(socket_recv); PHP_FUNCTION(socket_send); PHP_FUNCTION(socket_recvfrom); PHP_FUNCTION(socket_sendto); PHP_FUNCTION(socket_get_option); PHP_FUNCTION(socket_set_option); #ifdef HAVE_SHUTDOWN PHP_FUNCTION(socket_shutdown); #endif PHP_FUNCTION(socket_last_error); PHP_FUNCTION(socket_clear_error); #ifndef PHP_WIN32 typedef int PHP_SOCKET; # define PHP_SOCKETS_API PHPAPI #else # define PHP_SOCKETS_API __declspec(dllexport) typedef SOCKET PHP_SOCKET; #endif typedef struct { PHP_SOCKET bsd_socket; int type; int error; int blocking; } php_socket; #ifdef PHP_WIN32 struct sockaddr_un { short sun_family; char sun_path[108]; }; #endif PHP_SOCKETS_API int php_sockets_le_socket(void); #define php_sockets_le_socket_name "Socket" /* Prototypes */ #ifdef ilia_0 /* not needed, only causes a compiler warning */ static int php_open_listen_sock(php_socket **php_sock, int port, int backlog TSRMLS_DC); static int php_accept_connect(php_socket *in_sock, php_socket **new_sock, struct sockaddr *la TSRMLS_DC); static int php_read(php_socket *sock, void *buf, size_t maxlen, int flags); static char *php_strerror(int error TSRMLS_DC); #endif ZEND_BEGIN_MODULE_GLOBALS(sockets) int last_error; char *strerror_buf; ZEND_END_MODULE_GLOBALS(sockets) #ifdef ZTS #define SOCKETS_G(v) TSRMG(sockets_globals_id, zend_sockets_globals *, v) #else #define SOCKETS_G(v) (sockets_globals.v) #endif #else #define phpext_sockets_ptr NULL #endif #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */ 070701000811d9000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000002400000000root/usr/local/include/php/ext/ereg070701000811dc000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002a00000000root/usr/local/include/php/ext/ereg/regex070701000811de000081a40000000000000000000000014dc0fad7000008160000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/ereg/regex/cname.h/* character-name table */ static const struct cname { const char *name; char code; } cnames[] = { {"NUL", '\0'}, {"SOH", '\001'}, {"STX", '\002'}, {"ETX", '\003'}, {"EOT", '\004'}, {"ENQ", '\005'}, {"ACK", '\006'}, {"BEL", '\007'}, {"alert", '\007'}, {"BS", '\010'}, {"backspace", '\b'}, {"HT", '\011'}, {"tab", '\t'}, {"LF", '\012'}, {"newline", '\n'}, {"VT", '\013'}, {"vertical-tab", '\v'}, {"FF", '\014'}, {"form-feed", '\f'}, {"CR", '\015'}, {"carriage-return", '\r'}, {"SO", '\016'}, {"SI", '\017'}, {"DLE", '\020'}, {"DC1", '\021'}, {"DC2", '\022'}, {"DC3", '\023'}, {"DC4", '\024'}, {"NAK", '\025'}, {"SYN", '\026'}, {"ETB", '\027'}, {"CAN", '\030'}, {"EM", '\031'}, {"SUB", '\032'}, {"ESC", '\033'}, {"IS4", '\034'}, {"FS", '\034'}, {"IS3", '\035'}, {"GS", '\035'}, {"IS2", '\036'}, {"RS", '\036'}, {"IS1", '\037'}, {"US", '\037'}, {"space", ' '}, {"exclamation-mark", '!'}, {"quotation-mark", '"'}, {"number-sign", '#'}, {"dollar-sign", '$'}, {"percent-sign", '%'}, {"ampersand", '&'}, {"apostrophe", '\''}, {"left-parenthesis", '('}, {"right-parenthesis", ')'}, {"asterisk", '*'}, {"plus-sign", '+'}, {"comma", ','}, {"hyphen", '-'}, {"hyphen-minus", '-'}, {"period", '.'}, {"full-stop", '.'}, {"slash", '/'}, {"solidus", '/'}, {"zero", '0'}, {"one", '1'}, {"two", '2'}, {"three", '3'}, {"four", '4'}, {"five", '5'}, {"six", '6'}, {"seven", '7'}, {"eight", '8'}, {"nine", '9'}, {"colon", ':'}, {"semicolon", ';'}, {"less-than-sign", '<'}, {"equals-sign", '='}, {"greater-than-sign", '>'}, {"question-mark", '?'}, {"commercial-at", '@'}, {"left-square-bracket", '['}, {"backslash", '\\'}, {"reverse-solidus", '\\'}, {"right-square-bracket", ']'}, {"circumflex", '^'}, {"circumflex-accent", '^'}, {"underscore", '_'}, {"low-line", '_'}, {"grave-accent", '`'}, {"left-brace", '{'}, {"left-curly-bracket", '{'}, {"vertical-line", '|'}, {"right-brace", '}'}, {"right-curly-bracket", '}'}, {"tilde", '~'}, {"DEL", '\177'}, {NULL, 0}, }; 070701000811e0000081a40000000000000000000000014dc0fad7000015a00000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/ereg/regex/regex2.h/* * First, the stuff that ends up in the outside-world include file = #ifdef WIN32 = #define API_EXPORT(type) __declspec(dllexport) type __stdcall = #else = #define API_EXPORT(type) type = #endif = = typedef off_t regoff_t; = typedef struct { = int re_magic; = size_t re_nsub; // number of parenthesized subexpressions = const unsigned char *re_endp; // end pointer for REG_PEND = struct re_guts *re_g; // none of your business :-) = } regex_t; = typedef struct { = regoff_t rm_so; // start of match = regoff_t rm_eo; // end of match = } regmatch_t; */ /* * internals of regex_t */ #define MAGIC1 ((('r'^0200)<<8) | 'e') /* * The internal representation is a *strip*, a sequence of * operators ending with an endmarker. (Some terminology etc. is a * historical relic of earlier versions which used multiple strips.) * Certain oddities in the representation are there to permit running * the machinery backwards; in particular, any deviation from sequential * flow must be marked at both its source and its destination. Some * fine points: * * - OPLUS_ and O_PLUS are *inside* the loop they create. * - OQUEST_ and O_QUEST are *outside* the bypass they create. * - OCH_ and O_CH are *outside* the multi-way branch they create, while * OOR1 and OOR2 are respectively the end and the beginning of one of * the branches. Note that there is an implicit OOR2 following OCH_ * and an implicit OOR1 preceding O_CH. * * In state representations, an operator's bit is on to signify a state * immediately *preceding* "execution" of that operator. */ typedef long sop; /* strip operator */ typedef long sopno; #define OPRMASK 0x7c000000 #define OPDMASK 0x03ffffff #define OPSHIFT (26) #define OP(n) ((n)&OPRMASK) #define OPND(n) ((n)&OPDMASK) #define SOP(op, opnd) ((op)|(opnd)) /* operators meaning operand */ /* (back, fwd are offsets) */ #define OEND (1< uch [csetsize] */ uch mask; /* bit within array */ uch hash; /* hash code */ size_t smultis; unsigned char *multis; /* -> char[smulti] ab\0cd\0ef\0\0 */ } cset; /* note that CHadd and CHsub are unsafe, and CHIN doesn't yield 0/1 */ #define CHadd(cs, c) ((cs)->ptr[(uch)(c)] |= (cs)->mask, (cs)->hash += (c)) #define CHsub(cs, c) ((cs)->ptr[(uch)(c)] &= ~(cs)->mask, (cs)->hash -= (c)) #define CHIN(cs, c) ((cs)->ptr[(uch)(c)] & (cs)->mask) #define MCadd(p, cs, cp) mcadd(p, cs, cp) /* regcomp() internal fns */ #define MCsub(p, cs, cp) mcsub(p, cs, cp) #define MCin(p, cs, cp) mcin(p, cs, cp) /* stuff for character categories */ typedef unsigned char cat_t; /* * main compiled-expression structure */ struct re_guts { int magic; # define MAGIC2 ((('R'^0200)<<8)|'E') sop *strip; /* malloced area for strip */ int csetsize; /* number of bits in a cset vector */ int ncsets; /* number of csets in use */ cset *sets; /* -> cset [ncsets] */ uch *setbits; /* -> uch[csetsize][ncsets/CHAR_BIT] */ int cflags; /* copy of regcomp() cflags argument */ sopno nstates; /* = number of sops */ sopno firststate; /* the initial OEND (normally 0) */ sopno laststate; /* the final OEND */ int iflags; /* internal flags */ # define USEBOL 01 /* used ^ */ # define USEEOL 02 /* used $ */ # define BAD 04 /* something wrong */ int nbol; /* number of ^ used */ int neol; /* number of $ used */ int ncategories; /* how many character categories */ cat_t *categories; /* ->catspace[-UCHAR_MIN] */ unsigned char *must; /* match must contain this string */ int mlen; /* length of must */ size_t nsub; /* copy of re_nsub */ int backrefs; /* does it use back references? */ sopno nplus; /* how deep does it nest +s? */ /* catspace must be last */ cat_t catspace[1]; /* actually [NC] */ }; /* misc utilities */ #define OUT (UCHAR_MAX+1) /* a non-character value */ #define ISWORD(c) (isalnum(c) || (c) == '_') 070701000811dd000081a40000000000000000000000014dc0fad7000003e00000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/ereg/regex/cclass.h/* character-class table */ static const struct cclass { const unsigned char *name; const unsigned char *chars; const unsigned char *multis; } cclasses[] = { {"alnum", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", ""}, {"alpha", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", ""}, {"blank", " \t", ""}, {"cntrl", "\007\b\t\n\v\f\r\1\2\3\4\5\6\16\17\20\21\22\23\24\ \25\26\27\30\31\32\33\34\35\36\37\177", ""}, {"digit", "0123456789", ""}, {"graph", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\ 0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", ""}, {"lower", "abcdefghijklmnopqrstuvwxyz", ""}, {"print", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\ 0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ ", ""}, {"punct", "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", ""}, {"space", "\t\n\v\f\r ", ""}, {"upper", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", ""}, {"xdigit", "0123456789ABCDEFabcdef", ""}, {NULL, 0, ""} }; 070701000811df000081a40000000000000000000000014dc0fad7000008750000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/ereg/regex/regex.h#ifndef _HSREGEX_H_ #define _HSREGEX_H_ #ifndef _HSREGEX_H #define _HSREGEX_H /* never again */ /* ========= begin header generated by ././mkh ========= */ #ifdef __cplusplus extern "C" { #endif /* === regex2.h === */ #ifdef WIN32 #define API_EXPORT(type) __declspec(dllexport) type __stdcall #elif defined(__GNUC__) && __GNUC__ >= 4 #define API_EXPORT(type) __attribute__ ((visibility("default"))) type #else #define API_EXPORT(type) type #endif typedef off_t regoff_t; typedef struct { int re_magic; size_t re_nsub; /* number of parenthesized subexpressions */ const char *re_endp; /* end pointer for REG_PEND */ struct re_guts *re_g; /* none of your business :-) */ } regex_t; typedef struct { regoff_t rm_so; /* start of match */ regoff_t rm_eo; /* end of match */ } regmatch_t; /* === regcomp.c === */ API_EXPORT(int) regcomp(regex_t *, const char *, int); #define REG_BASIC 0000 #define REG_EXTENDED 0001 #define REG_ICASE 0002 #define REG_NOSUB 0004 #define REG_NEWLINE 0010 #define REG_NOSPEC 0020 #define REG_PEND 0040 #define REG_DUMP 0200 /* === regerror.c === */ #define REG_OKAY 0 #define REG_NOMATCH 1 #define REG_BADPAT 2 #define REG_ECOLLATE 3 #define REG_ECTYPE 4 #define REG_EESCAPE 5 #define REG_ESUBREG 6 #define REG_EBRACK 7 #define REG_EPAREN 8 #define REG_EBRACE 9 #define REG_BADBR 10 #define REG_ERANGE 11 #define REG_ESPACE 12 #define REG_BADRPT 13 #define REG_EMPTY 14 #define REG_ASSERT 15 #define REG_INVARG 16 #define REG_ATOI 255 /* convert name to number (!) */ #define REG_ITOA 0400 /* convert number to name (!) */ API_EXPORT(size_t) regerror(int, const regex_t *, char *, size_t); /* === regexec.c === */ API_EXPORT(int) regexec(const regex_t *, const char *, size_t, regmatch_t [], int); #define REG_NOTBOL 00001 #define REG_NOTEOL 00002 #define REG_STARTEND 00004 #define REG_TRACE 00400 /* tracing of execution */ #define REG_LARGE 01000 /* force large representation */ #define REG_BACKR 02000 /* force use of backref code */ /* === regfree.c === */ API_EXPORT(void) regfree(regex_t *); #ifdef __cplusplus } #endif /* ========= end header generated by ././mkh ========= */ #endif #endif 070701000811e1000081a40000000000000000000000014dc0fad7000001f50000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/ereg/regex/utils.h/* utility definitions */ #ifdef _POSIX2_RE_DUP_MAX #define DUPMAX _POSIX2_RE_DUP_MAX #else #define DUPMAX 255 #endif #define INFINITY (DUPMAX + 1) #define NC (CHAR_MAX - CHAR_MIN + 1) typedef unsigned char uch; /* switch off assertions (if not already off) if no REDEBUG */ #ifndef REDEBUG #ifndef NDEBUG #define NDEBUG /* no assertions please */ #endif #endif #include /* for old systems with bcopy() but no memmove() */ #ifdef USEBCOPY #define memmove(d, s, c) bcopy(s, d, c) #endif 070701000811da000081a40000000000000000000000014dc0fad6000007d10000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/ereg/php_ereg.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Rasmus Lerdorf | +----------------------------------------------------------------------+ */ /* $Id: php_ereg.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef EREG_H #define EREG_H #include "php_regex.h" extern zend_module_entry ereg_module_entry; #define phpext_ereg_ptr &ereg_module_entry PHPAPI char *php_ereg_replace(const char *pattern, const char *replace, const char *string, int icase, int extended); PHP_FUNCTION(ereg); PHP_FUNCTION(eregi); PHP_FUNCTION(eregi_replace); PHP_FUNCTION(ereg_replace); PHP_FUNCTION(split); PHP_FUNCTION(spliti); PHPAPI PHP_FUNCTION(sql_regcase); ZEND_BEGIN_MODULE_GLOBALS(ereg) HashTable ht_rc; unsigned int lru_counter; ZEND_END_MODULE_GLOBALS(ereg) /* Module functions */ PHP_MINIT_FUNCTION(ereg); PHP_MSHUTDOWN_FUNCTION(ereg); PHP_MINFO_FUNCTION(ereg); #ifdef ZTS #define EREG(v) TSRMG(ereg_globals_id, zend_ereg_globals *, v) #else #define EREG(v) (ereg_globals.v) #endif #endif /* REG_H */ 070701000811db000081a40000000000000000000000014dc0fad60000081e0000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/ereg/php_regex.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ /* $Id: php_regex.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_REGEX_H #define PHP_REGEX_H /* * REGEX means: * 0.. system regex * 1.. bundled regex */ #if (REGEX == 1) /* Define aliases */ #define regexec php_regexec #define regerror php_regerror #define regfree php_regfree #define regcomp php_regcomp #include "ext/ereg/regex/regex.h" #undef _PCREPOSIX_H #define _PCREPOSIX_H 1 #ifndef _REGEX_H #define _REGEX_H 1 /* this should stop Apache from loading the system version of regex.h */ #endif #ifndef _REGEX_H_ #define _REGEX_H_ 1 #endif #ifndef _RX_H #define _RX_H 1 /* Try defining these for Linux to */ #endif #ifndef __REGEXP_LIBRARY_H__ #define __REGEXP_LIBRARY_H__ 1 /* avoid Apache including regex.h */ #endif #ifndef _H_REGEX #define _H_REGEX 1 /* This one is for AIX */ #endif #elif REGEX == 0 #include #ifndef _REGEX_H_ #define _REGEX_H_ 1 #endif #endif #endif /* PHP_REGEX_H */ 070701000811d1000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000002400000000root/usr/local/include/php/ext/date070701000811d6000081a40000000000000000000000014dc0fad6000016740000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/date/php_date.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: php_date.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_DATE_H #define PHP_DATE_H #include "lib/timelib.h" #include "Zend/zend_hash.h" extern zend_module_entry date_module_entry; #define phpext_date_ptr &date_module_entry PHP_FUNCTION(date); PHP_FUNCTION(idate); PHP_FUNCTION(gmdate); PHP_FUNCTION(strtotime); PHP_FUNCTION(mktime); PHP_FUNCTION(gmmktime); PHP_FUNCTION(checkdate); #ifdef HAVE_STRFTIME PHP_FUNCTION(strftime); PHP_FUNCTION(gmstrftime); #endif PHP_FUNCTION(time); PHP_FUNCTION(localtime); PHP_FUNCTION(getdate); /* Advanced Interface */ PHP_METHOD(DateTime, __construct); PHP_METHOD(DateTime, __wakeup); PHP_METHOD(DateTime, __set_state); PHP_FUNCTION(date_create); PHP_FUNCTION(date_create_from_format); PHP_FUNCTION(date_parse); PHP_FUNCTION(date_parse_from_format); PHP_FUNCTION(date_get_last_errors); PHP_FUNCTION(date_format); PHP_FUNCTION(date_modify); PHP_FUNCTION(date_add); PHP_FUNCTION(date_sub); PHP_FUNCTION(date_timezone_get); PHP_FUNCTION(date_timezone_set); PHP_FUNCTION(date_offset_get); PHP_FUNCTION(date_diff); PHP_FUNCTION(date_time_set); PHP_FUNCTION(date_date_set); PHP_FUNCTION(date_isodate_set); PHP_FUNCTION(date_timestamp_set); PHP_FUNCTION(date_timestamp_get); PHP_METHOD(DateTimeZone, __construct); PHP_FUNCTION(timezone_open); PHP_FUNCTION(timezone_name_get); PHP_FUNCTION(timezone_name_from_abbr); PHP_FUNCTION(timezone_offset_get); PHP_FUNCTION(timezone_transitions_get); PHP_FUNCTION(timezone_location_get); PHP_FUNCTION(timezone_identifiers_list); PHP_FUNCTION(timezone_abbreviations_list); PHP_FUNCTION(timezone_version_get); PHP_METHOD(DateInterval, __construct); PHP_FUNCTION(date_interval_format); PHP_FUNCTION(date_interval_create_from_date_string); PHP_METHOD(DatePeriod, __construct); /* Options and Configuration */ PHP_FUNCTION(date_default_timezone_set); PHP_FUNCTION(date_default_timezone_get); /* Astro functions */ PHP_FUNCTION(date_sunrise); PHP_FUNCTION(date_sunset); PHP_FUNCTION(date_sun_info); PHP_RINIT_FUNCTION(date); PHP_RSHUTDOWN_FUNCTION(date); PHP_MINIT_FUNCTION(date); PHP_MSHUTDOWN_FUNCTION(date); PHP_MINFO_FUNCTION(date); typedef struct _php_date_obj php_date_obj; typedef struct _php_timezone_obj php_timezone_obj; typedef struct _php_interval_obj php_interval_obj; typedef struct _php_period_obj php_period_obj; struct _php_date_obj { zend_object std; timelib_time *time; HashTable *props; }; struct _php_timezone_obj { zend_object std; int initialized; int type; union { timelib_tzinfo *tz; /* TIMELIB_ZONETYPE_ID; */ timelib_sll utc_offset; /* TIMELIB_ZONETYPE_OFFSET */ struct /* TIMELIB_ZONETYPE_ABBR */ { timelib_sll utc_offset; char *abbr; int dst; } z; } tzi; }; struct _php_interval_obj { zend_object std; timelib_rel_time *diff; HashTable *props; int initialized; }; struct _php_period_obj { zend_object std; timelib_time *start; timelib_time *current; timelib_time *end; timelib_rel_time *interval; int recurrences; int initialized; int include_start_date; }; ZEND_BEGIN_MODULE_GLOBALS(date) char *default_timezone; char *timezone; HashTable *tzcache; timelib_error_container *last_errors; ZEND_END_MODULE_GLOBALS(date) #ifdef ZTS #define DATEG(v) TSRMG(date_globals_id, zend_date_globals *, v) #else #define DATEG(v) (date_globals.v) #endif /* Backwards compability wrapper */ PHPAPI signed long php_parse_date(char *string, signed long *now); PHPAPI void php_mktime(INTERNAL_FUNCTION_PARAMETERS, int gmt); PHPAPI int php_idate(char format, time_t ts, int localtime); #if HAVE_STRFTIME #define _php_strftime php_strftime PHPAPI void php_strftime(INTERNAL_FUNCTION_PARAMETERS, int gm); #endif PHPAPI char *php_format_date(char *format, int format_len, time_t ts, int localtime TSRMLS_DC); /* Mechanism to set new TZ database */ PHPAPI void php_date_set_tzdb(timelib_tzdb *tzdb); PHPAPI timelib_tzinfo *get_timezone_info(TSRMLS_D); /* Grabbing CE's so that other exts can use the date objects too */ PHPAPI zend_class_entry *php_date_get_date_ce(void); PHPAPI zend_class_entry *php_date_get_timezone_ce(void); /* Functions for creating DateTime objects, and initializing them from a string */ PHPAPI zval *php_date_instantiate(zend_class_entry *pce, zval *object TSRMLS_DC); PHPAPI int php_date_initialize(php_date_obj *dateobj, /*const*/ char *time_str, int time_str_len, char *format, zval *timezone_object, int ctor TSRMLS_DC); #endif /* PHP_DATE_H */ 070701000811d2000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002800000000root/usr/local/include/php/ext/date/lib070701000811d4000081a40000000000000000000000014dc0fad6000000500000010000010007ffffffffffffffff0000003900000000root/usr/local/include/php/ext/date/lib/timelib_config.h#ifdef PHP_WIN32 # include "config.w32.h" #else # include #endif 070701000811d3000081a40000000000000000000000014dc0fad6000016fe0000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/date/lib/timelib.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2010 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: timelib.h 309055 2011-03-09 20:06:52Z scottmac $ */ #ifndef __TIMELIB_H__ #define __TIMELIB_H__ #include "timelib_structs.h" #if HAVE_LIMITS_H #include #endif #define TIMELIB_VERSION 201101 #define TIMELIB_NONE 0x00 #define TIMELIB_OVERRIDE_TIME 0x01 #define TIMELIB_NO_CLONE 0x02 #define TIMELIB_SPECIAL_WEEKDAY 0x01 #define TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH 0x02 #define TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH 0x03 #ifndef LONG_MAX #define LONG_MAX 2147483647L #endif #ifndef LONG_MIN #define LONG_MIN (- LONG_MAX - 1) #endif #if defined(_MSC_VER) && !defined(strcasecmp) #define strcasecmp stricmp #endif #if defined(_MSC_VER) && !defined(strncasecmp) #define strncasecmp strnicmp #endif /* From dow.c */ timelib_sll timelib_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); timelib_sll timelib_iso_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); timelib_sll timelib_day_of_year(timelib_sll y, timelib_sll m, timelib_sll d); timelib_sll timelib_daynr_from_weeknr(timelib_sll y, timelib_sll w, timelib_sll d); timelib_sll timelib_days_in_month(timelib_sll y, timelib_sll m); void timelib_isoweek_from_date(timelib_sll y, timelib_sll m, timelib_sll d, timelib_sll *iw, timelib_sll *iy); int timelib_valid_time(timelib_sll h, timelib_sll i, timelib_sll s); int timelib_valid_date(timelib_sll y, timelib_sll m, timelib_sll d); /* From parse_date.re */ timelib_time *timelib_strtotime(char *s, int len, timelib_error_container **errors, const timelib_tzdb *tzdb); timelib_time *timelib_parse_from_format(char *format, char *s, int len, timelib_error_container **errors, const timelib_tzdb *tzdb); void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options); char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst); const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void); /* From parse_iso_intervals.re */ void timelib_strtointerval(char *s, int len, timelib_time **begin, timelib_time **end, timelib_rel_time **period, int *recurrences, struct timelib_error_container **errors); /* From tm2unixtime.c */ void timelib_update_ts(timelib_time* time, timelib_tzinfo* tzi); void timelib_do_rel_normalize(timelib_time *base, timelib_rel_time *rt); /* From unixtime2tm.c */ int timelib_apply_localtime(timelib_time *t, unsigned int localtime); void timelib_unixtime2gmt(timelib_time* tm, timelib_sll ts); void timelib_unixtime2local(timelib_time *tm, timelib_sll ts); void timelib_update_from_sse(timelib_time *tm); void timelib_set_timezone(timelib_time *t, timelib_tzinfo *tz); /* From parse_tz.c */ int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb); timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb); int timelib_timestamp_is_in_dst(timelib_sll ts, timelib_tzinfo *tz); timelib_time_offset *timelib_get_time_zone_info(timelib_sll ts, timelib_tzinfo *tz); timelib_sll timelib_get_current_offset(timelib_time *t); void timelib_dump_tzinfo(timelib_tzinfo *tz); const timelib_tzdb *timelib_builtin_db(void); const timelib_tzdb_index_entry *timelib_timezone_builtin_identifiers_list(int *count); /* From timelib.c */ timelib_tzinfo* timelib_tzinfo_ctor(char *name); void timelib_time_tz_abbr_update(timelib_time* tm, char* tz_abbr); void timelib_time_tz_name_update(timelib_time* tm, char* tz_name); void timelib_tzinfo_dtor(timelib_tzinfo *tz); timelib_tzinfo* timelib_tzinfo_clone(timelib_tzinfo *tz); timelib_rel_time* timelib_rel_time_ctor(void); void timelib_rel_time_dtor(timelib_rel_time* t); timelib_rel_time* timelib_rel_time_clone(timelib_rel_time *tz); timelib_time* timelib_time_ctor(void); void timelib_time_set_option(timelib_time* tm, int option, void* option_value); void timelib_time_dtor(timelib_time* t); timelib_time* timelib_time_clone(timelib_time* orig); timelib_time_offset* timelib_time_offset_ctor(void); void timelib_time_offset_dtor(timelib_time_offset* t); void timelib_error_container_dtor(timelib_error_container *errors); signed long timelib_date_to_int(timelib_time *d, int *error); void timelib_dump_date(timelib_time *d, int options); void timelib_dump_rel_time(timelib_rel_time *d); void timelib_decimal_hour_to_hms(double h, int *hour, int *min, int *sec); /* from astro.c */ double timelib_ts_to_juliandate(timelib_sll ts); int timelib_astro_rise_set_altitude(timelib_time *time, double lon, double lat, double altit, int upper_limb, double *h_rise, double *h_set, timelib_sll *ts_rise, timelib_sll *ts_set, timelib_sll *ts_transit); /* from interval.c */ timelib_rel_time *timelib_diff(timelib_time *one, timelib_time *two); #endif 070701000811d5000081a40000000000000000000000014dc0fad6000018c50000010000010007ffffffffffffffff0000003a00000000root/usr/local/include/php/ext/date/lib/timelib_structs.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2010 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: timelib_structs.h 307038 2011-01-03 19:24:04Z scottmac $ */ #ifndef __TIMELIB_STRUCTS_H__ #define __TIMELIB_STRUCTS_H__ #include "timelib_config.h" #ifdef HAVE_SYS_TYPES_H #include #endif #if defined(HAVE_INTTYPES_H) #include #elif defined(HAVE_STDINT_H) #include #endif #ifdef PHP_WIN32 /* TODO: Remove these hacks/defs once we have the int definitions in main/ rathen than in each 2nd extension and win32/ */ # include "win32/php_stdint.h" #else # ifndef HAVE_INT32_T # if SIZEOF_INT == 4 typedef int int32_t; # elif SIZEOF_LONG == 4 typedef long int int32_t; # endif # endif # ifndef HAVE_UINT32_T # if SIZEOF_INT == 4 typedef unsigned int uint32_t; # elif SIZEOF_LONG == 4 typedef unsigned long int uint32_t; # endif # endif #endif #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) typedef uint64_t timelib_ull; typedef int64_t timelib_sll; # define TIMELIB_LL_CONST(n) n ## i64 #else typedef unsigned long long timelib_ull; typedef signed long long timelib_sll; # define TIMELIB_LL_CONST(n) n ## ll #endif typedef struct ttinfo { int32_t offset; int isdst; unsigned int abbr_idx; unsigned int isstdcnt; unsigned int isgmtcnt; } ttinfo; typedef struct tlinfo { int32_t trans; int32_t offset; } tlinfo; typedef struct tlocinfo { char country_code[3]; double latitude; double longitude; char *comments; } tlocinfo; typedef struct timelib_tzinfo { char *name; uint32_t ttisgmtcnt; uint32_t ttisstdcnt; uint32_t leapcnt; uint32_t timecnt; uint32_t typecnt; uint32_t charcnt; int32_t *trans; unsigned char *trans_idx; ttinfo *type; char *timezone_abbr; tlinfo *leap_times; unsigned char bc; tlocinfo location; } timelib_tzinfo; typedef struct timelib_special { unsigned int type; timelib_sll amount; } timelib_special; typedef struct timelib_rel_time { timelib_sll y, m, d; /* Years, Months and Days */ timelib_sll h, i, s; /* Hours, mInutes and Seconds */ int weekday; /* Stores the day in 'next monday' */ int weekday_behavior; /* 0: the current day should *not* be counted when advancing forwards; 1: the current day *should* be counted */ int first_last_day_of; int invert; /* Whether the difference should be inverted */ timelib_sll days; /* Contains the number of *days*, instead of Y-M-D differences */ timelib_special special; unsigned int have_weekday_relative, have_special_relative; } timelib_rel_time; typedef struct timelib_time_offset { int32_t offset; unsigned int leap_secs; unsigned int is_dst; char *abbr; timelib_sll transistion_time; } timelib_time_offset; typedef struct timelib_time { timelib_sll y, m, d; /* Year, Month, Day */ timelib_sll h, i, s; /* Hour, mInute, Second */ double f; /* Fraction */ int z; /* GMT offset in minutes */ char *tz_abbr; /* Timezone abbreviation (display only) */ timelib_tzinfo *tz_info; /* Timezone structure */ signed int dst; /* Flag if we were parsing a DST zone */ timelib_rel_time relative; timelib_sll sse; /* Seconds since epoch */ unsigned int have_time, have_date, have_zone, have_relative, have_weeknr_day; unsigned int sse_uptodate; /* !0 if the sse member is up to date with the date/time members */ unsigned int tim_uptodate; /* !0 if the date/time members are up to date with the sse member */ unsigned int is_localtime; /* 1 if the current struct represents localtime, 0 if it is in GMT */ unsigned int zone_type; /* 1 time offset, * 3 TimeZone identifier, * 2 TimeZone abbreviation */ } timelib_time; typedef struct timelib_error_message { int position; char character; char *message; } timelib_error_message; typedef struct timelib_error_container { int warning_count; struct timelib_error_message *warning_messages; int error_count; struct timelib_error_message *error_messages; } timelib_error_container; typedef struct _timelib_tz_lookup_table { char *name; int type; float gmtoffset; char *full_tz_name; } timelib_tz_lookup_table; typedef struct _timelib_tzdb_index_entry { char *id; unsigned int pos; } timelib_tzdb_index_entry; typedef struct _timelib_tzdb { char *version; int index_size; const timelib_tzdb_index_entry *index; const unsigned char *data; } timelib_tzdb; #define TIMELIB_ZONETYPE_OFFSET 1 #define TIMELIB_ZONETYPE_ABBR 2 #define TIMELIB_ZONETYPE_ID 3 #define SECS_PER_ERA TIMELIB_LL_CONST(12622780800) #define SECS_PER_DAY 86400 #define DAYS_PER_YEAR 365 #define DAYS_PER_LYEAR 366 /* 400*365 days + 97 leap days */ #define DAYS_PER_LYEAR_PERIOD 146097 #define YEARS_PER_LYEAR_PERIOD 400 #define timelib_is_leap(y) ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) #define TIMELIB_DEBUG(s) if (0) { s } #endif 0707010008121d000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002300000000root/usr/local/include/php/ext/spl07070100081224000081a40000000000000000000000014dc0fae00000062f0000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/spl/spl_fixedarray.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Antony Dovgal | | Etienne Kneuss | +----------------------------------------------------------------------+ */ /* $Id: spl_fixedarray.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_FIXEDARRAY_H #define SPL_FIXEDARRAY_H extern PHPAPI zend_class_entry *spl_ce_SplFixedArray; PHP_MINIT_FUNCTION(spl_fixedarray); #endif /* SPL_FIXEDARRAY_H */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */ 07070100081226000081a40000000000000000000000014dc0fadf000006840000010000010007ffffffffffffffff0000002e00000000root/usr/local/include/php/ext/spl/spl_heap.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Etienne Kneuss | +----------------------------------------------------------------------+ */ /* $Id: spl_heap.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_HEAP_H #define SPL_HEAP_H #include "php.h" #include "php_spl.h" extern PHPAPI zend_class_entry *spl_ce_SplHeap; extern PHPAPI zend_class_entry *spl_ce_SplMinHeap; extern PHPAPI zend_class_entry *spl_ce_SplMaxHeap; extern PHPAPI zend_class_entry *spl_ce_SplPriorityQueue; PHP_MINIT_FUNCTION(spl_heap); #endif /* SPL_HEAP_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 0707010008121f000081a40000000000000000000000014dc0fade000007210000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/spl/spl_array.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_array.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_ARRAY_H #define SPL_ARRAY_H #include "php.h" #include "php_spl.h" #include "spl_iterators.h" extern PHPAPI zend_class_entry *spl_ce_ArrayObject; extern PHPAPI zend_class_entry *spl_ce_ArrayIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveArrayIterator; PHP_MINIT_FUNCTION(spl_array); extern void spl_array_iterator_append(zval *object, zval *append_value TSRMLS_DC); extern void spl_array_iterator_key(zval *object, zval *return_value TSRMLS_DC); #endif /* SPL_ARRAY_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081228000081a40000000000000000000000014dc0fadf000006a10000010000010007ffffffffffffffff0000003200000000root/usr/local/include/php/ext/spl/spl_observer.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_observer.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_OBSERVER_H #define SPL_OBSERVER_H #include "php.h" #include "php_spl.h" extern PHPAPI zend_class_entry *spl_ce_SplObserver; extern PHPAPI zend_class_entry *spl_ce_SplSubject; extern PHPAPI zend_class_entry *spl_ce_SplObjectStorage; extern PHPAPI zend_class_entry *spl_ce_MultipleIterator; PHP_MINIT_FUNCTION(spl_observer); #endif /* SPL_OBSERVER_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081223000081a40000000000000000000000014dc0fadf000008da0000010000010007ffffffffffffffff0000003400000000root/usr/local/include/php/ext/spl/spl_exceptions.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_exceptions.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_EXCEPTIONS_H #define SPL_EXCEPTIONS_H #include "php.h" #include "php_spl.h" extern PHPAPI zend_class_entry *spl_ce_LogicException; extern PHPAPI zend_class_entry *spl_ce_BadFunctionCallException; extern PHPAPI zend_class_entry *spl_ce_BadMethodCallException; extern PHPAPI zend_class_entry *spl_ce_DomainException; extern PHPAPI zend_class_entry *spl_ce_InvalidArgumentException; extern PHPAPI zend_class_entry *spl_ce_LengthException; extern PHPAPI zend_class_entry *spl_ce_OutOfRangeException; extern PHPAPI zend_class_entry *spl_ce_RuntimeException; extern PHPAPI zend_class_entry *spl_ce_OutOfBoundsException; extern PHPAPI zend_class_entry *spl_ce_OverflowException; extern PHPAPI zend_class_entry *spl_ce_RangeException; extern PHPAPI zend_class_entry *spl_ce_UnderflowException; extern PHPAPI zend_class_entry *spl_ce_UnexpectedValueException; PHP_MINIT_FUNCTION(spl_exceptions); #endif /* SPL_EXCEPTIONS_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081227000081a40000000000000000000000014dc0fadf000015990000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/spl/spl_iterators.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_iterators.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_ITERATORS_H #define SPL_ITERATORS_H #include "php.h" #include "php_spl.h" #if HAVE_PCRE || HAVE_BUNDLED_PCRE #include "ext/pcre/php_pcre.h" #endif #define spl_ce_Traversable zend_ce_traversable #define spl_ce_Iterator zend_ce_iterator #define spl_ce_Aggregate zend_ce_aggregate #define spl_ce_ArrayAccess zend_ce_arrayaccess #define spl_ce_Serializable zend_ce_serializable extern PHPAPI zend_class_entry *spl_ce_RecursiveIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveIteratorIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveTreeIterator; extern PHPAPI zend_class_entry *spl_ce_FilterIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveFilterIterator; extern PHPAPI zend_class_entry *spl_ce_ParentIterator; extern PHPAPI zend_class_entry *spl_ce_SeekableIterator; extern PHPAPI zend_class_entry *spl_ce_LimitIterator; extern PHPAPI zend_class_entry *spl_ce_CachingIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveCachingIterator; extern PHPAPI zend_class_entry *spl_ce_OuterIterator; extern PHPAPI zend_class_entry *spl_ce_IteratorIterator; extern PHPAPI zend_class_entry *spl_ce_NoRewindIterator; extern PHPAPI zend_class_entry *spl_ce_InfiniteIterator; extern PHPAPI zend_class_entry *spl_ce_EmptyIterator; extern PHPAPI zend_class_entry *spl_ce_AppendIterator; extern PHPAPI zend_class_entry *spl_ce_RegexIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveRegexIterator; extern PHPAPI zend_class_entry *spl_ce_Countable; PHP_MINIT_FUNCTION(spl_iterators); PHP_FUNCTION(iterator_to_array); PHP_FUNCTION(iterator_count); PHP_FUNCTION(iterator_apply); typedef enum { DIT_Default = 0, DIT_FilterIterator = DIT_Default, DIT_RecursiveFilterIterator = DIT_Default, DIT_ParentIterator = DIT_Default, DIT_LimitIterator, DIT_CachingIterator, DIT_RecursiveCachingIterator, DIT_IteratorIterator, DIT_NoRewindIterator, DIT_InfiniteIterator, DIT_AppendIterator, #if HAVE_PCRE || HAVE_BUNDLED_PCRE DIT_RegexIterator, DIT_RecursiveRegexIterator, #endif DIT_Unknown = ~0 } dual_it_type; typedef enum { RIT_Default = 0, RIT_RecursiveIteratorIterator = RIT_Default, RIT_RecursiveTreeIterator, RIT_Unknow = ~0 } recursive_it_it_type; enum { /* public */ CIT_CALL_TOSTRING = 0x00000001, CIT_TOSTRING_USE_KEY = 0x00000002, CIT_TOSTRING_USE_CURRENT = 0x00000004, CIT_TOSTRING_USE_INNER = 0x00000008, CIT_CATCH_GET_CHILD = 0x00000010, CIT_FULL_CACHE = 0x00000100, CIT_PUBLIC = 0x0000FFFF, /* private */ CIT_VALID = 0x00010000, CIT_HAS_CHILDREN = 0x00020000 }; enum { /* public */ REGIT_USE_KEY = 0x00000001, REGIT_INVERTED = 0x00000002 }; typedef enum { REGIT_MODE_MATCH, REGIT_MODE_GET_MATCH, REGIT_MODE_ALL_MATCHES, REGIT_MODE_SPLIT, REGIT_MODE_REPLACE, REGIT_MODE_MAX } regex_mode; typedef struct _spl_dual_it_object { zend_object std; struct { zval *zobject; zend_class_entry *ce; zend_object *object; zend_object_iterator *iterator; } inner; struct { zval *data; char *str_key; uint str_key_len; ulong int_key; int key_type; /* HASH_KEY_IS_STRING or HASH_KEY_IS_LONG */ int pos; } current; dual_it_type dit_type; union { struct { long offset; long count; } limit; struct { long flags; /* CIT_* */ zval *zstr; zval *zchildren; zval *zcache; } caching; struct { zval *zarrayit; zend_object_iterator *iterator; } append; #if HAVE_PCRE || HAVE_BUNDLED_PCRE struct { int use_flags; long flags; regex_mode mode; long preg_flags; pcre_cache_entry *pce; char *regex; } regex; #endif } u; } spl_dual_it_object; typedef int (*spl_iterator_apply_func_t)(zend_object_iterator *iter, void *puser TSRMLS_DC); PHPAPI int spl_iterator_apply(zval *obj, spl_iterator_apply_func_t apply_func, void *puser TSRMLS_DC); #endif /* SPL_ITERATORS_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081225000081a40000000000000000000000014dc0fadf000011c60000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/spl/spl_functions.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_functions.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_FUNCTIONS_H #define PHP_FUNCTIONS_H #include "php.h" typedef zend_object_value (*create_object_func_t)(zend_class_entry *class_type TSRMLS_DC); #define REGISTER_SPL_STD_CLASS(class_name, obj_ctor) \ spl_register_std_class(&spl_ce_ ## class_name, # class_name, obj_ctor, NULL TSRMLS_CC); #define REGISTER_SPL_STD_CLASS_EX(class_name, obj_ctor, funcs) \ spl_register_std_class(&spl_ce_ ## class_name, # class_name, obj_ctor, funcs TSRMLS_CC); #define REGISTER_SPL_SUB_CLASS_EX(class_name, parent_class_name, obj_ctor, funcs) \ spl_register_sub_class(&spl_ce_ ## class_name, spl_ce_ ## parent_class_name, # class_name, obj_ctor, funcs TSRMLS_CC); #define REGISTER_SPL_INTERFACE(class_name) \ spl_register_interface(&spl_ce_ ## class_name, # class_name, spl_funcs_ ## class_name TSRMLS_CC); #define REGISTER_SPL_IMPLEMENTS(class_name, interface_name) \ zend_class_implements(spl_ce_ ## class_name TSRMLS_CC, 1, spl_ce_ ## interface_name); #define REGISTER_SPL_ITERATOR(class_name) \ zend_class_implements(spl_ce_ ## class_name TSRMLS_CC, 1, zend_ce_iterator); #define REGISTER_SPL_PROPERTY(class_name, prop_name, prop_flags) \ spl_register_property(spl_ce_ ## class_name, prop_name, sizeof(prop_name)-1, prop_flags TSRMLS_CC); #define REGISTER_SPL_CLASS_CONST_LONG(class_name, const_name, value) \ zend_declare_class_constant_long(spl_ce_ ## class_name, const_name, sizeof(const_name)-1, (long)value TSRMLS_CC); void spl_register_std_class(zend_class_entry ** ppce, char * class_name, create_object_func_t ctor, const zend_function_entry * function_list TSRMLS_DC); void spl_register_sub_class(zend_class_entry ** ppce, zend_class_entry * parent_ce, char * class_name, create_object_func_t ctor, const zend_function_entry * function_list TSRMLS_DC); void spl_register_interface(zend_class_entry ** ppce, char * class_name, const zend_function_entry *functions TSRMLS_DC); void spl_register_property( zend_class_entry * class_entry, char *prop_name, int prop_name_len, int prop_flags TSRMLS_DC); /* sub: whether to allow subclasses/interfaces allow = 0: allow all classes and interfaces allow > 0: allow all that match and mask ce_flags allow < 0: disallow all that match and mask ce_flags */ void spl_add_class_name(zval * list, zend_class_entry * pce, int allow, int ce_flags TSRMLS_DC); void spl_add_interfaces(zval * list, zend_class_entry * pce, int allow, int ce_flags TSRMLS_DC); int spl_add_classes(zend_class_entry *pce, zval *list, int sub, int allow, int ce_flags TSRMLS_DC); /* caller must efree(return) */ char * spl_gen_private_prop_name(zend_class_entry *ce, char *prop_name, int prop_len, int *name_len TSRMLS_DC); #define SPL_ME(class_name, function_name, arg_info, flags) \ PHP_ME( spl_ ## class_name, function_name, arg_info, flags) #define SPL_ABSTRACT_ME(class_name, function_name, arg_info) \ ZEND_ABSTRACT_ME( spl_ ## class_name, function_name, arg_info) #define SPL_METHOD(class_name, function_name) \ PHP_METHOD(spl_ ## class_name, function_name) #define SPL_MA(class_name, function_name, alias_class, alias_function, arg_info, flags) \ PHP_MALIAS(spl_ ## alias_class, function_name, alias_function, arg_info, flags) #endif /* PHP_FUNCTIONS_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081221000081a40000000000000000000000014dc0fadf0000065c0000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/spl/spl_dllist.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Etienne Kneuss | +----------------------------------------------------------------------+ */ /* $Id: spl_dllist.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_DLLIST_H #define SPL_DLLIST_H #include "php.h" #include "php_spl.h" extern PHPAPI zend_class_entry *spl_ce_SplDoublyLinkedList; extern PHPAPI zend_class_entry *spl_ce_SplQueue; extern PHPAPI zend_class_entry *spl_ce_SplStack; PHP_MINIT_FUNCTION(spl_dllist); #endif /* SPL_DLLIST_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081220000081a40000000000000000000000014dc0fade000017780000010000010007ffffffffffffffff0000003300000000root/usr/local/include/php/ext/spl/spl_directory.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_directory.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_DIRECTORY_H #define SPL_DIRECTORY_H #include "php.h" #include "php_spl.h" extern PHPAPI zend_class_entry *spl_ce_SplFileInfo; extern PHPAPI zend_class_entry *spl_ce_DirectoryIterator; extern PHPAPI zend_class_entry *spl_ce_FilesystemIterator; extern PHPAPI zend_class_entry *spl_ce_RecursiveDirectoryIterator; extern PHPAPI zend_class_entry *spl_ce_GlobIterator; extern PHPAPI zend_class_entry *spl_ce_SplFileObject; extern PHPAPI zend_class_entry *spl_ce_SplTempFileObject; PHP_MINIT_FUNCTION(spl_directory); typedef enum { SPL_FS_INFO, /* must be 0 */ SPL_FS_DIR, SPL_FS_FILE } SPL_FS_OBJ_TYPE; typedef struct _spl_filesystem_object spl_filesystem_object; typedef void (*spl_foreign_dtor_t)(spl_filesystem_object *object TSRMLS_DC); typedef void (*spl_foreign_clone_t)(spl_filesystem_object *src, spl_filesystem_object *dst TSRMLS_DC); PHPAPI char* spl_filesystem_object_get_path(spl_filesystem_object *intern, int *len TSRMLS_DC); typedef struct _spl_other_handler { spl_foreign_dtor_t dtor; spl_foreign_clone_t clone; } spl_other_handler; /* define an overloaded iterator structure */ typedef struct { zend_object_iterator intern; zval *current; spl_filesystem_object *object; } spl_filesystem_iterator; struct _spl_filesystem_object { zend_object std; void *oth; spl_other_handler *oth_handler; char *_path; int _path_len; char *orig_path; char *file_name; int file_name_len; SPL_FS_OBJ_TYPE type; long flags; zend_class_entry *file_class; zend_class_entry *info_class; union { struct { php_stream *dirp; php_stream_dirent entry; char *sub_path; int sub_path_len; int index; int is_recursive; zend_function *func_rewind; zend_function *func_next; zend_function *func_valid; } dir; struct { php_stream *stream; php_stream_context *context; zval *zcontext; char *open_mode; int open_mode_len; zval *current_zval; char *current_line; size_t current_line_len; size_t max_line_len; long current_line_num; zval zresource; zend_function *func_getCurr; char delimiter; char enclosure; char escape; } file; } u; spl_filesystem_iterator it; }; static inline spl_filesystem_iterator* spl_filesystem_object_to_iterator(spl_filesystem_object *obj) { return &obj->it; } static inline spl_filesystem_object* spl_filesystem_iterator_to_object(spl_filesystem_iterator *it) { return (spl_filesystem_object*)((char*)it - XtOffsetOf(spl_filesystem_object, it)); } #define SPL_FILE_OBJECT_DROP_NEW_LINE 0x00000001 /* drop new lines */ #define SPL_FILE_OBJECT_READ_AHEAD 0x00000002 /* read on rewind/next */ #define SPL_FILE_OBJECT_SKIP_EMPTY 0x00000006 /* skip empty lines */ #define SPL_FILE_OBJECT_READ_CSV 0x00000008 /* read via fgetcsv */ #define SPL_FILE_OBJECT_MASK 0x0000000F /* read via fgetcsv */ #define SPL_FILE_DIR_CURRENT_AS_FILEINFO 0x00000000 /* make RecursiveDirectoryTree::current() return SplFileInfo */ #define SPL_FILE_DIR_CURRENT_AS_SELF 0x00000010 /* make RecursiveDirectoryTree::current() return getSelf() */ #define SPL_FILE_DIR_CURRENT_AS_PATHNAME 0x00000020 /* make RecursiveDirectoryTree::current() return getPathname() */ #define SPL_FILE_DIR_CURRENT_MODE_MASK 0x000000F0 /* mask RecursiveDirectoryTree::current() */ #define SPL_FILE_DIR_CURRENT(intern,mode) ((intern->flags&SPL_FILE_DIR_CURRENT_MODE_MASK)==mode) #define SPL_FILE_DIR_KEY_AS_PATHNAME 0x00000000 /* make RecursiveDirectoryTree::key() return getPathname() */ #define SPL_FILE_DIR_KEY_AS_FILENAME 0x00000100 /* make RecursiveDirectoryTree::key() return getFilename() */ #define SPL_FILE_DIR_FOLLOW_SYMLINKS 0x00000200 /* make RecursiveDirectoryTree::hasChildren() follow symlinks */ #define SPL_FILE_DIR_KEY_MODE_MASK 0x00000F00 /* mask RecursiveDirectoryTree::key() */ #define SPL_FILE_DIR_KEY(intern,mode) ((intern->flags&SPL_FILE_DIR_KEY_MODE_MASK)==mode) #define SPL_FILE_DIR_SKIPDOTS 0x00001000 /* Tells whether it should skip dots or not */ #define SPL_FILE_DIR_UNIXPATHS 0x00002000 /* Whether to unixify path separators */ #define SPL_FILE_DIR_OTHERS_MASK 0x00003000 /* mask used for get/setFlags */ #endif /* SPL_DIRECTORY_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 0707010008121e000081a40000000000000000000000014dc0fade00000b090000010000010007ffffffffffffffff0000002d00000000root/usr/local/include/php/ext/spl/php_spl.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ #ifndef PHP_SPL_H #define PHP_SPL_H #include "php.h" #if defined(PHP_WIN32) # include "win32/php_stdint.h" #elif defined(HAVE_STDINT_H) # include #endif #include #if 0 #define SPL_DEBUG(x) x #else #define SPL_DEBUG(x) #endif extern zend_module_entry spl_module_entry; #define phpext_spl_ptr &spl_module_entry #ifdef PHP_WIN32 # ifdef SPL_EXPORTS # define SPL_API __declspec(dllexport) # elif defined(COMPILE_DL_SPL) # define SPL_API __declspec(dllimport) # else # define SPL_API /* nothing */ # endif #elif defined(__GNUC__) && __GNUC__ >= 4 # define SPL_API __attribute__ ((visibility("default"))) #else # define SPL_API #endif #if defined(PHP_WIN32) && !defined(COMPILE_DL_SPL) #undef phpext_spl #define phpext_spl NULL #endif PHP_MINIT_FUNCTION(spl); PHP_MSHUTDOWN_FUNCTION(spl); PHP_RINIT_FUNCTION(spl); PHP_RSHUTDOWN_FUNCTION(spl); PHP_MINFO_FUNCTION(spl); ZEND_BEGIN_MODULE_GLOBALS(spl) char * autoload_extensions; HashTable * autoload_functions; int autoload_running; int autoload_extensions_len; intptr_t hash_mask_handle; intptr_t hash_mask_handlers; int hash_mask_init; ZEND_END_MODULE_GLOBALS(spl) #ifdef ZTS # define SPL_G(v) TSRMG(spl_globals_id, zend_spl_globals *, v) extern int spl_globals_id; #else # define SPL_G(v) (spl_globals.v) extern zend_spl_globals spl_globals; #endif PHP_FUNCTION(spl_classes); PHP_FUNCTION(class_parents); PHP_FUNCTION(class_implements); PHPAPI void php_spl_object_hash(zval *obj, char* md5str TSRMLS_DC); #endif /* PHP_SPL_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081222000081a40000000000000000000000014dc0fade000009710000010000010007ffffffffffffffff0000003000000000root/usr/local/include/php/ext/spl/spl_engine.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | +----------------------------------------------------------------------+ */ /* $Id: spl_engine.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef SPL_ENGINE_H #define SPL_ENGINE_H #include "php.h" #include "php_spl.h" #include "zend_interfaces.h" PHPAPI void spl_instantiate(zend_class_entry *pce, zval **object, int alloc TSRMLS_DC); PHPAPI long spl_offset_convert_to_long(zval *offset TSRMLS_DC); /* {{{ spl_instantiate_arg_ex1 */ static inline int spl_instantiate_arg_ex1(zend_class_entry *pce, zval **retval, int alloc, zval *arg1 TSRMLS_DC) { spl_instantiate(pce, retval, alloc TSRMLS_CC); zend_call_method(retval, pce, &pce->constructor, pce->constructor->common.function_name, strlen(pce->constructor->common.function_name), NULL, 1, arg1, NULL TSRMLS_CC); return 0; } /* }}} */ /* {{{ spl_instantiate_arg_ex2 */ static inline int spl_instantiate_arg_ex2(zend_class_entry *pce, zval **retval, int alloc, zval *arg1, zval *arg2 TSRMLS_DC) { spl_instantiate(pce, retval, alloc TSRMLS_CC); zend_call_method(retval, pce, &pce->constructor, pce->constructor->common.function_name, strlen(pce->constructor->common.function_name), NULL, 2, arg1, arg2 TSRMLS_CC); return 0; } /* }}} */ #endif /* SPL_ENGINE_H */ /* * Local Variables: * c-basic-offset: 4 * tab-width: 4 * End: * vim600: fdm=marker * vim: noet sw=4 ts=4 */ 07070100081212000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000002400000000root/usr/local/include/php/ext/pcre07070100081213000081a40000000000000000000000014dc0fad700000cd00000010000010007ffffffffffffffff0000002f00000000root/usr/local/include/php/ext/pcre/php_pcre.h/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2011 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Andrei Zmievski | +----------------------------------------------------------------------+ */ /* $Id: php_pcre.h 306939 2011-01-01 02:19:59Z felipe $ */ #ifndef PHP_PCRE_H #define PHP_PCRE_H #if HAVE_PCRE || HAVE_BUNDLED_PCRE #if HAVE_BUNDLED_PCRE #include "pcrelib/pcre.h" #else #include "pcre.h" #endif #if HAVE_LOCALE_H #include #endif PHPAPI char *php_pcre_replace(char *regex, int regex_len, char *subject, int subject_len, zval *replace_val, int is_callable_replace, int *result_len, int limit, int *replace_count TSRMLS_DC); PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *options TSRMLS_DC); PHPAPI pcre* pcre_get_compiled_regex_ex(char *regex, pcre_extra **extra, int *preg_options, int *coptions TSRMLS_DC); extern zend_module_entry pcre_module_entry; #define pcre_module_ptr &pcre_module_entry typedef struct { pcre *re; pcre_extra *extra; int preg_options; #if HAVE_SETLOCALE char *locale; unsigned const char *tables; #endif int compile_options; int refcount; } pcre_cache_entry; PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(char *regex, int regex_len TSRMLS_DC); PHPAPI void php_pcre_match_impl( pcre_cache_entry *pce, char *subject, int subject_len, zval *return_value, zval *subpats, int global, int use_flags, long flags, long start_offset TSRMLS_DC); PHPAPI char *php_pcre_replace_impl(pcre_cache_entry *pce, char *subject, int subject_len, zval *return_value, int is_callable_replace, int *result_len, int limit, int *replace_count TSRMLS_DC); PHPAPI void php_pcre_split_impl( pcre_cache_entry *pce, char *subject, int subject_len, zval *return_value, long limit_val, long flags TSRMLS_DC); PHPAPI void php_pcre_grep_impl( pcre_cache_entry *pce, zval *input, zval *return_value, long flags TSRMLS_DC); ZEND_BEGIN_MODULE_GLOBALS(pcre) HashTable pcre_cache; long backtrack_limit; long recursion_limit; int error_code; ZEND_END_MODULE_GLOBALS(pcre) #ifdef ZTS # define PCRE_G(v) TSRMG(pcre_globals_id, zend_pcre_globals *, v) #else # define PCRE_G(v) (pcre_globals.v) #endif #else #define pcre_module_ptr NULL #endif /* HAVE_PCRE || HAVE_BUNDLED_PCRE */ #define phpext_pcre_ptr pcre_module_ptr #endif /* PHP_PCRE_H */ 0707010008122d000041ed0000000000000000000000034dc22385000000000000010000010007ffffffffffffffff0000002700000000root/usr/local/include/php/ext/sqlite30707010008122e000041ed0000000000000000000000024dc22385000000000000010000010007ffffffffffffffff0000003100000000root/usr/local/include/php/ext/sqlite3/libsqlite0707010008122f000081a40000000000000000000000014dc0fad8000481640000010000010007ffffffffffffffff0000003b00000000root/usr/local/include/php/ext/sqlite3/libsqlite/sqlite3.h/* ** 2001 September 15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This header file defines the interface that the SQLite library ** presents to client programs. If a C-function, structure, datatype, ** or constant definition does not appear in this file, then it is ** not a published API of SQLite, is subject to change without ** notice, and should not be referenced by programs that use SQLite. ** ** Some of the definitions that are in this file are marked as ** "experimental". Experimental interfaces are normally new ** features recently added to SQLite. We do not anticipate changes ** to experimental interfaces but reserve the right to make minor changes ** if experience from use "in the wild" suggest such changes are prudent. ** ** The official C-language API documentation for SQLite is derived ** from comments in this file. This file is the authoritative source ** on how SQLite interfaces are suppose to operate. ** ** The name of this file under configuration management is "sqlite.h.in". ** The makefile makes some minor changes to this file (such as inserting ** the version number) and changes its name to "sqlite3.h" as ** part of the build process. */ #ifndef _SQLITE3_H_ #define _SQLITE3_H_ #include /* Needed for the definition of va_list */ /* ** Make sure we can call this stuff from C++. */ #ifdef __cplusplus extern "C" { #endif /* ** Add the ability to override 'extern' */ #ifndef SQLITE_EXTERN # define SQLITE_EXTERN extern #endif #ifndef SQLITE_API # define SQLITE_API #endif /* ** These no-op macros are used in front of interfaces to mark those ** interfaces as either deprecated or experimental. New applications ** should not use deprecated interfaces - they are support for backwards ** compatibility only. Application writers should be aware that ** experimental interfaces are subject to change in point releases. ** ** These macros used to resolve to various kinds of compiler magic that ** would generate warning messages when they were used. But that ** compiler magic ended up generating such a flurry of bug reports ** that we have taken it all out and gone back to using simple ** noop macros. */ #define SQLITE_DEPRECATED #define SQLITE_EXPERIMENTAL /* ** Ensure these symbols were not defined by some previous header file. */ #ifdef SQLITE_VERSION # undef SQLITE_VERSION #endif #ifdef SQLITE_VERSION_NUMBER # undef SQLITE_VERSION_NUMBER #endif /* ** CAPI3REF: Compile-Time Library Version Numbers ** ** ^(The [SQLITE_VERSION] C preprocessor macro in the sqlite3.h header ** evaluates to a string literal that is the SQLite version in the ** format "X.Y.Z" where X is the major version number (always 3 for ** SQLite3) and Y is the minor version number and Z is the release number.)^ ** ^(The [SQLITE_VERSION_NUMBER] C preprocessor macro resolves to an integer ** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same ** numbers used in [SQLITE_VERSION].)^ ** The SQLITE_VERSION_NUMBER for any given release of SQLite will also ** be larger than the release from which it is derived. Either Y will ** be held constant and Z will be incremented or else Y will be incremented ** and Z will be reset to zero. ** ** Since version 3.6.18, SQLite source code has been stored in the ** Fossil configuration management ** system. ^The SQLITE_SOURCE_ID macro evaluates to ** a string which identifies a particular check-in of SQLite ** within its configuration management system. ^The SQLITE_SOURCE_ID ** string contains the date and time of the check-in (UTC) and an SHA1 ** hash of the entire source tree. ** ** See also: [sqlite3_libversion()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ #define SQLITE_VERSION "3.7.4" #define SQLITE_VERSION_NUMBER 3007004 #define SQLITE_SOURCE_ID "2010-12-07 20:14:09 a586a4deeb25330037a49df295b36aaf624d0f45" /* ** CAPI3REF: Run-Time Library Version Numbers ** KEYWORDS: sqlite3_version, sqlite3_sourceid ** ** These interfaces provide the same information as the [SQLITE_VERSION], ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros ** but are associated with the library instead of the header file. ^(Cautious ** programmers might include assert() statements in their application to ** verify that values returned by these interfaces match the macros in ** the header, and thus insure that the application is ** compiled with matching library and header files. ** **
** assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER );
** assert( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)==0 );
** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
** 
)^ ** ** ^The sqlite3_version[] string constant contains the text of [SQLITE_VERSION] ** macro. ^The sqlite3_libversion() function returns a pointer to the ** to the sqlite3_version[] string constant. The sqlite3_libversion() ** function is provided for use in DLLs since DLL users usually do not have ** direct access to string constants within the DLL. ^The ** sqlite3_libversion_number() function returns an integer equal to ** [SQLITE_VERSION_NUMBER]. ^The sqlite3_sourceid() function returns ** a pointer to a string constant whose value is the same as the ** [SQLITE_SOURCE_ID] C preprocessor macro. ** ** See also: [sqlite_version()] and [sqlite_source_id()]. */ SQLITE_API SQLITE_EXTERN const char sqlite3_version[]; SQLITE_API const char *sqlite3_libversion(void); SQLITE_API const char *sqlite3_sourceid(void); SQLITE_API int sqlite3_libversion_number(void); /* ** CAPI3REF: Run-Time Library Compilation Options Diagnostics ** ** ^The sqlite3_compileoption_used() function returns 0 or 1 ** indicating whether the specified option was defined at ** compile time. ^The SQLITE_ prefix may be omitted from the ** option name passed to sqlite3_compileoption_used(). ** ** ^The sqlite3_compileoption_get() function allows iterating ** over the list of options that were defined at compile time by ** returning the N-th compile time option string. ^If N is out of range, ** sqlite3_compileoption_get() returns a NULL pointer. ^The SQLITE_ ** prefix is omitted from any strings returned by ** sqlite3_compileoption_get(). ** ** ^Support for the diagnostic functions sqlite3_compileoption_used() ** and sqlite3_compileoption_get() may be omitted by specifying the ** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time. ** ** See also: SQL functions [sqlite_compileoption_used()] and ** [sqlite_compileoption_get()] and the [compile_options pragma]. */ #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS SQLITE_API int sqlite3_compileoption_used(const char *zOptName); SQLITE_API const char *sqlite3_compileoption_get(int N); #endif /* ** CAPI3REF: Test To See If The Library Is Threadsafe ** ** ^The sqlite3_threadsafe() function returns zero if and only if ** SQLite was compiled mutexing code omitted due to the ** [SQLITE_THREADSAFE] compile-time option being set to 0. ** ** SQLite can be compiled with or without mutexes. When ** the [SQLITE_THREADSAFE] C preprocessor macro is 1 or 2, mutexes ** are enabled and SQLite is threadsafe. When the ** [SQLITE_THREADSAFE] macro is 0, ** the mutexes are omitted. Without the mutexes, it is not safe ** to use SQLite concurrently from more than one thread. ** ** Enabling mutexes incurs a measurable performance penalty. ** So if speed is of utmost importance, it makes sense to disable ** the mutexes. But for maximum safety, mutexes should be enabled. ** ^The default behavior is for mutexes to be enabled. ** ** This interface can be used by an application to make sure that the ** version of SQLite that it is linking against was compiled with ** the desired setting of the [SQLITE_THREADSAFE] macro. ** ** This interface only reports on the compile-time mutex setting ** of the [SQLITE_THREADSAFE] flag. If SQLite is compiled with ** SQLITE_THREADSAFE=1 or =2 then mutexes are enabled by default but ** can be fully or partially disabled using a call to [sqlite3_config()] ** with the verbs [SQLITE_CONFIG_SINGLETHREAD], [SQLITE_CONFIG_MULTITHREAD], ** or [SQLITE_CONFIG_MUTEX]. ^(The return value of the ** sqlite3_threadsafe() function shows only the compile-time setting of ** thread safety, not any run-time changes to that setting made by ** sqlite3_config(). In other words, the return value from sqlite3_threadsafe() ** is unchanged by calls to sqlite3_config().)^ ** ** See the [threading mode] documentation for additional information. */ SQLITE_API int sqlite3_threadsafe(void); /* ** CAPI3REF: Database Connection Handle ** KEYWORDS: {database connection} {database connections} ** ** Each open SQLite database is represented by a pointer to an instance of ** the opaque structure named "sqlite3". It is useful to think of an sqlite3 ** pointer as an object. The [sqlite3_open()], [sqlite3_open16()], and ** [sqlite3_open_v2()] interfaces are its constructors, and [sqlite3_close()] ** is its destructor. There are many other interfaces (such as ** [sqlite3_prepare_v2()], [sqlite3_create_function()], and ** [sqlite3_busy_timeout()] to name but three) that are methods on an ** sqlite3 object. */ typedef struct sqlite3 sqlite3; /* ** CAPI3REF: 64-Bit Integer Types ** KEYWORDS: sqlite_int64 sqlite_uint64 ** ** Because there is no cross-platform way to specify 64-bit integer types ** SQLite includes typedefs for 64-bit signed and unsigned integers. ** ** The sqlite3_int64 and sqlite3_uint64 are the preferred type definitions. ** The sqlite_int64 and sqlite_uint64 types are supported for backwards ** compatibility only. ** ** ^The sqlite3_int64 and sqlite_int64 types can store integer values ** between -9223372036854775808 and +9223372036854775807 inclusive. ^The ** sqlite3_uint64 and sqlite_uint64 types can store integer values ** between 0 and +18446744073709551615 inclusive. */ #ifdef SQLITE_INT64_TYPE typedef SQLITE_INT64_TYPE sqlite_int64; typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; #elif defined(_MSC_VER) || defined(__BORLANDC__) typedef __int64 sqlite_int64; typedef unsigned __int64 sqlite_uint64; #else typedef long long int sqlite_int64; typedef unsigned long long int sqlite_uint64; #endif typedef sqlite_int64 sqlite3_int64; typedef sqlite_uint64 sqlite3_uint64; /* ** If compiling for a processor that lacks floating point support, ** substitute integer for floating-point. */ #ifdef SQLITE_OMIT_FLOATING_POINT # define double sqlite3_int64 #endif /* ** CAPI3REF: Closing A Database Connection ** ** ^The sqlite3_close() routine is the destructor for the [sqlite3] object. ** ^Calls to sqlite3_close() return SQLITE_OK if the [sqlite3] object is ** successfully destroyed and all associated resources are deallocated. ** ** Applications must [sqlite3_finalize | finalize] all [prepared statements] ** and [sqlite3_blob_close | close] all [BLOB handles] associated with ** the [sqlite3] object prior to attempting to close the object. ^If ** sqlite3_close() is called on a [database connection] that still has ** outstanding [prepared statements] or [BLOB handles], then it returns ** SQLITE_BUSY. ** ** ^If [sqlite3_close()] is invoked while a transaction is open, ** the transaction is automatically rolled back. ** ** The C parameter to [sqlite3_close(C)] must be either a NULL ** pointer or an [sqlite3] object pointer obtained ** from [sqlite3_open()], [sqlite3_open16()], or ** [sqlite3_open_v2()], and not previously closed. ** ^Calling sqlite3_close() with a NULL pointer argument is a ** harmless no-op. */ SQLITE_API int sqlite3_close(sqlite3 *); /* ** The type for a callback function. ** This is legacy and deprecated. It is included for historical ** compatibility and is not documented. */ typedef int (*sqlite3_callback)(void*,int,char**, char**); /* ** CAPI3REF: One-Step Query Execution Interface ** ** The sqlite3_exec() interface is a convenience wrapper around ** [sqlite3_prepare_v2()], [sqlite3_step()], and [sqlite3_finalize()], ** that allows an application to run multiple statements of SQL ** without having to use a lot of C code. ** ** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded, ** semicolon-separate SQL statements passed into its 2nd argument, ** in the context of the [database connection] passed in as its 1st ** argument. ^If the callback function of the 3rd argument to ** sqlite3_exec() is not NULL, then it is invoked for each result row ** coming out of the evaluated SQL statements. ^The 4th argument to ** to sqlite3_exec() is relayed through to the 1st argument of each ** callback invocation. ^If the callback pointer to sqlite3_exec() ** is NULL, then no callback is ever invoked and result rows are ** ignored. ** ** ^If an error occurs while evaluating the SQL statements passed into ** sqlite3_exec(), then execution of the current statement stops and ** subsequent statements are skipped. ^If the 5th parameter to sqlite3_exec() ** is not NULL then any error message is written into memory obtained ** from [sqlite3_malloc()] and passed back through the 5th parameter. ** To avoid memory leaks, the application should invoke [sqlite3_free()] ** on error message strings returned through the 5th parameter of ** of sqlite3_exec() after the error message string is no longer needed. ** ^If the 5th parameter to sqlite3_exec() is not NULL and no errors ** occur, then sqlite3_exec() sets the pointer in its 5th parameter to ** NULL before returning. ** ** ^If an sqlite3_exec() callback returns non-zero, the sqlite3_exec() ** routine returns SQLITE_ABORT without invoking the callback again and ** without running any subsequent SQL statements. ** ** ^The 2nd argument to the sqlite3_exec() callback function is the ** number of columns in the result. ^The 3rd argument to the sqlite3_exec() ** callback is an array of pointers to strings obtained as if from ** [sqlite3_column_text()], one for each column. ^If an element of a ** result row is NULL then the corresponding string pointer for the ** sqlite3_exec() callback is a NULL pointer. ^The 4th argument to the ** sqlite3_exec() callback is an array of pointers to strings where each ** entry represents the name of corresponding result column as obtained ** from [sqlite3_column_name()]. ** ** ^If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer ** to an empty string, or a pointer that contains only whitespace and/or ** SQL comments, then no SQL statements are evaluated and the database ** is not changed. ** ** Restrictions: ** **
    **
  • The application must insure that the 1st parameter to sqlite3_exec() ** is a valid and open [database connection]. **
  • The application must not close [database connection] specified by ** the 1st parameter to sqlite3_exec() while sqlite3_exec() is running. **
  • The application must not modify the SQL statement text passed into ** the 2nd parameter of sqlite3_exec() while sqlite3_exec() is running. **
*/ SQLITE_API int sqlite3_exec( sqlite3*, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *, /* 1st argument to callback */ char **errmsg /* Error msg written here */ ); /* ** CAPI3REF: Result Codes ** KEYWORDS: SQLITE_OK {error code} {error codes} ** KEYWORDS: {result code} {result codes} ** ** Many SQLite functions return an integer result code from the set shown ** here in order to indicates success or failure. ** ** New error codes may be added in future versions of SQLite. ** ** See also: [SQLITE_IOERR_READ | extended result codes] */ #define SQLITE_OK 0 /* Successful result */ /* beginning-of-error-codes */ #define SQLITE_ERROR 1 /* SQL error or missing database */ #define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */ #define SQLITE_PERM 3 /* Access permission denied */ #define SQLITE_ABORT 4 /* Callback routine requested an abort */ #define SQLITE_BUSY 5 /* The database file is locked */ #define SQLITE_LOCKED 6 /* A table in the database is locked */ #define SQLITE_NOMEM 7 /* A malloc() failed */ #define SQLITE_READONLY 8 /* Attempt to write a readonly database */ #define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/ #define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ #define SQLITE_CORRUPT 11 /* The database disk image is malformed */ #define SQLITE_NOTFOUND 12 /* NOT USED. Table or record not found */ #define SQLITE_FULL 13 /* Insertion failed because database is full */ #define SQLITE_CANTOPEN 14 /* Unable to open the database file */ #define SQLITE_PROTOCOL 15 /* Database lock protocol error */ #define SQLITE_EMPTY 16 /* Database is empty */ #define SQLITE_SCHEMA 17 /* The database schema changed */ #define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */ #define SQLITE_CONSTRAINT 19 /* Abort due to constraint violation */ #define SQLITE_MISMATCH 20 /* Data type mismatch */ #define SQLITE_MISUSE 21 /* Library used incorrectly */ #define SQLITE_NOLFS 22 /* Uses OS features not supported on host */ #define SQLITE_AUTH 23 /* Authorization denied */ #define SQLITE_FORMAT 24 /* Auxiliary database format error */ #define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */ #define SQLITE_NOTADB 26 /* File opened that is not a database file */ #define SQLITE_ROW 100 /* sqlite3_step() has another row ready */ #define SQLITE_DONE 101 /* sqlite3_step() has finished executing */ /* end-of-error-codes */ /* ** CAPI3REF: Extended Result Codes ** KEYWORDS: {extended error code} {extended error codes} ** KEYWORDS: {extended result code} {extended result codes} ** ** In its default configuration, SQLite API routines return one of 26 integer ** [SQLITE_OK | result codes]. However, experience has shown that many of ** these result codes are too coarse-grained. They do not provide as ** much information about problems as programmers might like. In an effort to ** address this, newer versions of SQLite (version 3.3.8 and later) include ** support for additional result codes that provide more detailed information ** about errors. The extended result codes are enabled or disabled ** on a per database connection basis using the ** [sqlite3_extended_result_codes()] API. ** ** Some of the available extended result codes are listed here. ** One may expect the number of extended result codes will be expand ** over time. Software that uses extended result codes should expect ** to see new result codes in future releases of SQLite. ** ** The SQLITE_OK result code will never be extended. It will always ** be exactly zero. */ #define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) #define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) #define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) #define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8)) #define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8)) #define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8)) #define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8)) #define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8)) #define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8)) #define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8)) #define SQLITE_IOERR_BLOCKED (SQLITE_IOERR | (11<<8)) #define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8)) #define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8)) #define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8)) #define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) #define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) #define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) #define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations ** ** These bit values are intended for use in the ** 3rd parameter to the [sqlite3_open_v2()] interface and ** in the 4th parameter to the xOpen method of the ** [sqlite3_vfs] object. */ #define SQLITE_OPEN_READONLY 0x00000001 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_READWRITE 0x00000002 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_CREATE 0x00000004 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_DELETEONCLOSE 0x00000008 /* VFS only */ #define SQLITE_OPEN_EXCLUSIVE 0x00000010 /* VFS only */ #define SQLITE_OPEN_AUTOPROXY 0x00000020 /* VFS only */ #define SQLITE_OPEN_MAIN_DB 0x00000100 /* VFS only */ #define SQLITE_OPEN_TEMP_DB 0x00000200 /* VFS only */ #define SQLITE_OPEN_TRANSIENT_DB 0x00000400 /* VFS only */ #define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 /* VFS only */ #define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 /* VFS only */ #define SQLITE_OPEN_SUBJOURNAL 0x00002000 /* VFS only */ #define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 /* VFS only */ #define SQLITE_OPEN_NOMUTEX 0x00008000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_PRIVATECACHE 0x00040000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_WAL 0x00080000 /* VFS only */ /* ** CAPI3REF: Device Characteristics ** ** The xDeviceCharacteristics method of the [sqlite3_io_methods] ** object returns an integer which is a vector of the these ** bit values expressing I/O characteristics of the mass storage ** device that holds the file that the [sqlite3_io_methods] ** refers to. ** ** The SQLITE_IOCAP_ATOMIC property means that all writes of ** any size are atomic. The SQLITE_IOCAP_ATOMICnnn values ** mean that writes of blocks that are nnn bytes in size and ** are aligned to an address which is an integer multiple of ** nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means ** that when data is appended to a file, the data is appended ** first then the size of the file is extended, never the other ** way around. The SQLITE_IOCAP_SEQUENTIAL property means that ** information is written to disk in the same order as calls ** to xWrite(). */ #define SQLITE_IOCAP_ATOMIC 0x00000001 #define SQLITE_IOCAP_ATOMIC512 0x00000002 #define SQLITE_IOCAP_ATOMIC1K 0x00000004 #define SQLITE_IOCAP_ATOMIC2K 0x00000008 #define SQLITE_IOCAP_ATOMIC4K 0x00000010 #define SQLITE_IOCAP_ATOMIC8K 0x00000020 #define SQLITE_IOCAP_ATOMIC16K 0x00000040 #define SQLITE_IOCAP_ATOMIC32K 0x00000080 #define SQLITE_IOCAP_ATOMIC64K 0x00000100 #define SQLITE_IOCAP_SAFE_APPEND 0x00000200 #define SQLITE_IOCAP_SEQUENTIAL 0x00000400 #define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 /* ** CAPI3REF: File Locking Levels ** ** SQLite uses one of these integer values as the second ** argument to calls it makes to the xLock() and xUnlock() methods ** of an [sqlite3_io_methods] object. */ #define SQLITE_LOCK_NONE 0 #define SQLITE_LOCK_SHARED 1 #define SQLITE_LOCK_RESERVED 2 #define SQLITE_LOCK_PENDING 3 #define SQLITE_LOCK_EXCLUSIVE 4 /* ** CAPI3REF: Synchronization Type Flags ** ** When SQLite invokes the xSync() method of an ** [sqlite3_io_methods] object it uses a combination of ** these integer values as the second argument. ** ** When the SQLITE_SYNC_DATAONLY flag is used, it means that the ** sync operation only needs to flush data to mass storage. Inode ** information need not be flushed. If the lower four bits of the flag ** equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics. ** If the lower four bits equal SQLITE_SYNC_FULL, that means ** to use Mac OS X style fullsync instead of fsync(). ** ** Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags ** with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL ** settings. The [synchronous pragma] determines when calls to the ** xSync VFS method occur and applies uniformly across all platforms. ** The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how ** energetic or rigorous or forceful the sync operations are and ** only make a difference on Mac OSX for the default SQLite code. ** (Third-party VFS implementations might also make the distinction ** between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the ** operating systems natively supported by SQLite, only Mac OSX ** cares about the difference.) */ #define SQLITE_SYNC_NORMAL 0x00002 #define SQLITE_SYNC_FULL 0x00003 #define SQLITE_SYNC_DATAONLY 0x00010 /* ** CAPI3REF: OS Interface Open File Handle ** ** An [sqlite3_file] object represents an open file in the ** [sqlite3_vfs | OS interface layer]. Individual OS interface ** implementations will ** want to subclass this object by appending additional fields ** for their own use. The pMethods entry is a pointer to an ** [sqlite3_io_methods] object that defines methods for performing ** I/O operations on the open file. */ typedef struct sqlite3_file sqlite3_file; struct sqlite3_file { const struct sqlite3_io_methods *pMethods; /* Methods for an open file */ }; /* ** CAPI3REF: OS Interface File Virtual Methods Object ** ** Every file opened by the [sqlite3_vfs] xOpen method populates an ** [sqlite3_file] object (or, more commonly, a subclass of the ** [sqlite3_file] object) with a pointer to an instance of this object. ** This object defines the methods used to perform various operations ** against the open file represented by the [sqlite3_file] object. ** ** If the xOpen method sets the sqlite3_file.pMethods element ** to a non-NULL pointer, then the sqlite3_io_methods.xClose method ** may be invoked even if the xOpen reported that it failed. The ** only way to prevent a call to xClose following a failed xOpen ** is for the xOpen to set the sqlite3_file.pMethods element to NULL. ** ** The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or ** [SQLITE_SYNC_FULL]. The first choice is the normal fsync(). ** The second choice is a Mac OS X style fullsync. The [SQLITE_SYNC_DATAONLY] ** flag may be ORed in to indicate that only the data of the file ** and not its inode needs to be synced. ** ** The integer values to xLock() and xUnlock() are one of **
    **
  • [SQLITE_LOCK_NONE], **
  • [SQLITE_LOCK_SHARED], **
  • [SQLITE_LOCK_RESERVED], **
  • [SQLITE_LOCK_PENDING], or **
  • [SQLITE_LOCK_EXCLUSIVE]. **
** xLock() increases the lock. xUnlock() decreases the lock. ** The xCheckReservedLock() method checks whether any database connection, ** either in this process or in some other process, is holding a RESERVED, ** PENDING, or EXCLUSIVE lock on the file. It returns true ** if such a lock exists and false otherwise. ** ** The xFileControl() method is a generic interface that allows custom ** VFS implementations to directly control an open file using the ** [sqlite3_file_control()] interface. The second "op" argument is an ** integer opcode. The third argument is a generic pointer intended to ** point to a structure that may contain arguments or space in which to ** write return values. Potential uses for xFileControl() might be ** functions to enable blocking locks with timeouts, to change the ** locking strategy (for example to use dot-file locks), to inquire ** about the status of a lock, or to break stale locks. The SQLite ** core reserves all opcodes less than 100 for its own use. ** A [SQLITE_FCNTL_LOCKSTATE | list of opcodes] less than 100 is available. ** Applications that define a custom xFileControl method should use opcodes ** greater than 100 to avoid conflicts. ** ** The xSectorSize() method returns the sector size of the ** device that underlies the file. The sector size is the ** minimum write that can be performed without disturbing ** other bytes in the file. The xDeviceCharacteristics() ** method returns a bit vector describing behaviors of the ** underlying device: ** **
    **
  • [SQLITE_IOCAP_ATOMIC] **
  • [SQLITE_IOCAP_ATOMIC512] **
  • [SQLITE_IOCAP_ATOMIC1K] **
  • [SQLITE_IOCAP_ATOMIC2K] **
  • [SQLITE_IOCAP_ATOMIC4K] **
  • [SQLITE_IOCAP_ATOMIC8K] **
  • [SQLITE_IOCAP_ATOMIC16K] **
  • [SQLITE_IOCAP_ATOMIC32K] **
  • [SQLITE_IOCAP_ATOMIC64K] **
  • [SQLITE_IOCAP_SAFE_APPEND] **
  • [SQLITE_IOCAP_SEQUENTIAL] **
** ** The SQLITE_IOCAP_ATOMIC property means that all writes of ** any size are atomic. The SQLITE_IOCAP_ATOMICnnn values ** mean that writes of blocks that are nnn bytes in size and ** are aligned to an address which is an integer multiple of ** nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means ** that when data is appended to a file, the data is appended ** first then the size of the file is extended, never the other ** way around. The SQLITE_IOCAP_SEQUENTIAL property means that ** information is written to disk in the same order as calls ** to xWrite(). ** ** If xRead() returns SQLITE_IOERR_SHORT_READ it must also fill ** in the unread portions of the buffer with zeros. A VFS that ** fails to zero-fill short reads might seem to work. However, ** failure to zero-fill short reads will eventually lead to ** database corruption. */ typedef struct sqlite3_io_methods sqlite3_io_methods; struct sqlite3_io_methods { int iVersion; int (*xClose)(sqlite3_file*); int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst); int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst); int (*xTruncate)(sqlite3_file*, sqlite3_int64 size); int (*xSync)(sqlite3_file*, int flags); int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize); int (*xLock)(sqlite3_file*, int); int (*xUnlock)(sqlite3_file*, int); int (*xCheckReservedLock)(sqlite3_file*, int *pResOut); int (*xFileControl)(sqlite3_file*, int op, void *pArg); int (*xSectorSize)(sqlite3_file*); int (*xDeviceCharacteristics)(sqlite3_file*); /* Methods above are valid for version 1 */ int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**); int (*xShmLock)(sqlite3_file*, int offset, int n, int flags); void (*xShmBarrier)(sqlite3_file*); int (*xShmUnmap)(sqlite3_file*, int deleteFlag); /* Methods above are valid for version 2 */ /* Additional methods may be added in future releases */ }; /* ** CAPI3REF: Standard File Control Opcodes ** ** These integer constants are opcodes for the xFileControl method ** of the [sqlite3_io_methods] object and for the [sqlite3_file_control()] ** interface. ** ** The [SQLITE_FCNTL_LOCKSTATE] opcode is used for debugging. This ** opcode causes the xFileControl method to write the current state of ** the lock (one of [SQLITE_LOCK_NONE], [SQLITE_LOCK_SHARED], ** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE]) ** into an integer that the pArg argument points to. This capability ** is used during testing and only needs to be supported when SQLITE_TEST ** is defined. ** ** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS ** layer a hint of how large the database file will grow to be during the ** current transaction. This hint is not guaranteed to be accurate but it ** is often close. The underlying VFS might choose to preallocate database ** file space based on this hint in order to help writes to the database ** file run faster. ** ** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS ** extends and truncates the database file in chunks of a size specified ** by the user. The fourth argument to [sqlite3_file_control()] should ** point to an integer (type int) containing the new chunk-size to use ** for the nominated database. Allocating database file space in large ** chunks (say 1MB at a time), may reduce file-system fragmentation and ** improve performance on some systems. */ #define SQLITE_FCNTL_LOCKSTATE 1 #define SQLITE_GET_LOCKPROXYFILE 2 #define SQLITE_SET_LOCKPROXYFILE 3 #define SQLITE_LAST_ERRNO 4 #define SQLITE_FCNTL_SIZE_HINT 5 #define SQLITE_FCNTL_CHUNK_SIZE 6 #define SQLITE_FCNTL_FILE_POINTER 7 /* ** CAPI3REF: Mutex Handle ** ** The mutex module within SQLite defines [sqlite3_mutex] to be an ** abstract type for a mutex object. The SQLite core never looks ** at the internal representation of an [sqlite3_mutex]. It only ** deals with pointers to the [sqlite3_mutex] object. ** ** Mutexes are created using [sqlite3_mutex_alloc()]. */ typedef struct sqlite3_mutex sqlite3_mutex; /* ** CAPI3REF: OS Interface Object ** ** An instance of the sqlite3_vfs object defines the interface between ** the SQLite core and the underlying operating system. The "vfs" ** in the name of the object stands for "virtual file system". ** ** The value of the iVersion field is initially 1 but may be larger in ** future versions of SQLite. Additional fields may be appended to this ** object when the iVersion value is increased. Note that the structure ** of the sqlite3_vfs object changes in the transaction between ** SQLite version 3.5.9 and 3.6.0 and yet the iVersion field was not ** modified. ** ** The szOsFile field is the size of the subclassed [sqlite3_file] ** structure used by this VFS. mxPathname is the maximum length of ** a pathname in this VFS. ** ** Registered sqlite3_vfs objects are kept on a linked list formed by ** the pNext pointer. The [sqlite3_vfs_register()] ** and [sqlite3_vfs_unregister()] interfaces manage this list ** in a thread-safe way. The [sqlite3_vfs_find()] interface ** searches the list. Neither the application code nor the VFS ** implementation should use the pNext pointer. ** ** The pNext field is the only field in the sqlite3_vfs ** structure that SQLite will ever modify. SQLite will only access ** or modify this field while holding a particular static mutex. ** The application should never modify anything within the sqlite3_vfs ** object once the object has been registered. ** ** The zName field holds the name of the VFS module. The name must ** be unique across all VFS modules. ** ** ^SQLite guarantees that the zFilename parameter to xOpen ** is either a NULL pointer or string obtained ** from xFullPathname() with an optional suffix added. ** ^If a suffix is added to the zFilename parameter, it will ** consist of a single "-" character followed by no more than ** 10 alphanumeric and/or "-" characters. ** ^SQLite further guarantees that ** the string will be valid and unchanged until xClose() is ** called. Because of the previous sentence, ** the [sqlite3_file] can safely store a pointer to the ** filename if it needs to remember the filename for some reason. ** If the zFilename parameter to xOpen is a NULL pointer then xOpen ** must invent its own temporary name for the file. ^Whenever the ** xFilename parameter is NULL it will also be the case that the ** flags parameter will include [SQLITE_OPEN_DELETEONCLOSE]. ** ** The flags argument to xOpen() includes all bits set in ** the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()] ** or [sqlite3_open16()] is used, then flags includes at least ** [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]. ** If xOpen() opens a file read-only then it sets *pOutFlags to ** include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set. ** ** ^(SQLite will also add one of the following flags to the xOpen() ** call, depending on the object being opened: ** **
    **
  • [SQLITE_OPEN_MAIN_DB] **
  • [SQLITE_OPEN_MAIN_JOURNAL] **
  • [SQLITE_OPEN_TEMP_DB] **
  • [SQLITE_OPEN_TEMP_JOURNAL] **
  • [SQLITE_OPEN_TRANSIENT_DB] **
  • [SQLITE_OPEN_SUBJOURNAL] **
  • [SQLITE_OPEN_MASTER_JOURNAL] **
  • [SQLITE_OPEN_WAL] **
)^ ** ** The file I/O implementation can use the object type flags to ** change the way it deals with files. For example, an application ** that does not care about crash recovery or rollback might make ** the open of a journal file a no-op. Writes to this journal would ** also be no-ops, and any attempt to read the journal would return ** SQLITE_IOERR. Or the implementation might recognize that a database ** file will be doing page-aligned sector reads and writes in a random ** order and set up its I/O subsystem accordingly. ** ** SQLite might also add one of the following flags to the xOpen method: ** **
    **
  • [SQLITE_OPEN_DELETEONCLOSE] **
  • [SQLITE_OPEN_EXCLUSIVE] **
** ** The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be ** deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE] ** will be set for TEMP databases and their journals, transient ** databases, and subjournals. ** ** ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction ** with the [SQLITE_OPEN_CREATE] flag, which are both directly ** analogous to the O_EXCL and O_CREAT flags of the POSIX open() ** API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the ** SQLITE_OPEN_CREATE, is used to indicate that file should always ** be created, and that it is an error if it already exists. ** It is not used to indicate the file should be opened ** for exclusive access. ** ** ^At least szOsFile bytes of memory are allocated by SQLite ** to hold the [sqlite3_file] structure passed as the third ** argument to xOpen. The xOpen method does not have to ** allocate the structure; it should just fill it in. Note that ** the xOpen method must set the sqlite3_file.pMethods to either ** a valid [sqlite3_io_methods] object or to NULL. xOpen must do ** this even if the open fails. SQLite expects that the sqlite3_file.pMethods ** element will be valid after xOpen returns regardless of the success ** or failure of the xOpen call. ** ** ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] ** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to ** test whether a file is readable and writable, or [SQLITE_ACCESS_READ] ** to test whether a file is at least readable. The file can be a ** directory. ** ** ^SQLite will always allocate at least mxPathname+1 bytes for the ** output buffer xFullPathname. The exact size of the output buffer ** is also passed as a parameter to both methods. If the output buffer ** is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is ** handled as a fatal error by SQLite, vfs implementations should endeavor ** to prevent this by setting mxPathname to a sufficiently large value. ** ** The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() ** interfaces are not strictly a part of the filesystem, but they are ** included in the VFS structure for completeness. ** The xRandomness() function attempts to return nBytes bytes ** of good-quality randomness into zOut. The return value is ** the actual number of bytes of randomness obtained. ** The xSleep() method causes the calling thread to sleep for at ** least the number of microseconds given. ^The xCurrentTime() ** method returns a Julian Day Number for the current date and time as ** a floating point value. ** ^The xCurrentTimeInt64() method returns, as an integer, the Julian ** Day Number multipled by 86400000 (the number of milliseconds in ** a 24-hour day). ** ^SQLite will use the xCurrentTimeInt64() method to get the current ** date and time if that method is available (if iVersion is 2 or ** greater and the function pointer is not NULL) and will fall back ** to xCurrentTime() if xCurrentTimeInt64() is unavailable. */ typedef struct sqlite3_vfs sqlite3_vfs; struct sqlite3_vfs { int iVersion; /* Structure version number (currently 2) */ int szOsFile; /* Size of subclassed sqlite3_file */ int mxPathname; /* Maximum file pathname length */ sqlite3_vfs *pNext; /* Next registered VFS */ const char *zName; /* Name of this virtual file system */ void *pAppData; /* Pointer to application-specific data */ int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*, int flags, int *pOutFlags); int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir); int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut); int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut); void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename); void (*xDlError)(sqlite3_vfs*, int nByte, char *zErrMsg); void (*(*xDlSym)(sqlite3_vfs*,void*, const char *zSymbol))(void); void (*xDlClose)(sqlite3_vfs*, void*); int (*xRandomness)(sqlite3_vfs*, int nByte, char *zOut); int (*xSleep)(sqlite3_vfs*, int microseconds); int (*xCurrentTime)(sqlite3_vfs*, double*); int (*xGetLastError)(sqlite3_vfs*, int, char *); /* ** The methods above are in version 1 of the sqlite_vfs object ** definition. Those that follow are added in version 2 or later */ int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*); /* ** The methods above are in versions 1 and 2 of the sqlite_vfs object. ** New fields may be appended in figure versions. The iVersion ** value will increment whenever this happens. */ }; /* ** CAPI3REF: Flags for the xAccess VFS method ** ** These integer constants can be used as the third parameter to ** the xAccess method of an [sqlite3_vfs] object. They determine ** what kind of permissions the xAccess method is looking for. ** With SQLITE_ACCESS_EXISTS, the xAccess method ** simply checks whether the file exists. ** With SQLITE_ACCESS_READWRITE, the xAccess method ** checks whether the named directory is both readable and writable ** (in other words, if files can be added, removed, and renamed within ** the directory). ** The SQLITE_ACCESS_READWRITE constant is currently used only by the ** [temp_store_directory pragma], though this could change in a future ** release of SQLite. ** With SQLITE_ACCESS_READ, the xAccess method ** checks whether the file is readable. The SQLITE_ACCESS_READ constant is ** currently unused, though it might be used in a future release of ** SQLite. */ #define SQLITE_ACCESS_EXISTS 0 #define SQLITE_ACCESS_READWRITE 1 /* Used by PRAGMA temp_store_directory */ #define SQLITE_ACCESS_READ 2 /* Unused */ /* ** CAPI3REF: Flags for the xShmLock VFS method ** ** These integer constants define the various locking operations ** allowed by the xShmLock method of [sqlite3_io_methods]. The ** following are the only legal combinations of flags to the ** xShmLock method: ** **
    **
  • SQLITE_SHM_LOCK | SQLITE_SHM_SHARED **
  • SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE **
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED **
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE **
** ** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as ** was given no the corresponding lock. ** ** The xShmLock method can transition between unlocked and SHARED or ** between unlocked and EXCLUSIVE. It cannot transition between SHARED ** and EXCLUSIVE. */ #define SQLITE_SHM_UNLOCK 1 #define SQLITE_SHM_LOCK 2 #define SQLITE_SHM_SHARED 4 #define SQLITE_SHM_EXCLUSIVE 8 /* ** CAPI3REF: Maximum xShmLock index ** ** The xShmLock method on [sqlite3_io_methods] may use values ** between 0 and this upper bound as its "offset" argument. ** The SQLite core will never attempt to acquire or release a ** lock outside of this range */ #define SQLITE_SHM_NLOCK 8 /* ** CAPI3REF: Initialize The SQLite Library ** ** ^The sqlite3_initialize() routine initializes the ** SQLite library. ^The sqlite3_shutdown() routine ** deallocates any resources that were allocated by sqlite3_initialize(). ** These routines are designed to aid in process initialization and ** shutdown on embedded systems. Workstation applications using ** SQLite normally do not need to invoke either of these routines. ** ** A call to sqlite3_initialize() is an "effective" call if it is ** the first time sqlite3_initialize() is invoked during the lifetime of ** the process, or if it is the first time sqlite3_initialize() is invoked ** following a call to sqlite3_shutdown(). ^(Only an effective call ** of sqlite3_initialize() does any initialization. All other calls ** are harmless no-ops.)^ ** ** A call to sqlite3_shutdown() is an "effective" call if it is the first ** call to sqlite3_shutdown() since the last sqlite3_initialize(). ^(Only ** an effective call to sqlite3_shutdown() does any deinitialization. ** All other valid calls to sqlite3_shutdown() are harmless no-ops.)^ ** ** The sqlite3_initialize() interface is threadsafe, but sqlite3_shutdown() ** is not. The sqlite3_shutdown() interface must only be called from a ** single thread. All open [database connections] must be closed and all ** other SQLite resources must be deallocated prior to invoking ** sqlite3_shutdown(). ** ** Among other things, ^sqlite3_initialize() will invoke ** sqlite3_os_init(). Similarly, ^sqlite3_shutdown() ** will invoke sqlite3_os_end(). ** ** ^The sqlite3_initialize() routine returns [SQLITE_OK] on success. ** ^If for some reason, sqlite3_initialize() is unable to initialize ** the library (perhaps it is unable to allocate a needed resource such ** as a mutex) it returns an [error code] other than [SQLITE_OK]. ** ** ^The sqlite3_initialize() routine is called internally by many other ** SQLite interfaces so that an application usually does not need to ** invoke sqlite3_initialize() directly. For example, [sqlite3_open()] ** calls sqlite3_initialize() so the SQLite library will be automatically ** initialized when [sqlite3_open()] is called if it has not be initialized ** already. ^However, if SQLite is compiled with the [SQLITE_OMIT_AUTOINIT] ** compile-time option, then the automatic calls to sqlite3_initialize() ** are omitted and the application must call sqlite3_initialize() directly ** prior to using any other SQLite interface. For maximum portability, ** it is recommended that applications always invoke sqlite3_initialize() ** directly prior to using any other SQLite interface. Future releases ** of SQLite may require this. In other words, the behavior exhibited ** when SQLite is compiled with [SQLITE_OMIT_AUTOINIT] might become the ** default behavior in some future release of SQLite. ** ** The sqlite3_os_init() routine does operating-system specific ** initialization of the SQLite library. The sqlite3_os_end() ** routine undoes the effect of sqlite3_os_init(). Typical tasks ** performed by these routines include allocation or deallocation ** of static resources, initialization of global variables, ** setting up a default [sqlite3_vfs] module, or setting up ** a default configuration using [sqlite3_config()]. ** ** The application should never invoke either sqlite3_os_init() ** or sqlite3_os_end() directly. The application should only invoke ** sqlite3_initialize() and sqlite3_shutdown(). The sqlite3_os_init() ** interface is called automatically by sqlite3_initialize() and ** sqlite3_os_end() is called by sqlite3_shutdown(). Appropriate ** implementations for sqlite3_os_init() and sqlite3_os_end() ** are built into SQLite when it is compiled for Unix, Windows, or OS/2. ** When [custom builds | built for other platforms] ** (using the [SQLITE_OS_OTHER=1] compile-time ** option) the application must supply a suitable implementation for ** sqlite3_os_init() and sqlite3_os_end(). An application-supplied ** implementation of sqlite3_os_init() or sqlite3_os_end() ** must return [SQLITE_OK] on success and some other [error code] upon ** failure. */ SQLITE_API int sqlite3_initialize(void); SQLITE_API int sqlite3_shutdown(void); SQLITE_API int sqlite3_os_init(void); SQLITE_API int sqlite3_os_end(void); /* ** CAPI3REF: Configuring The SQLite Library ** ** The sqlite3_config() interface is used to make global configuration ** changes to SQLite in order to tune SQLite to the specific needs of ** the application. The default configuration is recommended for most ** applications and so this routine is usually not necessary. It is ** provided to support rare applications with unusual needs. ** ** The sqlite3_config() interface is not threadsafe. The application ** must insure that no other SQLite interfaces are invoked by other ** threads while sqlite3_config() is running. Furthermore, sqlite3_config() ** may only be invoked prior to library initialization using ** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()]. ** ^If sqlite3_config() is called after [sqlite3_initialize()] and before ** [sqlite3_shutdown()] then it will return SQLITE_MISUSE. ** Note, however, that ^sqlite3_config() can be called as part of the ** implementation of an application-defined [sqlite3_os_init()]. ** ** The first argument to sqlite3_config() is an integer ** [SQLITE_CONFIG_SINGLETHREAD | configuration option] that determines ** what property of SQLite is to be configured. Subsequent arguments ** vary depending on the [SQLITE_CONFIG_SINGLETHREAD | configuration option] ** in the first argument. ** ** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK]. ** ^If the option is unknown or SQLite is unable to set the option ** then this routine returns a non-zero [error code]. */ SQLITE_API int sqlite3_config(int, ...); /* ** CAPI3REF: Configure database connections ** ** The sqlite3_db_config() interface is used to make configuration ** changes to a [database connection]. The interface is similar to ** [sqlite3_config()] except that the changes apply to a single ** [database connection] (specified in the first argument). The ** sqlite3_db_config() interface should only be used immediately after ** the database connection is created using [sqlite3_open()], ** [sqlite3_open16()], or [sqlite3_open_v2()]. ** ** The second argument to sqlite3_db_config(D,V,...) is the ** configuration verb - an integer code that indicates what ** aspect of the [database connection] is being configured. ** The only choice for this value is [SQLITE_DBCONFIG_LOOKASIDE]. ** New verbs are likely to be added in future releases of SQLite. ** Additional arguments depend on the verb. ** ** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if ** the call is considered successful. */ SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); /* ** CAPI3REF: Memory Allocation Routines ** ** An instance of this object defines the interface between SQLite ** and low-level memory allocation routines. ** ** This object is used in only one place in the SQLite interface. ** A pointer to an instance of this object is the argument to ** [sqlite3_config()] when the configuration option is ** [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC]. ** By creating an instance of this object ** and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC]) ** during configuration, an application can specify an alternative ** memory allocation subsystem for SQLite to use for all of its ** dynamic memory needs. ** ** Note that SQLite comes with several [built-in memory allocators] ** that are perfectly adequate for the overwhelming majority of applications ** and that this object is only useful to a tiny minority of applications ** with specialized memory allocation requirements. This object is ** also used during testing of SQLite in order to specify an alternative ** memory allocator that simulates memory out-of-memory conditions in ** order to verify that SQLite recovers gracefully from such ** conditions. ** ** The xMalloc and xFree methods must work like the ** malloc() and free() functions from the standard C library. ** The xRealloc method must work like realloc() from the standard C library ** with the exception that if the second argument to xRealloc is zero, ** xRealloc must be a no-op - it must not perform any allocation or ** deallocation. ^SQLite guarantees that the second argument to ** xRealloc is always a value returned by a prior call to xRoundup. ** And so in cases where xRoundup always returns a positive number, ** xRealloc can perform exactly as the standard library realloc() and ** still be in compliance with this specification. ** ** xSize should return the allocated size of a memory allocation ** previously obtained from xMalloc or xRealloc. The allocated size ** is always at least as big as the requested size but may be larger. ** ** The xRoundup method returns what would be the allocated size of ** a memory allocation given a particular requested size. Most memory ** allocators round up memory allocations at least to the next multiple ** of 8. Some allocators round up to a larger multiple or to a power of 2. ** Every memory allocation request coming in through [sqlite3_malloc()] ** or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0, ** that causes the corresponding memory allocation to fail. ** ** The xInit method initializes the memory allocator. (For example, ** it might allocate any require mutexes or initialize internal data ** structures. The xShutdown method is invoked (indirectly) by ** [sqlite3_shutdown()] and should deallocate any resources acquired ** by xInit. The pAppData pointer is used as the only parameter to ** xInit and xShutdown. ** ** SQLite holds the [SQLITE_MUTEX_STATIC_MASTER] mutex when it invokes ** the xInit method, so the xInit method need not be threadsafe. The ** xShutdown method is only called from [sqlite3_shutdown()] so it does ** not need to be threadsafe either. For all other methods, SQLite ** holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the ** [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which ** it is by default) and so the methods are automatically serialized. ** However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other ** methods must be threadsafe or else make their own arrangements for ** serialization. ** ** SQLite will never invoke xInit() more than once without an intervening ** call to xShutdown(). */ typedef struct sqlite3_mem_methods sqlite3_mem_methods; struct sqlite3_mem_methods { void *(*xMalloc)(int); /* Memory allocation function */ void (*xFree)(void*); /* Free a prior allocation */ void *(*xRealloc)(void*,int); /* Resize an allocation */ int (*xSize)(void*); /* Return the size of an allocation */ int (*xRoundup)(int); /* Round up request size to allocation size */ int (*xInit)(void*); /* Initialize the memory allocator */ void (*xShutdown)(void*); /* Deinitialize the memory allocator */ void *pAppData; /* Argument to xInit() and xShutdown() */ }; /* ** CAPI3REF: Configuration Options ** ** These constants are the available integer configuration options that ** can be passed as the first argument to the [sqlite3_config()] interface. ** ** New configuration options may be added in future releases of SQLite. ** Existing configuration options might be discontinued. Applications ** should check the return code from [sqlite3_config()] to make sure that ** the call worked. The [sqlite3_config()] interface will return a ** non-zero [error code] if a discontinued or unsupported configuration option ** is invoked. ** **
**
SQLITE_CONFIG_SINGLETHREAD
**
There are no arguments to this option. ^This option sets the ** [threading mode] to Single-thread. In other words, it disables ** all mutexing and puts SQLite into a mode where it can only be used ** by a single thread. ^If SQLite is compiled with ** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then ** it is not possible to change the [threading mode] from its default ** value of Single-thread and so [sqlite3_config()] will return ** [SQLITE_ERROR] if called with the SQLITE_CONFIG_SINGLETHREAD ** configuration option.
** **
SQLITE_CONFIG_MULTITHREAD
**
There are no arguments to this option. ^This option sets the ** [threading mode] to Multi-thread. In other words, it disables ** mutexing on [database connection] and [prepared statement] objects. ** The application is responsible for serializing access to ** [database connections] and [prepared statements]. But other mutexes ** are enabled so that SQLite will be safe to use in a multi-threaded ** environment as long as no two threads attempt to use the same ** [database connection] at the same time. ^If SQLite is compiled with ** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then ** it is not possible to set the Multi-thread [threading mode] and ** [sqlite3_config()] will return [SQLITE_ERROR] if called with the ** SQLITE_CONFIG_MULTITHREAD configuration option.
** **
SQLITE_CONFIG_SERIALIZED
**
There are no arguments to this option. ^This option sets the ** [threading mode] to Serialized. In other words, this option enables ** all mutexes including the recursive ** mutexes on [database connection] and [prepared statement] objects. ** In this mode (which is the default when SQLite is compiled with ** [SQLITE_THREADSAFE=1]) the SQLite library will itself serialize access ** to [database connections] and [prepared statements] so that the ** application is free to use the same [database connection] or the ** same [prepared statement] in different threads at the same time. ** ^If SQLite is compiled with ** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then ** it is not possible to set the Serialized [threading mode] and ** [sqlite3_config()] will return [SQLITE_ERROR] if called with the ** SQLITE_CONFIG_SERIALIZED configuration option.
** **
SQLITE_CONFIG_MALLOC
**
^(This option takes a single argument which is a pointer to an ** instance of the [sqlite3_mem_methods] structure. The argument specifies ** alternative low-level memory allocation routines to be used in place of ** the memory allocation routines built into SQLite.)^ ^SQLite makes ** its own private copy of the content of the [sqlite3_mem_methods] structure ** before the [sqlite3_config()] call returns.
** **
SQLITE_CONFIG_GETMALLOC
**
^(This option takes a single argument which is a pointer to an ** instance of the [sqlite3_mem_methods] structure. The [sqlite3_mem_methods] ** structure is filled with the currently defined memory allocation routines.)^ ** This option can be used to overload the default memory allocation ** routines with a wrapper that simulations memory allocation failure or ** tracks memory usage, for example.
** **
SQLITE_CONFIG_MEMSTATUS
**
^This option takes single argument of type int, interpreted as a ** boolean, which enables or disables the collection of memory allocation ** statistics. ^(When memory allocation statistics are disabled, the ** following SQLite interfaces become non-operational: **
    **
  • [sqlite3_memory_used()] **
  • [sqlite3_memory_highwater()] **
  • [sqlite3_soft_heap_limit64()] **
  • [sqlite3_status()] **
)^ ** ^Memory allocation statistics are enabled by default unless SQLite is ** compiled with [SQLITE_DEFAULT_MEMSTATUS]=0 in which case memory ** allocation statistics are disabled by default. **
** **
SQLITE_CONFIG_SCRATCH
**
^This option specifies a static memory buffer that SQLite can use for ** scratch memory. There are three arguments: A pointer an 8-byte ** aligned memory buffer from which the scrach allocations will be ** drawn, the size of each scratch allocation (sz), ** and the maximum number of scratch allocations (N). The sz ** argument must be a multiple of 16. ** The first argument must be a pointer to an 8-byte aligned buffer ** of at least sz*N bytes of memory. ** ^SQLite will use no more than two scratch buffers per thread. So ** N should be set to twice the expected maximum number of threads. ** ^SQLite will never require a scratch buffer that is more than 6 ** times the database page size. ^If SQLite needs needs additional ** scratch memory beyond what is provided by this configuration option, then ** [sqlite3_malloc()] will be used to obtain the memory needed.
** **
SQLITE_CONFIG_PAGECACHE
**
^This option specifies a static memory buffer that SQLite can use for ** the database page cache with the default page cache implemenation. ** This configuration should not be used if an application-define page ** cache implementation is loaded using the SQLITE_CONFIG_PCACHE option. ** There are three arguments to this option: A pointer to 8-byte aligned ** memory, the size of each page buffer (sz), and the number of pages (N). ** The sz argument should be the size of the largest database page ** (a power of two between 512 and 32768) plus a little extra for each ** page header. ^The page header size is 20 to 40 bytes depending on ** the host architecture. ^It is harmless, apart from the wasted memory, ** to make sz a little too large. The first ** argument should point to an allocation of at least sz*N bytes of memory. ** ^SQLite will use the memory provided by the first argument to satisfy its ** memory needs for the first N pages that it adds to cache. ^If additional ** page cache memory is needed beyond what is provided by this option, then ** SQLite goes to [sqlite3_malloc()] for the additional storage space. ** The pointer in the first argument must ** be aligned to an 8-byte boundary or subsequent behavior of SQLite ** will be undefined.
** **
SQLITE_CONFIG_HEAP
**
^This option specifies a static memory buffer that SQLite will use ** for all of its dynamic memory allocation needs beyond those provided ** for by [SQLITE_CONFIG_SCRATCH] and [SQLITE_CONFIG_PAGECACHE]. ** There are three arguments: An 8-byte aligned pointer to the memory, ** the number of bytes in the memory buffer, and the minimum allocation size. ** ^If the first pointer (the memory pointer) is NULL, then SQLite reverts ** to using its default memory allocator (the system malloc() implementation), ** undoing any prior invocation of [SQLITE_CONFIG_MALLOC]. ^If the ** memory pointer is not NULL and either [SQLITE_ENABLE_MEMSYS3] or ** [SQLITE_ENABLE_MEMSYS5] are defined, then the alternative memory ** allocator is engaged to handle all of SQLites memory allocation needs. ** The first pointer (the memory pointer) must be aligned to an 8-byte ** boundary or subsequent behavior of SQLite will be undefined.
** **
SQLITE_CONFIG_MUTEX
**
^(This option takes a single argument which is a pointer to an ** instance of the [sqlite3_mutex_methods] structure. The argument specifies ** alternative low-level mutex routines to be used in place ** the mutex routines built into SQLite.)^ ^SQLite makes a copy of the ** content of the [sqlite3_mutex_methods] structure before the call to ** [sqlite3_config()] returns. ^If SQLite is compiled with ** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then ** the entire mutexing subsystem is omitted from the build and hence calls to ** [sqlite3_config()] with the SQLITE_CONFIG_MUTEX configuration option will ** return [SQLITE_ERROR].
** **
SQLITE_CONFIG_GETMUTEX
**
^(This option takes a single argument which is a pointer to an ** instance of the [sqlite3_mutex_methods] structure. The ** [sqlite3_mutex_methods] ** structure is filled with the currently defined mutex routines.)^ ** This option can be used to overload the default mutex allocation ** routines with a wrapper used to track mutex usage for performance ** profiling or testing, for example. ^If SQLite is compiled with ** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then ** the entire mutexing subsystem is omitted from the build and hence calls to ** [sqlite3_config()] with the SQLITE_CONFIG_GETMUTEX configuration option will ** return [SQLITE_ERROR].
** **
SQLITE_CONFIG_LOOKASIDE
**
^(This option takes two arguments that determine the default ** memory allocation for the lookaside memory allocator on each ** [database connection]. The first argument is the ** size of each lookaside buffer slot and the second is the number of ** slots allocated to each database connection.)^ ^(This option sets the ** default lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE] ** verb to [sqlite3_db_config()] can be used to change the lookaside ** configuration on individual connections.)^
** **
SQLITE_CONFIG_PCACHE
**
^(This option takes a single argument which is a pointer to ** an [sqlite3_pcache_methods] object. This object specifies the interface ** to a custom page cache implementation.)^ ^SQLite makes a copy of the ** object and uses it for page cache memory allocations.
** **
SQLITE_CONFIG_GETPCACHE
**
^(This option takes a single argument which is a pointer to an ** [sqlite3_pcache_methods] object. SQLite copies of the current ** page cache implementation into that object.)^
** **
SQLITE_CONFIG_LOG
**
^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a ** function with a call signature of void(*)(void*,int,const char*), ** and a pointer to void. ^If the function pointer is not NULL, it is ** invoked by [sqlite3_log()] to process each logging event. ^If the ** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. ** ^The void pointer that is the second argument to SQLITE_CONFIG_LOG is ** passed through as the first parameter to the application-defined logger ** function whenever that function is invoked. ^The second parameter to ** the logger function is a copy of the first parameter to the corresponding ** [sqlite3_log()] call and is intended to be a [result code] or an ** [extended result code]. ^The third parameter passed to the logger is ** log message after formatting via [sqlite3_snprintf()]. ** The SQLite logging interface is not reentrant; the logger function ** supplied by the application must not invoke any SQLite interface. ** In a multi-threaded application, the application-defined logger ** function must be threadsafe.
** **
*/ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ #define SQLITE_CONFIG_MULTITHREAD 2 /* nil */ #define SQLITE_CONFIG_SERIALIZED 3 /* nil */ #define SQLITE_CONFIG_MALLOC 4 /* sqlite3_mem_methods* */ #define SQLITE_CONFIG_GETMALLOC 5 /* sqlite3_mem_methods* */ #define SQLITE_CONFIG_SCRATCH 6 /* void*, int sz, int N */ #define SQLITE_CONFIG_PAGECACHE 7 /* void*, int sz, int N */ #define SQLITE_CONFIG_HEAP 8 /* void*, int nByte, int min */ #define SQLITE_CONFIG_MEMSTATUS 9 /* boolean */ #define SQLITE_CONFIG_MUTEX 10 /* sqlite3_mutex_methods* */ #define SQLITE_CONFIG_GETMUTEX 11 /* sqlite3_mutex_methods* */ /* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */ #define SQLITE_CONFIG_LOOKASIDE 13 /* int int */ #define SQLITE_CONFIG_PCACHE 14 /* sqlite3_pcache_methods* */ #define SQLITE_CONFIG_GETPCACHE 15 /* sqlite3_pcache_methods* */ #define SQLITE_CONFIG_LOG 16 /* xFunc, void* */ /* ** CAPI3REF: Database Connection Configuration Options ** ** These constants are the available integer configuration options that ** can be passed as the second argument to the [sqlite3_db_config()] interface. ** ** New configuration options may be added in future releases of SQLite. ** Existing configuration options might be discontinued. Applications ** should check the return code from [sqlite3_db_config()] to make sure that ** the call worked. ^The [sqlite3_db_config()] interface will return a ** non-zero [error code] if a discontinued or unsupported configuration option ** is invoked. ** **
**
SQLITE_DBCONFIG_LOOKASIDE
**
^This option takes three additional arguments that determine the ** [lookaside memory allocator] configuration for the [database connection]. ** ^The first argument (the third parameter to [sqlite3_db_config()] is a ** pointer to an memory buffer to use for lookaside memory. ** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb ** may be NULL in which case SQLite will allocate the ** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the ** size of each lookaside buffer slot. ^The third argument is the number of ** slots. The size of the buffer in the first argument must be greater than ** or equal to the product of the second and third arguments. The buffer ** must be aligned to an 8-byte boundary. ^If the second argument to ** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally ** rounded down to the next smaller multiple of 8. ^(The lookaside memory ** configuration for a database connection can only be changed when that ** connection is not currently using lookaside memory, or in other words ** when the "current value" returned by ** [sqlite3_db_status](D,[SQLITE_CONFIG_LOOKASIDE],...) is zero. ** Any attempt to change the lookaside memory configuration when lookaside ** memory is in use leaves the configuration unchanged and returns ** [SQLITE_BUSY].)^
** **
*/ #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ /* ** CAPI3REF: Enable Or Disable Extended Result Codes ** ** ^The sqlite3_extended_result_codes() routine enables or disables the ** [extended result codes] feature of SQLite. ^The extended result ** codes are disabled by default for historical compatibility. */ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); /* ** CAPI3REF: Last Insert Rowid ** ** ^Each entry in an SQLite table has a unique 64-bit signed ** integer key called the [ROWID | "rowid"]. ^The rowid is always available ** as an undeclared column named ROWID, OID, or _ROWID_ as long as those ** names are not also used by explicitly declared columns. ^If ** the table has a column of type [INTEGER PRIMARY KEY] then that column ** is another alias for the rowid. ** ** ^This routine returns the [rowid] of the most recent ** successful [INSERT] into the database from the [database connection] ** in the first argument. ^If no successful [INSERT]s ** have ever occurred on that database connection, zero is returned. ** ** ^(If an [INSERT] occurs within a trigger, then the [rowid] of the inserted ** row is returned by this routine as long as the trigger is running. ** But once the trigger terminates, the value returned by this routine ** reverts to the last value inserted before the trigger fired.)^ ** ** ^An [INSERT] that fails due to a constraint violation is not a ** successful [INSERT] and does not change the value returned by this ** routine. ^Thus INSERT OR FAIL, INSERT OR IGNORE, INSERT OR ROLLBACK, ** and INSERT OR ABORT make no changes to the return value of this ** routine when their insertion fails. ^(When INSERT OR REPLACE ** encounters a constraint violation, it does not fail. The ** INSERT continues to completion after deleting rows that caused ** the constraint problem so INSERT OR REPLACE will always change ** the return value of this interface.)^ ** ** ^For the purposes of this routine, an [INSERT] is considered to ** be successful even if it is subsequently rolled back. ** ** This function is accessible to SQL statements via the ** [last_insert_rowid() SQL function]. ** ** If a separate thread performs a new [INSERT] on the same ** database connection while the [sqlite3_last_insert_rowid()] ** function is running and thus changes the last insert [rowid], ** then the value returned by [sqlite3_last_insert_rowid()] is ** unpredictable and might not equal either the old or the new ** last insert [rowid]. */ SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*); /* ** CAPI3REF: Count The Number Of Rows Modified ** ** ^This function returns the number of database rows that were changed ** or inserted or deleted by the most recently completed SQL statement ** on the [database connection] specified by the first parameter. ** ^(Only changes that are directly specified by the [INSERT], [UPDATE], ** or [DELETE] statement are counted. Auxiliary changes caused by ** triggers or [foreign key actions] are not counted.)^ Use the ** [sqlite3_total_changes()] function to find the total number of changes ** including changes caused by triggers and foreign key actions. ** ** ^Changes to a view that are simulated by an [INSTEAD OF trigger] ** are not counted. Only real table changes are counted. ** ** ^(A "row change" is a change to a single row of a single table ** caused by an INSERT, DELETE, or UPDATE statement. Rows that ** are changed as side effects of [REPLACE] constraint resolution, ** rollback, ABORT processing, [DROP TABLE], or by any other ** mechanisms do not count as direct row changes.)^ ** ** A "trigger context" is a scope of execution that begins and ** ends with the script of a [CREATE TRIGGER | trigger]. ** Most SQL statements are ** evaluated outside of any trigger. This is the "top level" ** trigger context. If a trigger fires from the top level, a ** new trigger context is entered for the duration of that one ** trigger. Subtriggers create subcontexts for their duration. ** ** ^Calling [sqlite3_exec()] or [sqlite3_step()] recursively does ** not create a new trigger context. ** ** ^This function returns the number of direct row changes in the ** most recent INSERT, UPDATE, or DELETE statement within the same ** trigger context. ** ** ^Thus, when called from the top level, this function returns the ** number of changes in the most recent INSERT, UPDATE, or DELETE ** that also occurred at the top level. ^(Within the body of a trigger, ** the sqlite3_changes() interface can be called to find the number of ** changes in the most recently completed INSERT, UPDATE, or DELETE ** statement within the body of the same trigger. ** However, the number returned does not include changes ** caused by subtriggers since those have their own context.)^ ** ** See also the [sqlite3_total_changes()] interface, the ** [count_changes pragma], and the [changes() SQL function]. ** ** If a separate thread makes changes on the same database connection ** while [sqlite3_changes()] is running then the value returned ** is unpredictable and not meaningful. */ SQLITE_API int sqlite3_changes(sqlite3*); /* ** CAPI3REF: Total Number Of Rows Modified ** ** ^This function returns the number of row changes caused by [INSERT], ** [UPDATE] or [DELETE] statements since the [database connection] was opened. ** ^(The count returned by sqlite3_total_changes() includes all changes ** from all [CREATE TRIGGER | trigger] contexts and changes made by ** [foreign key actions]. However, ** the count does not include changes used to implement [REPLACE] constraints, ** do rollbacks or ABORT processing, or [DROP TABLE] processing. The ** count does not include rows of views that fire an [INSTEAD OF trigger], ** though if the INSTEAD OF trigger makes changes of its own, those changes ** are counted.)^ ** ^The sqlite3_total_changes() function counts the changes as soon as ** the statement that makes them is completed (when the statement handle ** is passed to [sqlite3_reset()] or [sqlite3_finalize()]). ** ** See also the [sqlite3_changes()] interface, the ** [count_changes pragma], and the [total_changes() SQL function]. ** ** If a separate thread makes changes on the same database connection ** while [sqlite3_total_changes()] is running then the value ** returned is unpredictable and not meaningful. */ SQLITE_API int sqlite3_total_changes(sqlite3*); /* ** CAPI3REF: Interrupt A Long-Running Query ** ** ^This function causes any pending database operation to abort and ** return at its earliest opportunity. This routine is typically ** called in response to a user action such as pressing "Cancel" ** or Ctrl-C where the user wants a long query operation to halt ** immediately. ** ** ^It is safe to call this routine from a thread different from the ** thread that is currently running the database operation. But it ** is not safe to call this routine with a [database connection] that ** is closed or might close before sqlite3_interrupt() returns. ** ** ^If an SQL operation is very nearly finished at the time when ** sqlite3_interrupt() is called, then it might not have an opportunity ** to be interrupted and might continue to completion. ** ** ^An SQL operation that is interrupted will return [SQLITE_INTERRUPT]. ** ^If the interrupted SQL operation is an INSERT, UPDATE, or DELETE ** that is inside an explicit transaction, then the entire transaction ** will be rolled back automatically. ** ** ^The sqlite3_interrupt(D) call is in effect until all currently running ** SQL statements on [database connection] D complete. ^Any new SQL statements ** that are started after the sqlite3_interrupt() call and before the ** running statements reaches zero are interrupted as if they had been ** running prior to the sqlite3_interrupt() call. ^New SQL statements ** that are started after the running statement count reaches zero are ** not effected by the sqlite3_interrupt(). ** ^A call to sqlite3_interrupt(D) that occurs when there are no running ** SQL statements is a no-op and has no effect on SQL statements ** that are started after the sqlite3_interrupt() call returns. ** ** If the database connection closes while [sqlite3_interrupt()] ** is running then bad things will likely happen. */ SQLITE_API void sqlite3_interrupt(sqlite3*); /* ** CAPI3REF: Determine If An SQL Statement Is Complete ** ** These routines are useful during command-line input to determine if the ** currently entered text seems to form a complete SQL statement or ** if additional input is needed before sending the text into ** SQLite for parsing. ^These routines return 1 if the input string ** appears to be a complete SQL statement. ^A statement is judged to be ** complete if it ends with a semicolon token and is not a prefix of a ** well-formed CREATE TRIGGER statement. ^Semicolons that are embedded within ** string literals or quoted identifier names or comments are not ** independent tokens (they are part of the token in which they are ** embedded) and thus do not count as a statement terminator. ^Whitespace ** and comments that follow the final semicolon are ignored. ** ** ^These routines return 0 if the statement is incomplete. ^If a ** memory allocation fails, then SQLITE_NOMEM is returned. ** ** ^These routines do not parse the SQL statements thus ** will not detect syntactically incorrect SQL. ** ** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior ** to invoking sqlite3_complete16() then sqlite3_initialize() is invoked ** automatically by sqlite3_complete16(). If that initialization fails, ** then the return value from sqlite3_complete16() will be non-zero ** regardless of whether or not the input SQL is complete.)^ ** ** The input to [sqlite3_complete()] must be a zero-terminated ** UTF-8 string. ** ** The input to [sqlite3_complete16()] must be a zero-terminated ** UTF-16 string in native byte order. */ SQLITE_API int sqlite3_complete(const char *sql); SQLITE_API int sqlite3_complete16(const void *sql); /* ** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors ** ** ^This routine sets a callback function that might be invoked whenever ** an attempt is made to open a database table that another thread ** or process has locked. ** ** ^If the busy callback is NULL, then [SQLITE_BUSY] or [SQLITE_IOERR_BLOCKED] ** is returned immediately upon encountering the lock. ^If the busy callback ** is not NULL, then the callback might be invoked with two arguments. ** ** ^The first argument to the busy handler is a copy of the void* pointer which ** is the third argument to sqlite3_busy_handler(). ^The second argument to ** the busy handler callback is the number of times that the busy handler has ** been invoked for this locking event. ^If the ** busy callback returns 0, then no additional attempts are made to ** access the database and [SQLITE_BUSY] or [SQLITE_IOERR_BLOCKED] is returned. ** ^If the callback returns non-zero, then another attempt ** is made to open the database for reading and the cycle repeats. ** ** The presence of a busy handler does not guarantee that it will be invoked ** when there is lock contention. ^If SQLite determines that invoking the busy ** handler could result in a deadlock, it will go ahead and return [SQLITE_BUSY] ** or [SQLITE_IOERR_BLOCKED] instead of invoking the busy handler. ** Consider a scenario where one process is holding a read lock that ** it is trying to promote to a reserved lock and ** a second process is holding a reserved lock that it is trying ** to promote to an exclusive lock. The first process cannot proceed ** because it is blocked by the second and the second process cannot ** proceed because it is blocked by the first. If both processes ** invoke the busy handlers, neither will make any progress. Therefore, ** SQLite returns [SQLITE_BUSY] for the first process, hoping that this ** will induce the first process to release its read lock and allow ** the second process to proceed. ** ** ^The default busy callback is NULL. ** ** ^The [SQLITE_BUSY] error is converted to [SQLITE_IOERR_BLOCKED] ** when SQLite is in the middle of a large transaction where all the ** changes will not fit into the in-memory cache. SQLite will ** already hold a RESERVED lock on the database file, but it needs ** to promote this lock to EXCLUSIVE so that it can spill cache ** pages into the database file without harm to concurrent ** readers. ^If it is unable to promote the lock, then the in-memory ** cache will be left in an inconsistent state and so the error ** code is promoted from the relatively benign [SQLITE_BUSY] to ** the more severe [SQLITE_IOERR_BLOCKED]. ^This error code promotion ** forces an automatic rollback of the changes. See the ** ** CorruptionFollowingBusyError wiki page for a discussion of why ** this is important. ** ** ^(There can only be a single busy handler defined for each ** [database connection]. Setting a new busy handler clears any ** previously set handler.)^ ^Note that calling [sqlite3_busy_timeout()] ** will also set or clear the busy handler. ** ** The busy callback should not take any actions which modify the ** database connection that invoked the busy handler. Any such actions ** result in undefined behavior. ** ** A busy handler must not close the database connection ** or [prepared statement] that invoked the busy handler. */ SQLITE_API int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); /* ** CAPI3REF: Set A Busy Timeout ** ** ^This routine sets a [sqlite3_busy_handler | busy handler] that sleeps ** for a specified amount of time when a table is locked. ^The handler ** will sleep multiple times until at least "ms" milliseconds of sleeping ** have accumulated. ^After at least "ms" milliseconds of sleeping, ** the handler returns 0 which causes [sqlite3_step()] to return ** [SQLITE_BUSY] or [SQLITE_IOERR_BLOCKED]. ** ** ^Calling this routine with an argument less than or equal to zero ** turns off all busy handlers. ** ** ^(There can only be a single busy handler for a particular ** [database connection] any any given moment. If another busy handler ** was defined (using [sqlite3_busy_handler()]) prior to calling ** this routine, that other busy handler is cleared.)^ */ SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms); /* ** CAPI3REF: Convenience Routines For Running Queries ** ** This is a legacy interface that is preserved for backwards compatibility. ** Use of this interface is not recommended. ** ** Definition: A result table is memory data structure created by the ** [sqlite3_get_table()] interface. A result table records the ** complete query results from one or more queries. ** ** The table conceptually has a number of rows and columns. But ** these numbers are not part of the result table itself. These ** numbers are obtained separately. Let N be the number of rows ** and M be the number of columns. ** ** A result table is an array of pointers to zero-terminated UTF-8 strings. ** There are (N+1)*M elements in the array. The first M pointers point ** to zero-terminated strings that contain the names of the columns. ** The remaining entries all point to query results. NULL values result ** in NULL pointers. All other values are in their UTF-8 zero-terminated ** string representation as returned by [sqlite3_column_text()]. ** ** A result table might consist of one or more memory allocations. ** It is not safe to pass a result table directly to [sqlite3_free()]. ** A result table should be deallocated using [sqlite3_free_table()]. ** ** ^(As an example of the result table format, suppose a query result ** is as follows: ** **
**        Name        | Age
**        -----------------------
**        Alice       | 43
**        Bob         | 28
**        Cindy       | 21
** 
** ** There are two column (M==2) and three rows (N==3). Thus the ** result table has 8 entries. Suppose the result table is stored ** in an array names azResult. Then azResult holds this content: ** **
**        azResult[0] = "Name";
**        azResult[1] = "Age";
**        azResult[2] = "Alice";
**        azResult[3] = "43";
**        azResult[4] = "Bob";
**        azResult[5] = "28";
**        azResult[6] = "Cindy";
**        azResult[7] = "21";
** 
)^ ** ** ^The sqlite3_get_table() function evaluates one or more ** semicolon-separated SQL statements in the zero-terminated UTF-8 ** string of its 2nd parameter and returns a result table to the ** pointer given in its 3rd parameter. ** ** After the application has finished with the result from sqlite3_get_table(), ** it must pass the result table pointer to sqlite3_free_table() in order to ** release the memory that was malloced. Because of the way the ** [sqlite3_malloc()] happens within sqlite3_get_table(), the calling ** function must not try to call [sqlite3_free()] directly. Only ** [sqlite3_free_table()] is able to release the memory properly and safely. ** ** The sqlite3_get_table() interface is implemented as a wrapper around ** [sqlite3_exec()]. The sqlite3_get_table() routine does not have access ** to any internal data structures of SQLite. It uses only the public ** interface defined here. As a consequence, errors that occur in the ** wrapper layer outside of the internal [sqlite3_exec()] call are not ** reflected in subsequent calls to [sqlite3_errcode()] or ** [sqlite3_errmsg()]. */ SQLITE_API int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ int *pnRow, /* Number of result rows written here */ int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ ); SQLITE_API void sqlite3_free_table(char **result); /* ** CAPI3REF: Formatted String Printing Functions ** ** These routines are work-alikes of the "printf()" family of functions ** from the standard C library. ** ** ^The sqlite3_mprintf() and sqlite3_vmprintf() routines write their ** results into memory obtained from [sqlite3_malloc()]. ** The strings returned by these two routines should be ** released by [sqlite3_free()]. ^Both routines return a ** NULL pointer if [sqlite3_malloc()] is unable to allocate enough ** memory to hold the resulting string. ** ** ^(In sqlite3_snprintf() routine is similar to "snprintf()" from ** the standard C library. The result is written into the ** buffer supplied as the second parameter whose size is given by ** the first parameter. Note that the order of the ** first two parameters is reversed from snprintf().)^ This is an ** historical accident that cannot be fixed without breaking ** backwards compatibility. ^(Note also that sqlite3_snprintf() ** returns a pointer to its buffer instead of the number of ** characters actually written into the buffer.)^ We admit that ** the number of characters written would be a more useful return ** value but we cannot change the implementation of sqlite3_snprintf() ** now without breaking compatibility. ** ** ^As long as the buffer size is greater than zero, sqlite3_snprintf() ** guarantees that the buffer is always zero-terminated. ^The first ** parameter "n" is the total size of the buffer, including space for ** the zero terminator. So the longest string that can be completely ** written will be n-1 characters. ** ** These routines all implement some additional formatting ** options that are useful for constructing SQL statements. ** All of the usual printf() formatting options apply. In addition, there ** is are "%q", "%Q", and "%z" options. ** ** ^(The %q option works like %s in that it substitutes a null-terminated ** string from the argument list. But %q also doubles every '\'' character. ** %q is designed for use inside a string literal.)^ By doubling each '\'' ** character it escapes that character and allows it to be inserted into ** the string. ** ** For example, assume the string variable zText contains text as follows: ** **
**  char *zText = "It's a happy day!";
** 
** ** One can use this text in an SQL statement as follows: ** **
**  char *zSQL = sqlite3_mprintf("INSERT INTO table VALUES('%q')", zText);
**  sqlite3_exec(db, zSQL, 0, 0, 0);
**  sqlite3_free(zSQL);
** 
** ** Because the %q format string is used, the '\'' character in zText ** is escaped and the SQL generated is as follows: ** **
**  INSERT INTO table1 VALUES('It''s a happy day!')
** 
** ** This is correct. Had we used %s instead of %q, the generated SQL ** would have looked like this: ** **
**  INSERT INTO table1 VALUES('It's a happy day!');
** 
** ** This second example is an SQL syntax error. As a general rule you should ** always use %q instead of %s when inserting text into a string literal. ** ** ^(The %Q option works like %q except it also adds single quotes around ** the outside of the total string. Additionally, if the parameter in the ** argument list is a NULL pointer, %Q substitutes the text "NULL" (without ** single quotes).)^ So, for example, one could say: ** **
**  char *zSQL = sqlite3_mprintf("INSERT INTO table VALUES(%Q)", zText);
**  sqlite3_exec(db, zSQL, 0, 0, 0);
**  sqlite3_free(zSQL);
** 
** ** The code above will render a correct SQL statement in the zSQL ** variable even if the zText variable is a NULL pointer. ** ** ^(The "%z" formatting option works like "%s" but with the ** addition that after the string has been read and copied into ** the result, [sqlite3_free()] is called on the input string.)^ */ SQLITE_API char *sqlite3_mprintf(const char*,...); SQLITE_API char *sqlite3_vmprintf(const char*, va_list); SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...); /* ** CAPI3REF: Memory Allocation Subsystem ** ** The SQLite core uses these three routines for all of its own ** internal memory allocation needs. "Core" in the previous sentence ** does not include operating-system specific VFS implementation. The ** Windows VFS uses native malloc() and free() for some operations. ** ** ^The sqlite3_malloc() routine returns a pointer to a block ** of memory at least N bytes in length, where N is the parameter. ** ^If sqlite3_malloc() is unable to obtain sufficient free ** memory, it returns a NULL pointer. ^If the parameter N to ** sqlite3_malloc() is zero or negative then sqlite3_malloc() returns ** a NULL pointer. ** ** ^Calling sqlite3_free() with a pointer previously returned ** by sqlite3_malloc() or sqlite3_realloc() releases that memory so ** that it might be reused. ^The sqlite3_free() routine is ** a no-op if is called with a NULL pointer. Passing a NULL pointer ** to sqlite3_free() is harmless. After being freed, memory ** should neither be read nor written. Even reading previously freed ** memory might result in a segmentation fault or other severe error. ** Memory corruption, a segmentation fault, or other severe error ** might result if sqlite3_free() is called with a non-NULL pointer that ** was not obtained from sqlite3_malloc() or sqlite3_realloc(). ** ** ^(The sqlite3_realloc() interface attempts to resize a ** prior memory allocation to be at least N bytes, where N is the ** second parameter. The memory allocation to be resized is the first ** parameter.)^ ^ If the first parameter to sqlite3_realloc() ** is a NULL pointer then its behavior is identical to calling ** sqlite3_malloc(N) where N is the second parameter to sqlite3_realloc(). ** ^If the second parameter to sqlite3_realloc() is zero or ** negative then the behavior is exactly the same as calling ** sqlite3_free(P) where P is the first parameter to sqlite3_realloc(). ** ^sqlite3_realloc() returns a pointer to a memory allocation ** of at least N bytes in size or NULL if sufficient memory is unavailable. ** ^If M is the size of the prior allocation, then min(N,M) bytes ** of the prior allocation are copied into the beginning of buffer returned ** by sqlite3_realloc() and the prior allocation is freed. ** ^If sqlite3_realloc() returns NULL, then the prior allocation ** is not freed. ** ** ^The memory returned by sqlite3_malloc() and sqlite3_realloc() ** is always aligned to at least an 8 byte boundary, or to a ** 4 byte boundary if the [SQLITE_4_BYTE_ALIGNED_MALLOC] compile-time ** option is used. ** ** In SQLite version 3.5.0 and 3.5.1, it was possible to define ** the SQLITE_OMIT_MEMORY_ALLOCATION which would cause the built-in ** implementation of these routines to be omitted. That capability ** is no longer provided. Only built-in memory allocators can be used. ** ** The Windows OS interface layer calls ** the system malloc() and free() directly when converting ** filenames between the UTF-8 encoding used by SQLite ** and whatever filename encoding is used by the particular Windows ** installation. Memory allocation errors are detected, but ** they are reported back as [SQLITE_CANTOPEN] or ** [SQLITE_IOERR] rather than [SQLITE_NOMEM]. ** ** The pointer arguments to [sqlite3_free()] and [sqlite3_realloc()] ** must be either NULL or else pointers obtained from a prior ** invocation of [sqlite3_malloc()] or [sqlite3_realloc()] that have ** not yet been released. ** ** The application must not read or write any part of ** a block of memory after it has been released using ** [sqlite3_free()] or [sqlite3_realloc()]. */ SQLITE_API void *sqlite3_malloc(int); SQLITE_API void *sqlite3_realloc(void*, int); SQLITE_API void sqlite3_free(void*); /* ** CAPI3REF: Memory Allocator Statistics ** ** SQLite provides these two interfaces for reporting on the status ** of the [sqlite3_malloc()], [sqlite3_free()], and [sqlite3_realloc()] ** routines, which form the built-in memory allocation subsystem. ** ** ^The [sqlite3_memory_used()] routine returns the number of bytes ** of memory currently outstanding (malloced but not freed). ** ^The [sqlite3_memory_highwater()] routine returns the maximum ** value of [sqlite3_memory_used()] since the high-water mark ** was last reset. ^The values returned by [sqlite3_memory_used()] and ** [sqlite3_memory_highwater()] include any overhead ** added by SQLite in its implementation of [sqlite3_malloc()], ** but not overhead added by the any underlying system library ** routines that [sqlite3_malloc()] may call. ** ** ^The memory high-water mark is reset to the current value of ** [sqlite3_memory_used()] if and only if the parameter to ** [sqlite3_memory_highwater()] is true. ^The value returned ** by [sqlite3_memory_highwater(1)] is the high-water mark ** prior to the reset. */ SQLITE_API sqlite3_int64 sqlite3_memory_used(void); SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag); /* ** CAPI3REF: Pseudo-Random Number Generator ** ** SQLite contains a high-quality pseudo-random number generator (PRNG) used to ** select random [ROWID | ROWIDs] when inserting new records into a table that ** already uses the largest possible [ROWID]. The PRNG is also used for ** the build-in random() and randomblob() SQL functions. This interface allows ** applications to access the same PRNG for other purposes. ** ** ^A call to this routine stores N bytes of randomness into buffer P. ** ** ^The first time this routine is invoked (either internally or by ** the application) the PRNG is seeded using randomness obtained ** from the xRandomness method of the default [sqlite3_vfs] object. ** ^On all subsequent invocations, the pseudo-randomness is generated ** internally and without recourse to the [sqlite3_vfs] xRandomness ** method. */ SQLITE_API void sqlite3_randomness(int N, void *P); /* ** CAPI3REF: Compile-Time Authorization Callbacks ** ** ^This routine registers a authorizer callback with a particular ** [database connection], supplied in the first argument. ** ^The authorizer callback is invoked as SQL statements are being compiled ** by [sqlite3_prepare()] or its variants [sqlite3_prepare_v2()], ** [sqlite3_prepare16()] and [sqlite3_prepare16_v2()]. ^At various ** points during the compilation process, as logic is being created ** to perform various actions, the authorizer callback is invoked to ** see if those actions are allowed. ^The authorizer callback should ** return [SQLITE_OK] to allow the action, [SQLITE_IGNORE] to disallow the ** specific action but allow the SQL statement to continue to be ** compiled, or [SQLITE_DENY] to cause the entire SQL statement to be ** rejected with an error. ^If the authorizer callback returns ** any value other than [SQLITE_IGNORE], [SQLITE_OK], or [SQLITE_DENY] ** then the [sqlite3_prepare_v2()] or equivalent call that triggered ** the authorizer will fail with an error message. ** ** When the callback returns [SQLITE_OK], that means the operation ** requested is ok. ^When the callback returns [SQLITE_DENY], the ** [sqlite3_prepare_v2()] or equivalent call that triggered the ** authorizer will fail with an error message explaining that ** access is denied. ** ** ^The first parameter to the authorizer callback is a copy of the third ** parameter to the sqlite3_set_authorizer() interface. ^The second parameter ** to the callback is an integer [SQLITE_COPY | action code] that specifies ** the particular action to be authorized. ^The third through sixth parameters ** to the callback are zero-terminated strings that contain additional ** details about the action to be authorized. ** ** ^If the action code is [SQLITE_READ] ** and the callback returns [SQLITE_IGNORE] then the ** [prepared statement] statement is constructed to substitute ** a NULL value in place of the table column that would have ** been read if [SQLITE_OK] had been returned. The [SQLITE_IGNORE] ** return can be used to deny an untrusted user access to individual ** columns of a table. ** ^If the action code is [SQLITE_DELETE] and the callback returns ** [SQLITE_IGNORE] then the [DELETE] operation proceeds but the ** [truncate optimization] is disabled and all rows are deleted individually. ** ** An authorizer is used when [sqlite3_prepare | preparing] ** SQL statements from an untrusted source, to ensure that the SQL statements ** do not try to access data they are not allowed to see, or that they do not ** try to execute malicious statements that damage the database. For ** example, an application may allow a user to enter arbitrary ** SQL queries for evaluation by a database. But the application does ** not want the user to be able to make arbitrary changes to the ** database. An authorizer could then be put in place while the ** user-entered SQL is being [sqlite3_prepare | prepared] that ** disallows everything except [SELECT] statements. ** ** Applications that need to process SQL from untrusted sources ** might also consider lowering resource limits using [sqlite3_limit()] ** and limiting database size using the [max_page_count] [PRAGMA] ** in addition to using an authorizer. ** ** ^(Only a single authorizer can be in place on a database connection ** at a time. Each call to sqlite3_set_authorizer overrides the ** previous call.)^ ^Disable the authorizer by installing a NULL callback. ** The authorizer is disabled by default. ** ** The authorizer callback must not do anything that will modify ** the database connection that invoked the authorizer callback. ** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their ** database connections for the meaning of "modify" in this paragraph. ** ** ^When [sqlite3_prepare_v2()] is used to prepare a statement, the ** statement might be re-prepared during [sqlite3_step()] due to a ** schema change. Hence, the application should ensure that the ** correct authorizer callback remains in place during the [sqlite3_step()]. ** ** ^Note that the authorizer callback is invoked only during ** [sqlite3_prepare()] or its variants. Authorization is not ** performed during statement evaluation in [sqlite3_step()], unless ** as stated in the previous paragraph, sqlite3_step() invokes ** sqlite3_prepare_v2() to reprepare a statement after a schema change. */ SQLITE_API int sqlite3_set_authorizer( sqlite3*, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pUserData ); /* ** CAPI3REF: Authorizer Return Codes ** ** The [sqlite3_set_authorizer | authorizer callback function] must ** return either [SQLITE_OK] or one of these two constants in order ** to signal SQLite whether or not the action is permitted. See the ** [sqlite3_set_authorizer | authorizer documentation] for additional ** information. */ #define SQLITE_DENY 1 /* Abort the SQL statement with an error */ #define SQLITE_IGNORE 2 /* Don't allow access, but don't generate an error */ /* ** CAPI3REF: Authorizer Action Codes ** ** The [sqlite3_set_authorizer()] interface registers a callback function ** that is invoked to authorize certain SQL statement actions. The ** second parameter to the callback is an integer code that specifies ** what action is being authorized. These are the integer action codes that ** the authorizer callback may be passed. ** ** These action code values signify what kind of operation is to be ** authorized. The 3rd and 4th parameters to the authorization ** callback function will be parameters or NULL depending on which of these ** codes is used as the second parameter. ^(The 5th parameter to the ** authorizer callback is the name of the database ("main", "temp", ** etc.) if applicable.)^ ^The 6th parameter to the authorizer callback ** is the name of the inner-most trigger or view that is responsible for ** the access attempt or NULL if this access attempt is directly from ** top-level SQL code. */ /******************************************* 3rd ************ 4th ***********/ #define SQLITE_CREATE_INDEX 1 /* Index Name Table Name */ #define SQLITE_CREATE_TABLE 2 /* Table Name NULL */ #define SQLITE_CREATE_TEMP_INDEX 3 /* Index Name Table Name */ #define SQLITE_CREATE_TEMP_TABLE 4 /* Table Name NULL */ #define SQLITE_CREATE_TEMP_TRIGGER 5 /* Trigger Name Table Name */ #define SQLITE_CREATE_TEMP_VIEW 6 /* View Name NULL */ #define SQLITE_CREATE_TRIGGER 7 /* Trigger Name Table Name */ #define SQLITE_CREATE_VIEW 8 /* View Name NULL */ #define SQLITE_DELETE 9 /* Table Name NULL */ #define SQLITE_DROP_INDEX 10 /* Index Name Table Name */ #define SQLITE_DROP_TABLE 11 /* Table Name NULL */ #define SQLITE_DROP_TEMP_INDEX 12 /* Index Name Table Name */ #define SQLITE_DROP_TEMP_TABLE 13 /* Table Name NULL */ #define SQLITE_DROP_TEMP_TRIGGER 14 /* Trigger Name Table Name */ #define SQLITE_DROP_TEMP_VIEW 15 /* View Name NULL */ #define SQLITE_DROP_TRIGGER 16 /* Trigger Name Table Name */ #define SQLITE_DROP_VIEW 17 /* View Name NULL */ #define SQLITE_INSERT 18 /* Table Name NULL */ #define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */ #define SQLITE_READ 20 /* Table Name Column Name */ #define SQLITE_SELECT 21 /* NULL NULL */ #define SQLITE_TRANSACTION 22 /* Operation NULL */ #define SQLITE_UPDATE 23 /* Table Name Column Name */ #define SQLITE_ATTACH 24 /* Filename NULL */ #define SQLITE_DETACH 25 /* Database Name NULL */ #define SQLITE_ALTER_TABLE 26 /* Database Name Table Name */ #define SQLITE_REINDEX 27 /* Index Name NULL */ #define SQLITE_ANALYZE 28 /* Table Name NULL */ #define SQLITE_CREATE_VTABLE 29 /* Table Name Module Name */ #define SQLITE_DROP_VTABLE 30 /* Table Name Module Name */ #define SQLITE_FUNCTION 31 /* NULL Function Name */ #define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */ #define SQLITE_COPY 0 /* No longer used */ /* ** CAPI3REF: Tracing And Profiling Functions ** ** These routines register callback functions that can be used for ** tracing and profiling the execution of SQL statements. ** ** ^The callback function registered by sqlite3_trace() is invoked at ** various times when an SQL statement is being run by [sqlite3_step()]. ** ^The sqlite3_trace() callback is invoked with a UTF-8 rendering of the ** SQL statement text as the statement first begins executing. ** ^(Additional sqlite3_trace() callbacks might occur ** as each triggered subprogram is entered. The callbacks for triggers ** contain a UTF-8 SQL comment that identifies the trigger.)^ ** ** ^The callback function registered by sqlite3_profile() is invoked ** as each SQL statement finishes. ^The profile callback contains ** the original statement text and an estimate of wall-clock time ** of how long that statement took to run. ^The profile callback ** time is in units of nanoseconds, however the current implementation ** is only capable of millisecond resolution so the six least significant ** digits in the time are meaningless. Future versions of SQLite ** might provide greater resolution on the profiler callback. The ** sqlite3_profile() function is considered experimental and is ** subject to change in future versions of SQLite. */ SQLITE_API void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*, void(*xProfile)(void*,const char*,sqlite3_uint64), void*); /* ** CAPI3REF: Query Progress Callbacks ** ** ^The sqlite3_progress_handler(D,N,X,P) interface causes the callback ** function X to be invoked periodically during long running calls to ** [sqlite3_exec()], [sqlite3_step()] and [sqlite3_get_table()] for ** database connection D. An example use for this ** interface is to keep a GUI updated during a large query. ** ** ^The parameter P is passed through as the only parameter to the ** callback function X. ^The parameter N is the number of ** [virtual machine instructions] that are evaluated between successive ** invocations of the callback X. ** ** ^Only a single progress handler may be defined at one time per ** [database connection]; setting a new progress handler cancels the ** old one. ^Setting parameter X to NULL disables the progress handler. ** ^The progress handler is also disabled by setting N to a value less ** than 1. ** ** ^If the progress callback returns non-zero, the operation is ** interrupted. This feature can be used to implement a ** "Cancel" button on a GUI progress dialog box. ** ** The progress handler callback must not do anything that will modify ** the database connection that invoked the progress handler. ** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their ** database connections for the meaning of "modify" in this paragraph. ** */ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); /* ** CAPI3REF: Opening A New Database Connection ** ** ^These routines open an SQLite database file whose name is given by the ** filename argument. ^The filename argument is interpreted as UTF-8 for ** sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte ** order for sqlite3_open16(). ^(A [database connection] handle is usually ** returned in *ppDb, even if an error occurs. The only exception is that ** if SQLite is unable to allocate memory to hold the [sqlite3] object, ** a NULL will be written into *ppDb instead of a pointer to the [sqlite3] ** object.)^ ^(If the database is opened (and/or created) successfully, then ** [SQLITE_OK] is returned. Otherwise an [error code] is returned.)^ ^The ** [sqlite3_errmsg()] or [sqlite3_errmsg16()] routines can be used to obtain ** an English language description of the error following a failure of any ** of the sqlite3_open() routines. ** ** ^The default encoding for the database will be UTF-8 if ** sqlite3_open() or sqlite3_open_v2() is called and ** UTF-16 in the native byte order if sqlite3_open16() is used. ** ** Whether or not an error occurs when it is opened, resources ** associated with the [database connection] handle should be released by ** passing it to [sqlite3_close()] when it is no longer required. ** ** The sqlite3_open_v2() interface works like sqlite3_open() ** except that it accepts two additional parameters for additional control ** over the new database connection. ^(The flags parameter to ** sqlite3_open_v2() can take one of ** the following three values, optionally combined with the ** [SQLITE_OPEN_NOMUTEX], [SQLITE_OPEN_FULLMUTEX], [SQLITE_OPEN_SHAREDCACHE], ** and/or [SQLITE_OPEN_PRIVATECACHE] flags:)^ ** **
** ^(
[SQLITE_OPEN_READONLY]
**
The database is opened in read-only mode. If the database does not ** already exist, an error is returned.
)^ ** ** ^(
[SQLITE_OPEN_READWRITE]
**
The database is opened for reading and writing if possible, or reading ** only if the file is write protected by the operating system. In either ** case the database must already exist, otherwise an error is returned.
)^ ** ** ^(
[SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]
**
The database is opened for reading and writing, and is creates it if ** it does not already exist. This is the behavior that is always used for ** sqlite3_open() and sqlite3_open16().
)^ **
** ** If the 3rd parameter to sqlite3_open_v2() is not one of the ** combinations shown above or one of the combinations shown above combined ** with the [SQLITE_OPEN_NOMUTEX], [SQLITE_OPEN_FULLMUTEX], ** [SQLITE_OPEN_SHAREDCACHE] and/or [SQLITE_OPEN_PRIVATECACHE] flags, ** then the behavior is undefined. ** ** ^If the [SQLITE_OPEN_NOMUTEX] flag is set, then the database connection ** opens in the multi-thread [threading mode] as long as the single-thread ** mode has not been set at compile-time or start-time. ^If the ** [SQLITE_OPEN_FULLMUTEX] flag is set then the database connection opens ** in the serialized [threading mode] unless single-thread was ** previously selected at compile-time or start-time. ** ^The [SQLITE_OPEN_SHAREDCACHE] flag causes the database connection to be ** eligible to use [shared cache mode], regardless of whether or not shared ** cache is enabled using [sqlite3_enable_shared_cache()]. ^The ** [SQLITE_OPEN_PRIVATECACHE] flag causes the database connection to not ** participate in [shared cache mode] even if it is enabled. ** ** ^If the filename is ":memory:", then a private, temporary in-memory database ** is created for the connection. ^This in-memory database will vanish when ** the database connection is closed. Future versions of SQLite might ** make use of additional special filenames that begin with the ":" character. ** It is recommended that when a database filename actually does begin with ** a ":" character you should prefix the filename with a pathname such as ** "./" to avoid ambiguity. ** ** ^If the filename is an empty string, then a private, temporary ** on-disk database will be created. ^This private database will be ** automatically deleted as soon as the database connection is closed. ** ** ^The fourth parameter to sqlite3_open_v2() is the name of the ** [sqlite3_vfs] object that defines the operating system interface that ** the new database connection should use. ^If the fourth parameter is ** a NULL pointer then the default [sqlite3_vfs] object is used. ** ** Note to Windows users: The encoding used for the filename argument ** of sqlite3_open() and sqlite3_open_v2() must be UTF-8, not whatever ** codepage is currently defined. Filenames containing international ** characters must be converted to UTF-8 prior to passing them into ** sqlite3_open() or sqlite3_open_v2(). */ SQLITE_API int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); SQLITE_API int sqlite3_open16( const void *filename, /* Database filename (UTF-16) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); SQLITE_API int sqlite3_open_v2( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ const char *zVfs /* Name of VFS module to use */ ); /* ** CAPI3REF: Error Codes And Messages ** ** ^The sqlite3_errcode() interface returns the numeric [result code] or ** [extended result code] for the most recent failed sqlite3_* API call ** associated with a [database connection]. If a prior API call failed ** but the most recent API call succeeded, the return value from ** sqlite3_errcode() is undefined. ^The sqlite3_extended_errcode() ** interface is the same except that it always returns the ** [extended result code] even when extended result codes are ** disabled. ** ** ^The sqlite3_errmsg() and sqlite3_errmsg16() return English-language ** text that describes the error, as either UTF-8 or UTF-16 respectively. ** ^(Memory to hold the error message string is managed internally. ** The application does not need to worry about freeing the result. ** However, the error string might be overwritten or deallocated by ** subsequent calls to other SQLite interface functions.)^ ** ** When the serialized [threading mode] is in use, it might be the ** case that a second error occurs on a separate thread in between ** the time of the first error and the call to these interfaces. ** When that happens, the second error will be reported since these ** interfaces always report the most recent result. To avoid ** this, each thread can obtain exclusive use of the [database connection] D ** by invoking [sqlite3_mutex_enter]([sqlite3_db_mutex](D)) before beginning ** to use D and invoking [sqlite3_mutex_leave]([sqlite3_db_mutex](D)) after ** all calls to the interfaces listed here are completed. ** ** If an interface fails with SQLITE_MISUSE, that means the interface ** was invoked incorrectly by the application. In that case, the ** error code and message may or may not be set. */ SQLITE_API int sqlite3_errcode(sqlite3 *db); SQLITE_API int sqlite3_extended_errcode(sqlite3 *db); SQLITE_API const char *sqlite3_errmsg(sqlite3*); SQLITE_API const void *sqlite3_errmsg16(sqlite3*); /* ** CAPI3REF: SQL Statement Object ** KEYWORDS: {prepared statement} {prepared statements} ** ** An instance of this object represents a single SQL statement. ** This object is variously known as a "prepared statement" or a ** "compiled SQL statement" or simply as a "statement". ** ** The life of a statement object goes something like this: ** **
    **
  1. Create the object using [sqlite3_prepare_v2()] or a related ** function. **
  2. Bind values to [host parameters] using the sqlite3_bind_*() ** interfaces. **
  3. Run the SQL by calling [sqlite3_step()] one or more times. **
  4. Reset the statement using [sqlite3_reset()] then go back ** to step 2. Do this zero or more times. **
  5. Destroy the object using [sqlite3_finalize()]. **
** ** Refer to documentation on individual methods above for additional ** information. */ typedef struct sqlite3_stmt sqlite3_stmt; /* ** CAPI3REF: Run-time Limits ** ** ^(This interface allows the size of various constructs to be limited ** on a connection by connection basis. The first parameter is the ** [database connection] whose limit is to be set or queried. The ** second parameter is one of the [limit categories] that define a ** class of constructs to be size limited. The third parameter is the ** new limit for that construct.)^ ** ** ^If the new limit is a negative number, the limit is unchanged. ** ^(For each limit category SQLITE_LIMIT_NAME there is a ** [limits | hard upper bound] ** set at compile-time by a C preprocessor macro called ** [limits | SQLITE_MAX_NAME]. ** (The "_LIMIT_" in the name is changed to "_MAX_".))^ ** ^Attempts to increase a limit above its hard upper bound are ** silently truncated to the hard upper bound. ** ** ^Regardless of whether or not the limit was changed, the ** [sqlite3_limit()] interface returns the prior value of the limit. ** ^Hence, to find the current value of a limit without changing it, ** simply invoke this interface with the third parameter set to -1. ** ** Run-time limits are intended for use in applications that manage ** both their own internal database and also databases that are controlled ** by untrusted external sources. An example application might be a ** web browser that has its own databases for storing history and ** separate databases controlled by JavaScript applications downloaded ** off the Internet. The internal databases can be given the ** large, default limits. Databases managed by external sources can ** be given much smaller limits designed to prevent a denial of service ** attack. Developers might also want to use the [sqlite3_set_authorizer()] ** interface to further control untrusted SQL. The size of the database ** created by an untrusted script can be contained using the ** [max_page_count] [PRAGMA]. ** ** New run-time limit categories may be added in future releases. */ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); /* ** CAPI3REF: Run-Time Limit Categories ** KEYWORDS: {limit category} {*limit categories} ** ** These constants define various performance limits ** that can be lowered at run-time using [sqlite3_limit()]. ** The synopsis of the meanings of the various limits is shown below. ** Additional information is available at [limits | Limits in SQLite]. ** **
** ^(
SQLITE_LIMIT_LENGTH
**
The maximum size of any string or BLOB or table row, in bytes.
)^ ** ** ^(
SQLITE_LIMIT_SQL_LENGTH
**
The maximum length of an SQL statement, in bytes.
)^ ** ** ^(
SQLITE_LIMIT_COLUMN
**
The maximum number of columns in a table definition or in the ** result set of a [SELECT] or the maximum number of columns in an index ** or in an ORDER BY or GROUP BY clause.
)^ ** ** ^(
SQLITE_LIMIT_EXPR_DEPTH
**
The maximum depth of the parse tree on any expression.
)^ ** ** ^(
SQLITE_LIMIT_COMPOUND_SELECT
**
The maximum number of terms in a compound SELECT statement.
)^ ** ** ^(
SQLITE_LIMIT_VDBE_OP
**
The maximum number of instructions in a virtual machine program ** used to implement an SQL statement. This limit is not currently ** enforced, though that might be added in some future release of ** SQLite.
)^ ** ** ^(
SQLITE_LIMIT_FUNCTION_ARG
**
The maximum number of arguments on a function.
)^ ** ** ^(
SQLITE_LIMIT_ATTACHED
**
The maximum number of [ATTACH | attached databases].)^
** ** ^(
SQLITE_LIMIT_LIKE_PATTERN_LENGTH
**
The maximum length of the pattern argument to the [LIKE] or ** [GLOB] operators.
)^ ** ** ^(
SQLITE_LIMIT_VARIABLE_NUMBER
**
The maximum index number of any [parameter] in an SQL statement.)^ ** ** ^(
SQLITE_LIMIT_TRIGGER_DEPTH
**
The maximum depth of recursion for triggers.
)^ **
*/ #define SQLITE_LIMIT_LENGTH 0 #define SQLITE_LIMIT_SQL_LENGTH 1 #define SQLITE_LIMIT_COLUMN 2 #define SQLITE_LIMIT_EXPR_DEPTH 3 #define SQLITE_LIMIT_COMPOUND_SELECT 4 #define SQLITE_LIMIT_VDBE_OP 5 #define SQLITE_LIMIT_FUNCTION_ARG 6 #define SQLITE_LIMIT_ATTACHED 7 #define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 #define SQLITE_LIMIT_VARIABLE_NUMBER 9 #define SQLITE_LIMIT_TRIGGER_DEPTH 10 /* ** CAPI3REF: Compiling An SQL Statement ** KEYWORDS: {SQL statement compiler} ** ** To execute an SQL query, it must first be compiled into a byte-code ** program using one of these routines. ** ** The first argument, "db", is a [database connection] obtained from a ** prior successful call to [sqlite3_open()], [sqlite3_open_v2()] or ** [sqlite3_open16()]. The database connection must not have been closed. ** ** The second argument, "zSql", is the statement to be compiled, encoded ** as either UTF-8 or UTF-16. The sqlite3_prepare() and sqlite3_prepare_v2() ** interfaces use UTF-8, and sqlite3_prepare16() and sqlite3_prepare16_v2() ** use UTF-16. ** ** ^If the nByte argument is less than zero, then zSql is read up to the ** first zero terminator. ^If nByte is non-negative, then it is the maximum ** number of bytes read from zSql. ^When nByte is non-negative, the ** zSql string ends at either the first '\000' or '\u0000' character or ** the nByte-th byte, whichever comes first. If the caller knows ** that the supplied string is nul-terminated, then there is a small ** performance advantage to be gained by passing an nByte parameter that ** is equal to the number of bytes in the input string including ** the nul-terminator bytes. ** ** ^If pzTail is not NULL then *pzTail is made to point to the first byte ** past the end of the first SQL statement in zSql. These routines only ** compile the first statement in zSql, so *pzTail is left pointing to ** what remains uncompiled. ** ** ^*ppStmt is left pointing to a compiled [prepared statement] that can be ** executed using [sqlite3_step()]. ^If there is an error, *ppStmt is set ** to NULL. ^If the input text contains no SQL (if the input is an empty ** string or a comment) then *ppStmt is set to NULL. ** The calling procedure is responsible for deleting the compiled ** SQL statement using [sqlite3_finalize()] after it has finished with it. ** ppStmt may not be NULL. ** ** ^On success, the sqlite3_prepare() family of routines return [SQLITE_OK]; ** otherwise an [error code] is returned. ** ** The sqlite3_prepare_v2() and sqlite3_prepare16_v2() interfaces are ** recommended for all new programs. The two older interfaces are retained ** for backwards compatibility, but their use is discouraged. ** ^In the "v2" interfaces, the prepared statement ** that is returned (the [sqlite3_stmt] object) contains a copy of the ** original SQL text. This causes the [sqlite3_step()] interface to ** behave differently in three ways: ** **
    **
  1. ** ^If the database schema changes, instead of returning [SQLITE_SCHEMA] as it ** always used to do, [sqlite3_step()] will automatically recompile the SQL ** statement and try to run it again. **
  2. ** **
  3. ** ^When an error occurs, [sqlite3_step()] will return one of the detailed ** [error codes] or [extended error codes]. ^The legacy behavior was that ** [sqlite3_step()] would only return a generic [SQLITE_ERROR] result code ** and the application would have to make a second call to [sqlite3_reset()] ** in order to find the underlying cause of the problem. With the "v2" prepare ** interfaces, the underlying reason for the error is returned immediately. **
  4. ** **
  5. ** ^If the specific value bound to [parameter | host parameter] in the ** WHERE clause might influence the choice of query plan for a statement, ** then the statement will be automatically recompiled, as if there had been ** a schema change, on the first [sqlite3_step()] call following any change ** to the [sqlite3_bind_text | bindings] of that [parameter]. ** ^The specific value of WHERE-clause [parameter] might influence the ** choice of query plan if the parameter is the left-hand side of a [LIKE] ** or [GLOB] operator or if the parameter is compared to an indexed column ** and the [SQLITE_ENABLE_STAT2] compile-time option is enabled. ** the **
  6. **
*/ SQLITE_API int sqlite3_prepare( sqlite3 *db, /* Database handle */ const char *zSql, /* SQL statement, UTF-8 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const char **pzTail /* OUT: Pointer to unused portion of zSql */ ); SQLITE_API int sqlite3_prepare_v2( sqlite3 *db, /* Database handle */ const char *zSql, /* SQL statement, UTF-8 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const char **pzTail /* OUT: Pointer to unused portion of zSql */ ); SQLITE_API int sqlite3_prepare16( sqlite3 *db, /* Database handle */ const void *zSql, /* SQL statement, UTF-16 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const void **pzTail /* OUT: Pointer to unused portion of zSql */ ); SQLITE_API int sqlite3_prepare16_v2( sqlite3 *db, /* Database handle */ const void *zSql, /* SQL statement, UTF-16 encoded */ int nByte, /* Maximum length of zSql in bytes. */ sqlite3_stmt **ppStmt, /* OUT: Statement handle */ const void **pzTail /* OUT: Pointer to unused portion of zSql */ ); /* ** CAPI3REF: Retrieving Statement SQL ** ** ^This interface can be used to retrieve a saved copy of the original ** SQL text used to create a [prepared statement] if that statement was ** compiled using either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. */ SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); /* ** CAPI3REF: Determine If An SQL Statement Writes The Database ** ** ^The sqlite3_stmt_readonly(X) interface returns true (non-zero) if ** the [prepared statement] X is [SELECT] statement and false (zero) if ** X is an [INSERT], [UPDATE], [DELETE], CREATE, DROP, [ANALYZE], ** [ALTER], or [REINDEX] statement. ** If X is a NULL pointer or any other kind of statement, including but ** not limited to [ATTACH], [DETACH], [COMMIT], [ROLLBACK], [RELEASE], ** [SAVEPOINT], [PRAGMA], or [VACUUM] the result of sqlite3_stmt_readonly(X) is ** undefined. */ SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); /* ** CAPI3REF: Dynamically Typed Value Object ** KEYWORDS: {protected sqlite3_value} {unprotected sqlite3_value} ** ** SQLite uses the sqlite3_value object to represent all values ** that can be stored in a database table. SQLite uses dynamic typing ** for the values it stores. ^Values stored in sqlite3_value objects ** can be integers, floating point values, strings, BLOBs, or NULL. ** ** An sqlite3_value object may be either "protected" or "unprotected". ** Some interfaces require a protected sqlite3_value. Other interfaces ** will accept either a protected or an unprotected sqlite3_value. ** Every interface that accepts sqlite3_value arguments specifies ** whether or not it requires a protected sqlite3_value. ** ** The terms "protected" and "unprotected" refer to whether or not ** a mutex is held. A internal mutex is held for a protected ** sqlite3_value object but no mutex is held for an unprotected ** sqlite3_value object. If SQLite is compiled to be single-threaded ** (with [SQLITE_THREADSAFE=0] and with [sqlite3_threadsafe()] returning 0) ** or if SQLite is run in one of reduced mutex modes ** [SQLITE_CONFIG_SINGLETHREAD] or [SQLITE_CONFIG_MULTITHREAD] ** then there is no distinction between protected and unprotected ** sqlite3_value objects and they can be used interchangeably. However, ** for maximum code portability it is recommended that applications ** still make the distinction between protected and unprotected ** sqlite3_value objects even when not strictly required. ** ** ^The sqlite3_value objects that are passed as parameters into the ** implementation of [application-defined SQL functions] are protected. ** ^The sqlite3_value object returned by ** [sqlite3_column_value()] is unprotected. ** Unprotected sqlite3_value objects may only be used with ** [sqlite3_result_value()] and [sqlite3_bind_value()]. ** The [sqlite3_value_blob | sqlite3_value_type()] family of ** interfaces require protected sqlite3_value objects. */ typedef struct Mem sqlite3_value; /* ** CAPI3REF: SQL Function Context Object ** ** The context in which an SQL function executes is stored in an ** sqlite3_context object. ^A pointer to an sqlite3_context object ** is always first parameter to [application-defined SQL functions]. ** The application-defined SQL function implementation will pass this ** pointer through into calls to [sqlite3_result_int | sqlite3_result()], ** [sqlite3_aggregate_context()], [sqlite3_user_data()], ** [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], ** and/or [sqlite3_set_auxdata()]. */ typedef struct sqlite3_context sqlite3_context; /* ** CAPI3REF: Binding Values To Prepared Statements ** KEYWORDS: {host parameter} {host parameters} {host parameter name} ** KEYWORDS: {SQL parameter} {SQL parameters} {parameter binding} ** ** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants, ** literals may be replaced by a [parameter] that matches one of following ** templates: ** **
    **
  • ? **
  • ?NNN **
  • :VVV **
  • @VVV **
  • $VVV **
** ** In the templates above, NNN represents an integer literal, ** and VVV represents an alphanumeric identifier.)^ ^The values of these ** parameters (also called "host parameter names" or "SQL parameters") ** can be set using the sqlite3_bind_*() routines defined here. ** ** ^The first argument to the sqlite3_bind_*() routines is always ** a pointer to the [sqlite3_stmt] object returned from ** [sqlite3_prepare_v2()] or its variants. ** ** ^The second argument is the index of the SQL parameter to be set. ** ^The leftmost SQL parameter has an index of 1. ^When the same named ** SQL parameter is used more than once, second and subsequent ** occurrences have the same index as the first occurrence. ** ^The index for named parameters can be looked up using the ** [sqlite3_bind_parameter_index()] API if desired. ^The index ** for "?NNN" parameters is the value of NNN. ** ^The NNN value must be between 1 and the [sqlite3_limit()] ** parameter [SQLITE_LIMIT_VARIABLE_NUMBER] (default value: 999). ** ** ^The third argument is the value to bind to the parameter. ** ** ^(In those routines that have a fourth argument, its value is the ** number of bytes in the parameter. To be clear: the value is the ** number of bytes in the value, not the number of characters.)^ ** ^If the fourth parameter is negative, the length of the string is ** the number of bytes up to the first zero terminator. ** ** ^The fifth argument to sqlite3_bind_blob(), sqlite3_bind_text(), and ** sqlite3_bind_text16() is a destructor used to dispose of the BLOB or ** string after SQLite has finished with it. ^The destructor is called ** to dispose of the BLOB or string even if the call to sqlite3_bind_blob(), ** sqlite3_bind_text(), or sqlite3_bind_text16() fails. ** ^If the fifth argument is ** the special value [SQLITE_STATIC], then SQLite assumes that the ** information is in static, unmanaged space and does not need to be freed. ** ^If the fifth argument has the value [SQLITE_TRANSIENT], then ** SQLite makes its own private copy of the data immediately, before ** the sqlite3_bind_*() routine returns. ** ** ^The sqlite3_bind_zeroblob() routine binds a BLOB of length N that ** is filled with zeroes. ^A zeroblob uses a fixed amount of memory ** (just an integer to hold its size) while it is being processed. ** Zeroblobs are intended to serve as placeholders for BLOBs whose ** content is later written using ** [sqlite3_blob_open | incremental BLOB I/O] routines. ** ^A negative value for the zeroblob results in a zero-length BLOB. ** ** ^If any of the sqlite3_bind_*() routines are called with a NULL pointer ** for the [prepared statement] or with a prepared statement for which ** [sqlite3_step()] has been called more recently than [sqlite3_reset()], ** then the call will return [SQLITE_MISUSE]. If any sqlite3_bind_() ** routine is passed a [prepared statement] that has been finalized, the ** result is undefined and probably harmful. ** ** ^Bindings are not cleared by the [sqlite3_reset()] routine. ** ^Unbound parameters are interpreted as NULL. ** ** ^The sqlite3_bind_* routines return [SQLITE_OK] on success or an ** [error code] if anything goes wrong. ** ^[SQLITE_RANGE] is returned if the parameter ** index is out of range. ^[SQLITE_NOMEM] is returned if malloc() fails. ** ** See also: [sqlite3_bind_parameter_count()], ** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. */ SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); SQLITE_API int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*)); SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); /* ** CAPI3REF: Number Of SQL Parameters ** ** ^This routine can be used to find the number of [SQL parameters] ** in a [prepared statement]. SQL parameters are tokens of the ** form "?", "?NNN", ":AAA", "$AAA", or "@AAA" that serve as ** placeholders for values that are [sqlite3_bind_blob | bound] ** to the parameters at a later time. ** ** ^(This routine actually returns the index of the largest (rightmost) ** parameter. For all forms except ?NNN, this will correspond to the ** number of unique parameters. If parameters of the ?NNN form are used, ** there may be gaps in the list.)^ ** ** See also: [sqlite3_bind_blob|sqlite3_bind()], ** [sqlite3_bind_parameter_name()], and ** [sqlite3_bind_parameter_index()]. */ SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); /* ** CAPI3REF: Name Of A Host Parameter ** ** ^The sqlite3_bind_parameter_name(P,N) interface returns ** the name of the N-th [SQL parameter] in the [prepared statement] P. ** ^(SQL parameters of the form "?NNN" or ":AAA" or "@AAA" or "$AAA" ** have a name which is the string "?NNN" or ":AAA" or "@AAA" or "$AAA" ** respectively. ** In other words, the initial ":" or "$" or "@" or "?" ** is included as part of the name.)^ ** ^Parameters of the form "?" without a following integer have no name ** and are referred to as "nameless" or "anonymous parameters". ** ** ^The first host parameter has an index of 1, not 0. ** ** ^If the value N is out of range or if the N-th parameter is ** nameless, then NULL is returned. ^The returned string is ** always in UTF-8 encoding even if the named parameter was ** originally specified as UTF-16 in [sqlite3_prepare16()] or ** [sqlite3_prepare16_v2()]. ** ** See also: [sqlite3_bind_blob|sqlite3_bind()], ** [sqlite3_bind_parameter_count()], and ** [sqlite3_bind_parameter_index()]. */ SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); /* ** CAPI3REF: Index Of A Parameter With A Given Name ** ** ^Return the index of an SQL parameter given its name. ^The ** index value returned is suitable for use as the second ** parameter to [sqlite3_bind_blob|sqlite3_bind()]. ^A zero ** is returned if no matching parameter is found. ^The parameter ** name must be given in UTF-8 even if the original statement ** was prepared from UTF-16 text using [sqlite3_prepare16_v2()]. ** ** See also: [sqlite3_bind_blob|sqlite3_bind()], ** [sqlite3_bind_parameter_count()], and ** [sqlite3_bind_parameter_index()]. */ SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); /* ** CAPI3REF: Reset All Bindings On A Prepared Statement ** ** ^Contrary to the intuition of many, [sqlite3_reset()] does not reset ** the [sqlite3_bind_blob | bindings] on a [prepared statement]. ** ^Use this routine to reset all host parameters to NULL. */ SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); /* ** CAPI3REF: Number Of Columns In A Result Set ** ** ^Return the number of columns in the result set returned by the ** [prepared statement]. ^This routine returns 0 if pStmt is an SQL ** statement that does not return data (for example an [UPDATE]). ** ** See also: [sqlite3_data_count()] */ SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt); /* ** CAPI3REF: Column Names In A Result Set ** ** ^These routines return the name assigned to a particular column ** in the result set of a [SELECT] statement. ^The sqlite3_column_name() ** interface returns a pointer to a zero-terminated UTF-8 string ** and sqlite3_column_name16() returns a pointer to a zero-terminated ** UTF-16 string. ^The first parameter is the [prepared statement] ** that implements the [SELECT] statement. ^The second parameter is the ** column number. ^The leftmost column is number 0. ** ** ^The returned string pointer is valid until either the [prepared statement] ** is destroyed by [sqlite3_finalize()] or until the next call to ** sqlite3_column_name() or sqlite3_column_name16() on the same column. ** ** ^If sqlite3_malloc() fails during the processing of either routine ** (for example during a conversion from UTF-8 to UTF-16) then a ** NULL pointer is returned. ** ** ^The name of a result column is the value of the "AS" clause for ** that column, if there is an AS clause. If there is no AS clause ** then the name of the column is unspecified and may change from ** one release of SQLite to the next. */ SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N); SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N); /* ** CAPI3REF: Source Of Data In A Query Result ** ** ^These routines provide a means to determine the database, table, and ** table column that is the origin of a particular result column in ** [SELECT] statement. ** ^The name of the database or table or column can be returned as ** either a UTF-8 or UTF-16 string. ^The _database_ routines return ** the database name, the _table_ routines return the table name, and ** the origin_ routines return the column name. ** ^The returned string is valid until the [prepared statement] is destroyed ** using [sqlite3_finalize()] or until the same information is requested ** again in a different encoding. ** ** ^The names returned are the original un-aliased names of the ** database, table, and column. ** ** ^The first argument to these interfaces is a [prepared statement]. ** ^These functions return information about the Nth result column returned by ** the statement, where N is the second function argument. ** ^The left-most column is column 0 for these routines. ** ** ^If the Nth column returned by the statement is an expression or ** subquery and is not a column value, then all of these functions return ** NULL. ^These routine might also return NULL if a memory allocation error ** occurs. ^Otherwise, they return the name of the attached database, table, ** or column that query result column was extracted from. ** ** ^As with all other SQLite APIs, those whose names end with "16" return ** UTF-16 encoded strings and the other functions return UTF-8. ** ** ^These APIs are only available if the library was compiled with the ** [SQLITE_ENABLE_COLUMN_METADATA] C-preprocessor symbol. ** ** If two or more threads call one or more of these routines against the same ** prepared statement and column at the same time then the results are ** undefined. ** ** If two or more threads call one or more ** [sqlite3_column_database_name | column metadata interfaces] ** for the same [prepared statement] and result column ** at the same time then the results are undefined. */ SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int); SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int); SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int); SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int); SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int); SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); /* ** CAPI3REF: Declared Datatype Of A Query Result ** ** ^(The first parameter is a [prepared statement]. ** If this statement is a [SELECT] statement and the Nth column of the ** returned result set of that [SELECT] is a table column (not an ** expression or subquery) then the declared type of the table ** column is returned.)^ ^If the Nth column of the result set is an ** expression or subquery, then a NULL pointer is returned. ** ^The returned string is always UTF-8 encoded. ** ** ^(For example, given the database schema: ** ** CREATE TABLE t1(c1 VARIANT); ** ** and the following statement to be compiled: ** ** SELECT c1 + 1, c1 FROM t1; ** ** this routine would return the string "VARIANT" for the second result ** column (i==1), and a NULL pointer for the first result column (i==0).)^ ** ** ^SQLite uses dynamic run-time typing. ^So just because a column ** is declared to contain a particular type does not mean that the ** data stored in that column is of the declared type. SQLite is ** strongly typed, but the typing is dynamic not static. ^Type ** is associated with individual values, not with the containers ** used to hold those values. */ SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int); SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); /* ** CAPI3REF: Evaluate An SQL Statement ** ** After a [prepared statement] has been prepared using either ** [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()] or one of the legacy ** interfaces [sqlite3_prepare()] or [sqlite3_prepare16()], this function ** must be called one or more times to evaluate the statement. ** ** The details of the behavior of the sqlite3_step() interface depend ** on whether the statement was prepared using the newer "v2" interface ** [sqlite3_prepare_v2()] and [sqlite3_prepare16_v2()] or the older legacy ** interface [sqlite3_prepare()] and [sqlite3_prepare16()]. The use of the ** new "v2" interface is recommended for new applications but the legacy ** interface will continue to be supported. ** ** ^In the legacy interface, the return value will be either [SQLITE_BUSY], ** [SQLITE_DONE], [SQLITE_ROW], [SQLITE_ERROR], or [SQLITE_MISUSE]. ** ^With the "v2" interface, any of the other [result codes] or ** [extended result codes] might be returned as well. ** ** ^[SQLITE_BUSY] means that the database engine was unable to acquire the ** database locks it needs to do its job. ^If the statement is a [COMMIT] ** or occurs outside of an explicit transaction, then you can retry the ** statement. If the statement is not a [COMMIT] and occurs within a ** explicit transaction then you should rollback the transaction before ** continuing. ** ** ^[SQLITE_DONE] means that the statement has finished executing ** successfully. sqlite3_step() should not be called again on this virtual ** machine without first calling [sqlite3_reset()] to reset the virtual ** machine back to its initial state. ** ** ^If the SQL statement being executed returns any data, then [SQLITE_ROW] ** is returned each time a new row of data is ready for processing by the ** caller. The values may be accessed using the [column access functions]. ** sqlite3_step() is called again to retrieve the next row of data. ** ** ^[SQLITE_ERROR] means that a run-time error (such as a constraint ** violation) has occurred. sqlite3_step() should not be called again on ** the VM. More information may be found by calling [sqlite3_errmsg()]. ** ^With the legacy interface, a more specific error code (for example, ** [SQLITE_INTERRUPT], [SQLITE_SCHEMA], [SQLITE_CORRUPT], and so forth) ** can be obtained by calling [sqlite3_reset()] on the ** [prepared statement]. ^In the "v2" interface, ** the more specific error code is returned directly by sqlite3_step(). ** ** [SQLITE_MISUSE] means that the this routine was called inappropriately. ** Perhaps it was called on a [prepared statement] that has ** already been [sqlite3_finalize | finalized] or on one that had ** previously returned [SQLITE_ERROR] or [SQLITE_DONE]. Or it could ** be the case that the same database connection is being used by two or ** more threads at the same moment in time. ** ** For all versions of SQLite up to and including 3.6.23.1, it was required ** after sqlite3_step() returned anything other than [SQLITE_ROW] that ** [sqlite3_reset()] be called before any subsequent invocation of ** sqlite3_step(). Failure to invoke [sqlite3_reset()] in this way would ** result in an [SQLITE_MISUSE] return from sqlite3_step(). But after ** version 3.6.23.1, sqlite3_step() began calling [sqlite3_reset()] ** automatically in this circumstance rather than returning [SQLITE_MISUSE]. ** ** Goofy Interface Alert: In the legacy interface, the sqlite3_step() ** API always returns a generic error code, [SQLITE_ERROR], following any ** error other than [SQLITE_BUSY] and [SQLITE_MISUSE]. You must call ** [sqlite3_reset()] or [sqlite3_finalize()] in order to find one of the ** specific [error codes] that better describes the error. ** We admit that this is a goofy design. The problem has been fixed ** with the "v2" interface. If you prepare all of your SQL statements ** using either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()] instead ** of the legacy [sqlite3_prepare()] and [sqlite3_prepare16()] interfaces, ** then the more specific [error codes] are returned directly ** by sqlite3_step(). The use of the "v2" interface is recommended. */ SQLITE_API int sqlite3_step(sqlite3_stmt*); /* ** CAPI3REF: Number of columns in a result set ** ** ^The sqlite3_data_count(P) interface returns the number of columns in the ** current row of the result set of [prepared statement] P. ** ^If prepared statement P does not have results ready to return ** (via calls to the [sqlite3_column_int | sqlite3_column_*()] of ** interfaces) then sqlite3_data_count(P) returns 0. ** ^The sqlite3_data_count(P) routine also returns 0 if P is a NULL pointer. ** ** See also: [sqlite3_column_count()] */ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); /* ** CAPI3REF: Fundamental Datatypes ** KEYWORDS: SQLITE_TEXT ** ** ^(Every value in SQLite has one of five fundamental datatypes: ** **
    **
  • 64-bit signed integer **
  • 64-bit IEEE floating point number **
  • string **
  • BLOB **
  • NULL **
)^ ** ** These constants are codes for each of those types. ** ** Note that the SQLITE_TEXT constant was also used in SQLite version 2 ** for a completely different meaning. Software that links against both ** SQLite version 2 and SQLite version 3 should use SQLITE3_TEXT, not ** SQLITE_TEXT. */ #define SQLITE_INTEGER 1 #define SQLITE_FLOAT 2 #define SQLITE_BLOB 4 #define SQLITE_NULL 5 #ifdef SQLITE_TEXT # undef SQLITE_TEXT #else # define SQLITE_TEXT 3 #endif #define SQLITE3_TEXT 3 /* ** CAPI3REF: Result Values From A Query ** KEYWORDS: {column access functions} ** ** These routines form the "result set" interface. ** ** ^These routines return information about a single column of the current ** result row of a query. ^In every case the first argument is a pointer ** to the [prepared statement] that is being evaluated (the [sqlite3_stmt*] ** that was returned from [sqlite3_prepare_v2()] or one of its variants) ** and the second argument is the index of the column for which information ** should be returned. ^The leftmost column of the result set has the index 0. ** ^The number of columns in the result can be determined using ** [sqlite3_column_count()]. ** ** If the SQL statement does not currently point to a valid row, or if the ** column index is out of range, the result is undefined. ** These routines may only be called when the most recent call to ** [sqlite3_step()] has returned [SQLITE_ROW] and neither ** [sqlite3_reset()] nor [sqlite3_finalize()] have been called subsequently. ** If any of these routines are called after [sqlite3_reset()] or ** [sqlite3_finalize()] or after [sqlite3_step()] has returned ** something other than [SQLITE_ROW], the results are undefined. ** If [sqlite3_step()] or [sqlite3_reset()] or [sqlite3_finalize()] ** are called from a different thread while any of these routines ** are pending, then the results are undefined. ** ** ^The sqlite3_column_type() routine returns the ** [SQLITE_INTEGER | datatype code] for the initial data type ** of the result column. ^The returned value is one of [SQLITE_INTEGER], ** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL]. The value ** returned by sqlite3_column_type() is only meaningful if no type ** conversions have occurred as described below. After a type conversion, ** the value returned by sqlite3_column_type() is undefined. Future ** versions of SQLite may change the behavior of sqlite3_column_type() ** following a type conversion. ** ** ^If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes() ** routine returns the number of bytes in that BLOB or string. ** ^If the result is a UTF-16 string, then sqlite3_column_bytes() converts ** the string to UTF-8 and then returns the number of bytes. ** ^If the result is a numeric value then sqlite3_column_bytes() uses ** [sqlite3_snprintf()] to convert that value to a UTF-8 string and returns ** the number of bytes in that string. ** ^If the result is NULL, then sqlite3_column_bytes() returns zero. ** ** ^If the result is a BLOB or UTF-16 string then the sqlite3_column_bytes16() ** routine returns the number of bytes in that BLOB or string. ** ^If the result is a UTF-8 string, then sqlite3_column_bytes16() converts ** the string to UTF-16 and then returns the number of bytes. ** ^If the result is a numeric value then sqlite3_column_bytes16() uses ** [sqlite3_snprintf()] to convert that value to a UTF-16 string and returns ** the number of bytes in that string. ** ^If the result is NULL, then sqlite3_column_bytes16() returns zero. ** ** ^The values returned by [sqlite3_column_bytes()] and ** [sqlite3_column_bytes16()] do not include the zero terminators at the end ** of the string. ^For clarity: the values returned by ** [sqlite3_column_bytes()] and [sqlite3_column_bytes16()] are the number of ** bytes in the string, not the number of characters. ** ** ^Strings returned by sqlite3_column_text() and sqlite3_column_text16(), ** even empty strings, are always zero terminated. ^The return ** value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer. ** ** ^The object returned by [sqlite3_column_value()] is an ** [unprotected sqlite3_value] object. An unprotected sqlite3_value object ** may only be used with [sqlite3_bind_value()] and [sqlite3_result_value()]. ** If the [unprotected sqlite3_value] object returned by ** [sqlite3_column_value()] is used in any other way, including calls ** to routines like [sqlite3_value_int()], [sqlite3_value_text()], ** or [sqlite3_value_bytes()], then the behavior is undefined. ** ** These routines attempt to convert the value where appropriate. ^For ** example, if the internal representation is FLOAT and a text result ** is requested, [sqlite3_snprintf()] is used internally to perform the ** conversion automatically. ^(The following table details the conversions ** that are applied: ** **
** **
Internal
Type
Requested
Type
Conversion ** **
NULL INTEGER Result is 0 **
NULL FLOAT Result is 0.0 **
NULL TEXT Result is NULL pointer **
NULL BLOB Result is NULL pointer **
INTEGER FLOAT Convert from integer to float **
INTEGER TEXT ASCII rendering of the integer **
INTEGER BLOB Same as INTEGER->TEXT **
FLOAT INTEGER Convert from float to integer **
FLOAT TEXT ASCII rendering of the float **
FLOAT BLOB Same as FLOAT->TEXT **
TEXT INTEGER Use atoi() **
TEXT FLOAT Use atof() **
TEXT BLOB No change **
BLOB INTEGER Convert to TEXT then use atoi() **
BLOB FLOAT Convert to TEXT then use atof() **
BLOB TEXT Add a zero terminator if needed **
**
)^ ** ** The table above makes reference to standard C library functions atoi() ** and atof(). SQLite does not really use these functions. It has its ** own equivalent internal routines. The atoi() and atof() names are ** used in the table for brevity and because they are familiar to most ** C programmers. ** ** Note that when type conversions occur, pointers returned by prior ** calls to sqlite3_column_blob(), sqlite3_column_text(), and/or ** sqlite3_column_text16() may be invalidated. ** Type conversions and pointer invalidations might occur ** in the following cases: ** **
    **
  • The initial content is a BLOB and sqlite3_column_text() or ** sqlite3_column_text16() is called. A zero-terminator might ** need to be added to the string.
  • **
  • The initial content is UTF-8 text and sqlite3_column_bytes16() or ** sqlite3_column_text16() is called. The content must be converted ** to UTF-16.
  • **
  • The initial content is UTF-16 text and sqlite3_column_bytes() or ** sqlite3_column_text() is called. The content must be converted ** to UTF-8.
  • **
** ** ^Conversions between UTF-16be and UTF-16le are always done in place and do ** not invalidate a prior pointer, though of course the content of the buffer ** that the prior pointer references will have been modified. Other kinds ** of conversion are done in place when it is possible, but sometimes they ** are not possible and in those cases prior pointers are invalidated. ** ** The safest and easiest to remember policy is to invoke these routines ** in one of the following ways: ** **
    **
  • sqlite3_column_text() followed by sqlite3_column_bytes()
  • **
  • sqlite3_column_blob() followed by sqlite3_column_bytes()
  • **
  • sqlite3_column_text16() followed by sqlite3_column_bytes16()
  • **
** ** In other words, you should call sqlite3_column_text(), ** sqlite3_column_blob(), or sqlite3_column_text16() first to force the result ** into the desired format, then invoke sqlite3_column_bytes() or ** sqlite3_column_bytes16() to find the size of the result. Do not mix calls ** to sqlite3_column_text() or sqlite3_column_blob() with calls to ** sqlite3_column_bytes16(), and do not mix calls to sqlite3_column_text16() ** with calls to sqlite3_column_bytes(). ** ** ^The pointers returned are valid until a type conversion occurs as ** described above, or until [sqlite3_step()] or [sqlite3_reset()] or ** [sqlite3_finalize()] is called. ^The memory space used to hold strings ** and BLOBs is freed automatically. Do not pass the pointers returned ** [sqlite3_column_blob()], [sqlite3_column_text()], etc. into ** [sqlite3_free()]. ** ** ^(If a memory allocation error occurs during the evaluation of any ** of these routines, a default value is returned. The default value ** is either the integer 0, the floating point number 0.0, or a NULL ** pointer. Subsequent calls to [sqlite3_errcode()] will return ** [SQLITE_NOMEM].)^ */ SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); SQLITE_API int sqlite3_column_bytes(sqlite3_stmt*, int iCol); SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt*, int iCol); SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol); SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol); SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol); SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol); SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol); /* ** CAPI3REF: Destroy A Prepared Statement Object ** ** ^The sqlite3_finalize() function is called to delete a [prepared statement]. ** ^If the most recent evaluation of the statement encountered no errors or ** or if the statement is never been evaluated, then sqlite3_finalize() returns ** SQLITE_OK. ^If the most recent evaluation of statement S failed, then ** sqlite3_finalize(S) returns the appropriate [error code] or ** [extended error code]. ** ** ^The sqlite3_finalize(S) routine can be called at any point during ** the life cycle of [prepared statement] S: ** before statement S is ever evaluated, after ** one or more calls to [sqlite3_reset()], or after any call ** to [sqlite3_step()] regardless of whether or not the statement has ** completed execution. ** ** ^Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op. ** ** The application must finalize every [prepared statement] in order to avoid ** resource leaks. It is a grievous error for the application to try to use ** a prepared statement after it has been finalized. Any use of a prepared ** statement after it has been finalized can result in undefined and ** undesirable behavior such as segfaults and heap corruption. */ SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt); /* ** CAPI3REF: Reset A Prepared Statement Object ** ** The sqlite3_reset() function is called to reset a [prepared statement] ** object back to its initial state, ready to be re-executed. ** ^Any SQL statement variables that had values bound to them using ** the [sqlite3_bind_blob | sqlite3_bind_*() API] retain their values. ** Use [sqlite3_clear_bindings()] to reset the bindings. ** ** ^The [sqlite3_reset(S)] interface resets the [prepared statement] S ** back to the beginning of its program. ** ** ^If the most recent call to [sqlite3_step(S)] for the ** [prepared statement] S returned [SQLITE_ROW] or [SQLITE_DONE], ** or if [sqlite3_step(S)] has never before been called on S, ** then [sqlite3_reset(S)] returns [SQLITE_OK]. ** ** ^If the most recent call to [sqlite3_step(S)] for the ** [prepared statement] S indicated an error, then ** [sqlite3_reset(S)] returns an appropriate [error code]. ** ** ^The [sqlite3_reset(S)] interface does not change the values ** of any [sqlite3_bind_blob|bindings] on the [prepared statement] S. */ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); /* ** CAPI3REF: Create Or Redefine SQL Functions ** KEYWORDS: {function creation routines} ** KEYWORDS: {application-defined SQL function} ** KEYWORDS: {application-defined SQL functions} ** ** ^These functions (collectively known as "function creation routines") ** are used to add SQL functions or aggregates or to redefine the behavior ** of existing SQL functions or aggregates. The only differences between ** these routines are the text encoding expected for ** the the second parameter (the name of the function being created) ** and the presence or absence of a destructor callback for ** the application data pointer. ** ** ^The first parameter is the [database connection] to which the SQL ** function is to be added. ^If an application uses more than one database ** connection then application-defined SQL functions must be added ** to each database connection separately. ** ** ^The second parameter is the name of the SQL function to be created or ** redefined. ^The length of the name is limited to 255 bytes in a UTF-8 ** representation, exclusive of the zero-terminator. ^Note that the name ** length limit is in UTF-8 bytes, not characters nor UTF-16 bytes. ** ^Any attempt to create a function with a longer name ** will result in [SQLITE_MISUSE] being returned. ** ** ^The third parameter (nArg) ** is the number of arguments that the SQL function or ** aggregate takes. ^If this parameter is -1, then the SQL function or ** aggregate may take any number of arguments between 0 and the limit ** set by [sqlite3_limit]([SQLITE_LIMIT_FUNCTION_ARG]). If the third ** parameter is less than -1 or greater than 127 then the behavior is ** undefined. ** ** ^The fourth parameter, eTextRep, specifies what ** [SQLITE_UTF8 | text encoding] this SQL function prefers for ** its parameters. Every SQL function implementation must be able to work ** with UTF-8, UTF-16le, or UTF-16be. But some implementations may be ** more efficient with one encoding than another. ^An application may ** invoke sqlite3_create_function() or sqlite3_create_function16() multiple ** times with the same function but with different values of eTextRep. ** ^When multiple implementations of the same function are available, SQLite ** will pick the one that involves the least amount of data conversion. ** If there is only a single implementation which does not care what text ** encoding is used, then the fourth argument should be [SQLITE_ANY]. ** ** ^(The fifth parameter is an arbitrary pointer. The implementation of the ** function can gain access to this pointer using [sqlite3_user_data()].)^ ** ** ^The seventh, eighth and ninth parameters, xFunc, xStep and xFinal, are ** pointers to C-language functions that implement the SQL function or ** aggregate. ^A scalar SQL function requires an implementation of the xFunc ** callback only; NULL pointers must be passed as the xStep and xFinal ** parameters. ^An aggregate SQL function requires an implementation of xStep ** and xFinal and NULL pointer must be passed for xFunc. ^To delete an existing ** SQL function or aggregate, pass NULL poiners for all three function ** callbacks. ** ** ^(If the tenth parameter to sqlite3_create_function_v2() is not NULL, ** then it is destructor for the application data pointer. ** The destructor is invoked when the function is deleted, either by being ** overloaded or when the database connection closes.)^ ** ^The destructor is also invoked if the call to ** sqlite3_create_function_v2() fails. ** ^When the destructor callback of the tenth parameter is invoked, it ** is passed a single argument which is a copy of the application data ** pointer which was the fifth parameter to sqlite3_create_function_v2(). ** ** ^It is permitted to register multiple implementations of the same ** functions with the same name but with either differing numbers of ** arguments or differing preferred text encodings. ^SQLite will use ** the implementation that most closely matches the way in which the ** SQL function is used. ^A function implementation with a non-negative ** nArg parameter is a better match than a function implementation with ** a negative nArg. ^A function where the preferred text encoding ** matches the database encoding is a better ** match than a function where the encoding is different. ** ^A function where the encoding difference is between UTF16le and UTF16be ** is a closer match than a function where the encoding difference is ** between UTF8 and UTF16. ** ** ^Built-in functions may be overloaded by new application-defined functions. ** ** ^An application-defined function is permitted to call other ** SQLite interfaces. However, such calls must not ** close the database connection nor finalize or reset the prepared ** statement in which the function is running. */ SQLITE_API int sqlite3_create_function( sqlite3 *db, const char *zFunctionName, int nArg, int eTextRep, void *pApp, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ); SQLITE_API int sqlite3_create_function16( sqlite3 *db, const void *zFunctionName, int nArg, int eTextRep, void *pApp, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ); SQLITE_API int sqlite3_create_function_v2( sqlite3 *db, const char *zFunctionName, int nArg, int eTextRep, void *pApp, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*), void(*xDestroy)(void*) ); /* ** CAPI3REF: Text Encodings ** ** These constant define integer codes that represent the various ** text encodings supported by SQLite. */ #define SQLITE_UTF8 1 #define SQLITE_UTF16LE 2 #define SQLITE_UTF16BE 3 #define SQLITE_UTF16 4 /* Use native byte order */ #define SQLITE_ANY 5 /* sqlite3_create_function only */ #define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */ /* ** CAPI3REF: Deprecated Functions ** DEPRECATED ** ** These functions are [deprecated]. In order to maintain ** backwards compatibility with older code, these functions continue ** to be supported. However, new applications should avoid ** the use of these functions. To help encourage people to avoid ** using these functions, we are not going to tell you what they do. */ #ifndef SQLITE_OMIT_DEPRECATED SQLITE_API SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*); SQLITE_API SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*); SQLITE_API SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); SQLITE_API SQLITE_DEPRECATED int sqlite3_global_recover(void); SQLITE_API SQLITE_DEPRECATED void sqlite3_thread_cleanup(void); SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int),void*,sqlite3_int64); #endif /* ** CAPI3REF: Obtaining SQL Function Parameter Values ** ** The C-language implementation of SQL functions and aggregates uses ** this set of interface routines to access the parameter values on ** the function or aggregate. ** ** The xFunc (for scalar functions) or xStep (for aggregates) parameters ** to [sqlite3_create_function()] and [sqlite3_create_function16()] ** define callbacks that implement the SQL functions and aggregates. ** The 4th parameter to these callbacks is an array of pointers to ** [protected sqlite3_value] objects. There is one [sqlite3_value] object for ** each parameter to the SQL function. These routines are used to ** extract values from the [sqlite3_value] objects. ** ** These routines work only with [protected sqlite3_value] objects. ** Any attempt to use these routines on an [unprotected sqlite3_value] ** object results in undefined behavior. ** ** ^These routines work just like the corresponding [column access functions] ** except that these routines take a single [protected sqlite3_value] object ** pointer instead of a [sqlite3_stmt*] pointer and an integer column number. ** ** ^The sqlite3_value_text16() interface extracts a UTF-16 string ** in the native byte-order of the host machine. ^The ** sqlite3_value_text16be() and sqlite3_value_text16le() interfaces ** extract UTF-16 strings as big-endian and little-endian respectively. ** ** ^(The sqlite3_value_numeric_type() interface attempts to apply ** numeric affinity to the value. This means that an attempt is ** made to convert the value to an integer or floating point. If ** such a conversion is possible without loss of information (in other ** words, if the value is a string that looks like a number) ** then the conversion is performed. Otherwise no conversion occurs. ** The [SQLITE_INTEGER | datatype] after conversion is returned.)^ ** ** Please pay particular attention to the fact that the pointer returned ** from [sqlite3_value_blob()], [sqlite3_value_text()], or ** [sqlite3_value_text16()] can be invalidated by a subsequent call to ** [sqlite3_value_bytes()], [sqlite3_value_bytes16()], [sqlite3_value_text()], ** or [sqlite3_value_text16()]. ** ** These routines must be called from the same thread as ** the SQL function that supplied the [sqlite3_value*] parameters. */ SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); SQLITE_API int sqlite3_value_bytes(sqlite3_value*); SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); SQLITE_API double sqlite3_value_double(sqlite3_value*); SQLITE_API int sqlite3_value_int(sqlite3_value*); SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*); SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*); SQLITE_API const void *sqlite3_value_text16(sqlite3_value*); SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*); SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*); SQLITE_API int sqlite3_value_type(sqlite3_value*); SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); /* ** CAPI3REF: Obtain Aggregate Function Context ** ** Implementations of aggregate SQL functions use this ** routine to allocate memory for storing their state. ** ** ^The first time the sqlite3_aggregate_context(C,N) routine is called ** for a particular aggregate function, SQLite ** allocates N of memory, zeroes out that memory, and returns a pointer ** to the new memory. ^On second and subsequent calls to ** sqlite3_aggregate_context() for the same aggregate function instance, ** the same buffer is returned. Sqlite3_aggregate_context() is normally ** called once for each invocation of the xStep callback and then one ** last time when the xFinal callback is invoked. ^(When no rows match ** an aggregate query, the xStep() callback of the aggregate function ** implementation is never called and xFinal() is called exactly once. ** In those cases, sqlite3_aggregate_context() might be called for the ** first time from within xFinal().)^ ** ** ^The sqlite3_aggregate_context(C,N) routine returns a NULL pointer if N is ** less than or equal to zero or if a memory allocate error occurs. ** ** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is ** determined by the N parameter on first successful call. Changing the ** value of N in subsequent call to sqlite3_aggregate_context() within ** the same aggregate function instance will not resize the memory ** allocation.)^ ** ** ^SQLite automatically frees the memory allocated by ** sqlite3_aggregate_context() when the aggregate query concludes. ** ** The first parameter must be a copy of the ** [sqlite3_context | SQL function context] that is the first parameter ** to the xStep or xFinal callback routine that implements the aggregate ** function. ** ** This routine must be called from the same thread in which ** the aggregate SQL function is running. */ SQLITE_API void *sqlite3_aggregate_context(sqlite3_context*, int nBytes); /* ** CAPI3REF: User Data For Functions ** ** ^The sqlite3_user_data() interface returns a copy of ** the pointer that was the pUserData parameter (the 5th parameter) ** of the [sqlite3_create_function()] ** and [sqlite3_create_function16()] routines that originally ** registered the application defined function. ** ** This routine must be called from the same thread in which ** the application-defined function is running. */ SQLITE_API void *sqlite3_user_data(sqlite3_context*); /* ** CAPI3REF: Database Connection For Functions ** ** ^The sqlite3_context_db_handle() interface returns a copy of ** the pointer to the [database connection] (the 1st parameter) ** of the [sqlite3_create_function()] ** and [sqlite3_create_function16()] routines that originally ** registered the application defined function. */ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); /* ** CAPI3REF: Function Auxiliary Data ** ** The following two functions may be used by scalar SQL functions to ** associate metadata with argument values. If the same value is passed to ** multiple invocations of the same SQL function during query execution, under ** some circumstances the associated metadata may be preserved. This may ** be used, for example, to add a regular-expression matching scalar ** function. The compiled version of the regular expression is stored as ** metadata associated with the SQL value passed as the regular expression ** pattern. The compiled regular expression can be reused on multiple ** invocations of the same function so that the original pattern string ** does not need to be recompiled on each invocation. ** ** ^The sqlite3_get_auxdata() interface returns a pointer to the metadata ** associated by the sqlite3_set_auxdata() function with the Nth argument ** value to the application-defined function. ^If no metadata has been ever ** been set for the Nth argument of the function, or if the corresponding ** function parameter has changed since the meta-data was set, ** then sqlite3_get_auxdata() returns a NULL pointer. ** ** ^The sqlite3_set_auxdata() interface saves the metadata ** pointed to by its 3rd parameter as the metadata for the N-th ** argument of the application-defined function. Subsequent ** calls to sqlite3_get_auxdata() might return this data, if it has ** not been destroyed. ** ^If it is not NULL, SQLite will invoke the destructor ** function given by the 4th parameter to sqlite3_set_auxdata() on ** the metadata when the corresponding function parameter changes ** or when the SQL statement completes, whichever comes first. ** ** SQLite is free to call the destructor and drop metadata on any ** parameter of any function at any time. ^The only guarantee is that ** the destructor will be called before the metadata is dropped. ** ** ^(In practice, metadata is preserved between function calls for ** expressions that are constant at compile time. This includes literal ** values and [parameters].)^ ** ** These routines must be called from the same thread in which ** the SQL function is running. */ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N); SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); /* ** CAPI3REF: Constants Defining Special Destructor Behavior ** ** These are special values for the destructor that is passed in as the ** final argument to routines like [sqlite3_result_blob()]. ^If the destructor ** argument is SQLITE_STATIC, it means that the content pointer is constant ** and will never change. It does not need to be destroyed. ^The ** SQLITE_TRANSIENT value means that the content will likely change in ** the near future and that SQLite should make its own private copy of ** the content before returning. ** ** The typedef is necessary to work around problems in certain ** C++ compilers. See ticket #2191. */ typedef void (*sqlite3_destructor_type)(void*); #define SQLITE_STATIC ((sqlite3_destructor_type)0) #define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) /* ** CAPI3REF: Setting The Result Of An SQL Function ** ** These routines are used by the xFunc or xFinal callbacks that ** implement SQL functions and aggregates. See ** [sqlite3_create_function()] and [sqlite3_create_function16()] ** for additional information. ** ** These functions work very much like the [parameter binding] family of ** functions used to bind values to host parameters in prepared statements. ** Refer to the [SQL parameter] documentation for additional information. ** ** ^The sqlite3_result_blob() interface sets the result from ** an application-defined function to be the BLOB whose content is pointed ** to by the second parameter and which is N bytes long where N is the ** third parameter. ** ** ^The sqlite3_result_zeroblob() interfaces set the result of ** the application-defined function to be a BLOB containing all zero ** bytes and N bytes in size, where N is the value of the 2nd parameter. ** ** ^The sqlite3_result_double() interface sets the result from ** an application-defined function to be a floating point value specified ** by its 2nd argument. ** ** ^The sqlite3_result_error() and sqlite3_result_error16() functions ** cause the implemented SQL function to throw an exception. ** ^SQLite uses the string pointed to by the ** 2nd parameter of sqlite3_result_error() or sqlite3_result_error16() ** as the text of an error message. ^SQLite interprets the error ** message string from sqlite3_result_error() as UTF-8. ^SQLite ** interprets the string from sqlite3_result_error16() as UTF-16 in native ** byte order. ^If the third parameter to sqlite3_result_error() ** or sqlite3_result_error16() is negative then SQLite takes as the error ** message all text up through the first zero character. ** ^If the third parameter to sqlite3_result_error() or ** sqlite3_result_error16() is non-negative then SQLite takes that many ** bytes (not characters) from the 2nd parameter as the error message. ** ^The sqlite3_result_error() and sqlite3_result_error16() ** routines make a private copy of the error message text before ** they return. Hence, the calling function can deallocate or ** modify the text after they return without harm. ** ^The sqlite3_result_error_code() function changes the error code ** returned by SQLite as a result of an error in a function. ^By default, ** the error code is SQLITE_ERROR. ^A subsequent call to sqlite3_result_error() ** or sqlite3_result_error16() resets the error code to SQLITE_ERROR. ** ** ^The sqlite3_result_toobig() interface causes SQLite to throw an error ** indicating that a string or BLOB is too long to represent. ** ** ^The sqlite3_result_nomem() interface causes SQLite to throw an error ** indicating that a memory allocation failed. ** ** ^The sqlite3_result_int() interface sets the return value ** of the application-defined function to be the 32-bit signed integer ** value given in the 2nd argument. ** ^The sqlite3_result_int64() interface sets the return value ** of the application-defined function to be the 64-bit signed integer ** value given in the 2nd argument. ** ** ^The sqlite3_result_null() interface sets the return value ** of the application-defined function to be NULL. ** ** ^The sqlite3_result_text(), sqlite3_result_text16(), ** sqlite3_result_text16le(), and sqlite3_result_text16be() interfaces ** set the return value of the application-defined function to be ** a text string which is represented as UTF-8, UTF-16 native byte order, ** UTF-16 little endian, or UTF-16 big endian, respectively. ** ^SQLite takes the text result from the application from ** the 2nd parameter of the sqlite3_result_text* interfaces. ** ^If the 3rd parameter to the sqlite3_result_text* interfaces ** is negative, then SQLite takes result text from the 2nd parameter ** through the first zero character. ** ^If the 3rd parameter to the sqlite3_result_text* interfaces ** is non-negative, then as many bytes (not characters) of the text ** pointed to by the 2nd parameter are taken as the application-defined ** function result. ** ^If the 4th parameter to the sqlite3_result_text* interfaces ** or sqlite3_result_blob is a non-NULL pointer, then SQLite calls that ** function as the destructor on the text or BLOB result when it has ** finished using that result. ** ^If the 4th parameter to the sqlite3_result_text* interfaces or to ** sqlite3_result_blob is the special constant SQLITE_STATIC, then SQLite ** assumes that the text or BLOB result is in constant space and does not ** copy the content of the parameter nor call a destructor on the content ** when it has finished using that result. ** ^If the 4th parameter to the sqlite3_result_text* interfaces ** or sqlite3_result_blob is the special constant SQLITE_TRANSIENT ** then SQLite makes a copy of the result into space obtained from ** from [sqlite3_malloc()] before it returns. ** ** ^The sqlite3_result_value() interface sets the result of ** the application-defined function to be a copy the ** [unprotected sqlite3_value] object specified by the 2nd parameter. ^The ** sqlite3_result_value() interface makes a copy of the [sqlite3_value] ** so that the [sqlite3_value] specified in the parameter may change or ** be deallocated after sqlite3_result_value() returns without harm. ** ^A [protected sqlite3_value] object may always be used where an ** [unprotected sqlite3_value] object is required, so either ** kind of [sqlite3_value] object can be used with this interface. ** ** If these routines are called from within the different thread ** than the one containing the application-defined function that received ** the [sqlite3_context] pointer, the results are undefined. */ SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); SQLITE_API void sqlite3_result_double(sqlite3_context*, double); SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); SQLITE_API void sqlite3_result_error_toobig(sqlite3_context*); SQLITE_API void sqlite3_result_error_nomem(sqlite3_context*); SQLITE_API void sqlite3_result_error_code(sqlite3_context*, int); SQLITE_API void sqlite3_result_int(sqlite3_context*, int); SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); SQLITE_API void sqlite3_result_null(sqlite3_context*); SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); SQLITE_API void sqlite3_result_value(sqlite3_context*, sqlite3_value*); SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); /* ** CAPI3REF: Define New Collating Sequences ** ** ^These functions add, remove, or modify a [collation] associated ** with the [database connection] specified as the first argument. ** ** ^The name of the collation is a UTF-8 string ** for sqlite3_create_collation() and sqlite3_create_collation_v2() ** and a UTF-16 string in native byte order for sqlite3_create_collation16(). ** ^Collation names that compare equal according to [sqlite3_strnicmp()] are ** considered to be the same name. ** ** ^(The third argument (eTextRep) must be one of the constants: **
    **
  • [SQLITE_UTF8], **
  • [SQLITE_UTF16LE], **
  • [SQLITE_UTF16BE], **
  • [SQLITE_UTF16], or **
  • [SQLITE_UTF16_ALIGNED]. **
)^ ** ^The eTextRep argument determines the encoding of strings passed ** to the collating function callback, xCallback. ** ^The [SQLITE_UTF16] and [SQLITE_UTF16_ALIGNED] values for eTextRep ** force strings to be UTF16 with native byte order. ** ^The [SQLITE_UTF16_ALIGNED] value for eTextRep forces strings to begin ** on an even byte address. ** ** ^The fourth argument, pArg, is a application data pointer that is passed ** through as the first argument to the collating function callback. ** ** ^The fifth argument, xCallback, is a pointer to the collating function. ** ^Multiple collating functions can be registered using the same name but ** with different eTextRep parameters and SQLite will use whichever ** function requires the least amount of data transformation. ** ^If the xCallback argument is NULL then the collating function is ** deleted. ^When all collating functions having the same name are deleted, ** that collation is no longer usable. ** ** ^The collating function callback is invoked with a copy of the pArg ** application data pointer and with two strings in the encoding specified ** by the eTextRep argument. The collating function must return an ** integer that is negative, zero, or positive ** if the first string is less than, equal to, or greater than the second, ** respectively. A collating function must alway return the same answer ** given the same inputs. If two or more collating functions are registered ** to the same collation name (using different eTextRep values) then all ** must give an equivalent answer when invoked with equivalent strings. ** The collating function must obey the following properties for all ** strings A, B, and C: ** **
    **
  1. If A==B then B==A. **
  2. If A==B and B==C then A==C. **
  3. If A<B THEN B>A. **
  4. If A<B and B<C then A<C. **
** ** If a collating function fails any of the above constraints and that ** collating function is registered and used, then the behavior of SQLite ** is undefined. ** ** ^The sqlite3_create_collation_v2() works like sqlite3_create_collation() ** with the addition that the xDestroy callback is invoked on pArg when ** the collating function is deleted. ** ^Collating functions are deleted when they are overridden by later ** calls to the collation creation functions or when the ** [database connection] is closed using [sqlite3_close()]. ** ** ^The xDestroy callback is not called if the ** sqlite3_create_collation_v2() function fails. Applications that invoke ** sqlite3_create_collation_v2() with a non-NULL xDestroy argument should ** check the return code and dispose of the application data pointer ** themselves rather than expecting SQLite to deal with it for them. ** This is different from every other SQLite interface. The inconsistency ** is unfortunate but cannot be changed without breaking backwards ** compatibility. ** ** See also: [sqlite3_collation_needed()] and [sqlite3_collation_needed16()]. */ SQLITE_API int sqlite3_create_collation( sqlite3*, const char *zName, int eTextRep, void *pArg, int(*xCompare)(void*,int,const void*,int,const void*) ); SQLITE_API int sqlite3_create_collation_v2( sqlite3*, const char *zName, int eTextRep, void *pArg, int(*xCompare)(void*,int,const void*,int,const void*), void(*xDestroy)(void*) ); SQLITE_API int sqlite3_create_collation16( sqlite3*, const void *zName, int eTextRep, void *pArg, int(*xCompare)(void*,int,const void*,int,const void*) ); /* ** CAPI3REF: Collation Needed Callbacks ** ** ^To avoid having to register all collation sequences before a database ** can be used, a single callback function may be registered with the ** [database connection] to be invoked whenever an undefined collation ** sequence is required. ** ** ^If the function is registered using the sqlite3_collation_needed() API, ** then it is passed the names of undefined collation sequences as strings ** encoded in UTF-8. ^If sqlite3_collation_needed16() is used, ** the names are passed as UTF-16 in machine native byte order. ** ^A call to either function replaces the existing collation-needed callback. ** ** ^(When the callback is invoked, the first argument passed is a copy ** of the second argument to sqlite3_collation_needed() or ** sqlite3_collation_needed16(). The second argument is the database ** connection. The third argument is one of [SQLITE_UTF8], [SQLITE_UTF16BE], ** or [SQLITE_UTF16LE], indicating the most desirable form of the collation ** sequence function required. The fourth parameter is the name of the ** required collation sequence.)^ ** ** The callback function should register the desired collation using ** [sqlite3_create_collation()], [sqlite3_create_collation16()], or ** [sqlite3_create_collation_v2()]. */ SQLITE_API int sqlite3_collation_needed( sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const char*) ); SQLITE_API int sqlite3_collation_needed16( sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const void*) ); #ifdef SQLITE_HAS_CODEC /* ** Specify the key for an encrypted database. This routine should be ** called right after sqlite3_open(). ** ** The code to implement this API is not available in the public release ** of SQLite. */ SQLITE_API int sqlite3_key( sqlite3 *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The key */ ); /* ** Change the key on an open database. If the current database is not ** encrypted, this routine will encrypt it. If pNew==0 or nNew==0, the ** database is decrypted. ** ** The code to implement this API is not available in the public release ** of SQLite. */ SQLITE_API int sqlite3_rekey( sqlite3 *db, /* Database to be rekeyed */ const void *pKey, int nKey /* The new key */ ); /* ** Specify the activation key for a SEE database. Unless ** activated, none of the SEE routines will work. */ SQLITE_API void sqlite3_activate_see( const char *zPassPhrase /* Activation phrase */ ); #endif #ifdef SQLITE_ENABLE_CEROD /* ** Specify the activation key for a CEROD database. Unless ** activated, none of the CEROD routines will work. */ SQLITE_API void sqlite3_activate_cerod( const char *zPassPhrase /* Activation phrase */ ); #endif /* ** CAPI3REF: Suspend Execution For A Short Time ** ** The sqlite3_sleep() function causes the current thread to suspend execution ** for at least a number of milliseconds specified in its parameter. ** ** If the operating system does not support sleep requests with ** millisecond time resolution, then the time will be rounded up to ** the nearest second. The number of milliseconds of sleep actually ** requested from the operating system is returned. ** ** ^SQLite implements this interface by calling the xSleep() ** method of the default [sqlite3_vfs] object. If the xSleep() method ** of the default VFS is not implemented correctly, or not implemented at ** all, then the behavior of sqlite3_sleep() may deviate from the description ** in the previous paragraphs. */ SQLITE_API int sqlite3_sleep(int); /* ** CAPI3REF: Name Of The Folder Holding Temporary Files ** ** ^(If this global variable is made to point to a string which is ** the name of a folder (a.k.a. directory), then all temporary files ** created by SQLite when using a built-in [sqlite3_vfs | VFS] ** will be placed in that directory.)^ ^If this variable ** is a NULL pointer, then SQLite performs a search for an appropriate ** temporary file directory. ** ** It is not safe to read or modify this variable in more than one ** thread at a time. It is not safe to read or modify this variable ** if a [database connection] is being used at the same time in a separate ** thread. ** It is intended that this variable be set once ** as part of process initialization and before any SQLite interface ** routines have been called and that this variable remain unchanged ** thereafter. ** ** ^The [temp_store_directory pragma] may modify this variable and cause ** it to point to memory obtained from [sqlite3_malloc]. ^Furthermore, ** the [temp_store_directory pragma] always assumes that any string ** that this variable points to is held in memory obtained from ** [sqlite3_malloc] and the pragma may attempt to free that memory ** using [sqlite3_free]. ** Hence, if this variable is modified directly, either it should be ** made NULL or made to point to memory obtained from [sqlite3_malloc] ** or else the use of the [temp_store_directory pragma] should be avoided. */ SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory; /* ** CAPI3REF: Test For Auto-Commit Mode ** KEYWORDS: {autocommit mode} ** ** ^The sqlite3_get_autocommit() interface returns non-zero or ** zero if the given database connection is or is not in autocommit mode, ** respectively. ^Autocommit mode is on by default. ** ^Autocommit mode is disabled by a [BEGIN] statement. ** ^Autocommit mode is re-enabled by a [COMMIT] or [ROLLBACK]. ** ** If certain kinds of errors occur on a statement within a multi-statement ** transaction (errors including [SQLITE_FULL], [SQLITE_IOERR], ** [SQLITE_NOMEM], [SQLITE_BUSY], and [SQLITE_INTERRUPT]) then the ** transaction might be rolled back automatically. The only way to ** find out whether SQLite automatically rolled back the transaction after ** an error is to use this function. ** ** If another thread changes the autocommit status of the database ** connection while this routine is running, then the return value ** is undefined. */ SQLITE_API int sqlite3_get_autocommit(sqlite3*); /* ** CAPI3REF: Find The Database Handle Of A Prepared Statement ** ** ^The sqlite3_db_handle interface returns the [database connection] handle ** to which a [prepared statement] belongs. ^The [database connection] ** returned by sqlite3_db_handle is the same [database connection] ** that was the first argument ** to the [sqlite3_prepare_v2()] call (or its variants) that was used to ** create the statement in the first place. */ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); /* ** CAPI3REF: Find the next prepared statement ** ** ^This interface returns a pointer to the next [prepared statement] after ** pStmt associated with the [database connection] pDb. ^If pStmt is NULL ** then this interface returns a pointer to the first prepared statement ** associated with the database connection pDb. ^If no prepared statement ** satisfies the conditions of this routine, it returns NULL. ** ** The [database connection] pointer D in a call to ** [sqlite3_next_stmt(D,S)] must refer to an open database ** connection and in particular must not be a NULL pointer. */ SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); /* ** CAPI3REF: Commit And Rollback Notification Callbacks ** ** ^The sqlite3_commit_hook() interface registers a callback ** function to be invoked whenever a transaction is [COMMIT | committed]. ** ^Any callback set by a previous call to sqlite3_commit_hook() ** for the same database connection is overridden. ** ^The sqlite3_rollback_hook() interface registers a callback ** function to be invoked whenever a transaction is [ROLLBACK | rolled back]. ** ^Any callback set by a previous call to sqlite3_rollback_hook() ** for the same database connection is overridden. ** ^The pArg argument is passed through to the callback. ** ^If the callback on a commit hook function returns non-zero, ** then the commit is converted into a rollback. ** ** ^The sqlite3_commit_hook(D,C,P) and sqlite3_rollback_hook(D,C,P) functions ** return the P argument from the previous call of the same function ** on the same [database connection] D, or NULL for ** the first call for each function on D. ** ** The callback implementation must not do anything that will modify ** the database connection that invoked the callback. Any actions ** to modify the database connection must be deferred until after the ** completion of the [sqlite3_step()] call that triggered the commit ** or rollback hook in the first place. ** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their ** database connections for the meaning of "modify" in this paragraph. ** ** ^Registering a NULL function disables the callback. ** ** ^When the commit hook callback routine returns zero, the [COMMIT] ** operation is allowed to continue normally. ^If the commit hook ** returns non-zero, then the [COMMIT] is converted into a [ROLLBACK]. ** ^The rollback hook is invoked on a rollback that results from a commit ** hook returning non-zero, just as it would be with any other rollback. ** ** ^For the purposes of this API, a transaction is said to have been ** rolled back if an explicit "ROLLBACK" statement is executed, or ** an error or constraint causes an implicit rollback to occur. ** ^The rollback callback is not invoked if a transaction is ** automatically rolled back because the database connection is closed. ** ** See also the [sqlite3_update_hook()] interface. */ SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); /* ** CAPI3REF: Data Change Notification Callbacks ** ** ^The sqlite3_update_hook() interface registers a callback function ** with the [database connection] identified by the first argument ** to be invoked whenever a row is updated, inserted or deleted. ** ^Any callback set by a previous call to this function ** for the same database connection is overridden. ** ** ^The second argument is a pointer to the function to invoke when a ** row is updated, inserted or deleted. ** ^The first argument to the callback is a copy of the third argument ** to sqlite3_update_hook(). ** ^The second callback argument is one of [SQLITE_INSERT], [SQLITE_DELETE], ** or [SQLITE_UPDATE], depending on the operation that caused the callback ** to be invoked. ** ^The third and fourth arguments to the callback contain pointers to the ** database and table name containing the affected row. ** ^The final callback parameter is the [rowid] of the row. ** ^In the case of an update, this is the [rowid] after the update takes place. ** ** ^(The update hook is not invoked when internal system tables are ** modified (i.e. sqlite_master and sqlite_sequence).)^ ** ** ^In the current implementation, the update hook ** is not invoked when duplication rows are deleted because of an ** [ON CONFLICT | ON CONFLICT REPLACE] clause. ^Nor is the update hook ** invoked when rows are deleted using the [truncate optimization]. ** The exceptions defined in this paragraph might change in a future ** release of SQLite. ** ** The update hook implementation must not do anything that will modify ** the database connection that invoked the update hook. Any actions ** to modify the database connection must be deferred until after the ** completion of the [sqlite3_step()] call that triggered the update hook. ** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their ** database connections for the meaning of "modify" in this paragraph. ** ** ^The sqlite3_update_hook(D,C,P) function ** returns the P argument from the previous call ** on the same [database connection] D, or NULL for ** the first call on D. ** ** See also the [sqlite3_commit_hook()] and [sqlite3_rollback_hook()] ** interfaces. */ SQLITE_API void *sqlite3_update_hook( sqlite3*, void(*)(void *,int ,char const *,char const *,sqlite3_int64), void* ); /* ** CAPI3REF: Enable Or Disable Shared Pager Cache ** KEYWORDS: {shared cache} ** ** ^(This routine enables or disables the sharing of the database cache ** and schema data structures between [database connection | connections] ** to the same database. Sharing is enabled if the argument is true ** and disabled if the argument is false.)^ ** ** ^Cache sharing is enabled and disabled for an entire process. ** This is a change as of SQLite version 3.5.0. In prior versions of SQLite, ** sharing was enabled or disabled for each thread separately. ** ** ^(The cache sharing mode set by this interface effects all subsequent ** calls to [sqlite3_open()], [sqlite3_open_v2()], and [sqlite3_open16()]. ** Existing database connections continue use the sharing mode ** that was in effect at the time they were opened.)^ ** ** ^(This routine returns [SQLITE_OK] if shared cache was enabled or disabled ** successfully. An [error code] is returned otherwise.)^ ** ** ^Shared cache is disabled by default. But this might change in ** future releases of SQLite. Applications that care about shared ** cache setting should set it explicitly. ** ** See Also: [SQLite Shared-Cache Mode] */ SQLITE_API int sqlite3_enable_shared_cache(int); /* ** CAPI3REF: Attempt To Free Heap Memory ** ** ^The sqlite3_release_memory() interface attempts to free N bytes ** of heap memory by deallocating non-essential memory allocations ** held by the database library. Memory used to cache database ** pages to improve performance is an example of non-essential memory. ** ^sqlite3_release_memory() returns the number of bytes actually freed, ** which might be more or less than the amount requested. ** ^The