diff options
author | Kristian Köhntopp <kk@php.net> | 2000-03-11 22:05:41 +0000 |
---|---|---|
committer | Kristian Köhntopp <kk@php.net> | 2000-03-11 22:05:41 +0000 |
commit | 1aba4ea9d0d602a652687047e0e8ab2895aae955 (patch) | |
tree | 31dd58e121c4a3adf627aaba205db24cce4db28c /ext/recode/php_recode.h | |
parent | 649d8721dbddc225a0330a0d9ed7750287dbcd18 (diff) | |
download | php-git-1aba4ea9d0d602a652687047e0e8ab2895aae955.tar.gz |
- Added additional DEFER macro.
- First stab at porting the recode module. Still having problems
with the _ex() functions, they core - why?
Diffstat (limited to 'ext/recode/php_recode.h')
-rw-r--r-- | ext/recode/php_recode.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/ext/recode/php_recode.h b/ext/recode/php_recode.h new file mode 100644 index 0000000000..8ff641edf9 --- /dev/null +++ b/ext/recode/php_recode.h @@ -0,0 +1,89 @@ +/* + +----------------------------------------------------------------------+ + | PHP version 4.0 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 2.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available at through the world-wide-web at | + | http://www.php.net/license/2_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: Kristian Koehntopp (kris@koehntopp.de) | + +----------------------------------------------------------------------+ + */ + + +/* $Id$ */ + +#ifndef _PHP_RECODE_H +#define _PHP_RECODE_H + +#ifdef COMPILE_DL_RECODE +#undef HAVE_LIBRECODE +#define HAVE_LIBRECODE 1 +#endif + +#ifdef PHP_WIN32 +#define PHP_MYSQL_API __declspec(dllexport) +#else +#define PHP_MYSQL_API +#endif + +#if HAVE_LIBRECODE + +/* Checking for thread safety and issue warning if necessary. */ +#ifdef ZTS +#warning Recode module has not been tested for thread-safety. +#endif + +/* Recode 3.5 is broken in the sense that it requires the definition + * of a symbol "program_name" in order to link. + */ +#define HAVE_BROKEN_RECODE + +#include <stdbool.h> +#include <sys/types.h> +#include <stdio.h> +#include <recode.h> +#include <unistd.h> + +extern zend_module_entry recode_module_entry; +#define phpext_recode_ptr &recode_module_entry + +extern PHP_MINIT_FUNCTION(recode); +extern PHP_MSHUTDOWN_FUNCTION(recode); +extern PHP_MINFO_FUNCTION(recode); + +extern PHP_FUNCTION(recode_string); +extern PHP_FUNCTION(recode_file); + +typedef struct { + RECODE_OUTER outer; +} php_recode_globals; + +#ifdef ZTS +# define ReSLS_D php_recode_globals *recode_globals +# define ReSLS_DC , ReSLS_D +# define ReSLS_C recode_globals +# define ReSLS_CC , ReSLS_C +# define ReSG(v) (recode_globals->v) +# define ReSLS_FETCH() php_recode_globals *recode_globals = ts_resource(recode_globals_id) +#else +# define ReSLS_D +# define ReSLS_DC +# define ReSLS_C +# define ReSLS_CC +# define ReSG(v) (recode_globals.v) +# define ReSLS_FETCH() +extern PHP_MYSQL_API php_recode_globals recode_globals; +#endif + +#else +#define phpext_recode_ptr NULL +#endif + +#endif /* _PHP_RECODE_H */ |