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 */  | 
