File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / zip / php_zip.h
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 20:04:01 2014 UTC (10 years, 1 month ago) by misho
Branches: php, MAIN
CVS tags: v5_4_29, HEAD
php 5.4.29

    1: /*
    2:   +----------------------------------------------------------------------+
    3:   | PHP Version 5                                                        |
    4:   +----------------------------------------------------------------------+
    5:   | Copyright (c) 1997-2014 The PHP Group                                |
    6:   +----------------------------------------------------------------------+
    7:   | This source file is subject to version 3.01 of the PHP license,      |
    8:   | that is bundled with this package in the file LICENSE, and is        |
    9:   | available through the world-wide-web at the following url:           |
   10:   | http://www.php.net/license/3_01.txt.                                 |
   11:   | If you did not receive a copy of the PHP license and are unable to   |
   12:   | obtain it through the world-wide-web, please send a note to          |
   13:   | license@php.net so we can mail you a copy immediately.               |
   14:   +----------------------------------------------------------------------+
   15:   | Author: Pierre-Alain Joye <pajoye@php.net>                           |
   16:   +----------------------------------------------------------------------+
   17: */
   18: 
   19: /* $Id: php_zip.h,v 1.1.1.4 2014/06/15 20:04:01 misho Exp $ */
   20: 
   21: #ifndef PHP_ZIP_H
   22: #define PHP_ZIP_H
   23: 
   24: extern zend_module_entry zip_module_entry;
   25: #define phpext_zip_ptr &zip_module_entry
   26: 
   27: #ifdef ZTS
   28: #include "TSRM.h"
   29: #endif
   30: 
   31: #include "lib/zip.h"
   32: 
   33: #define PHP_ZIP_VERSION_STRING "1.11.0"
   34: 
   35: #if ((PHP_MAJOR_VERSION >= 5 && PHP_MINOR_VERSION >= 2) || PHP_MAJOR_VERSION >= 6)
   36: # define PHP_ZIP_USE_OO 1
   37: #endif
   38: 
   39: #ifndef  Z_SET_REFCOUNT_P
   40: # if PHP_MAJOR_VERSION < 6 && (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 3)
   41: #  define Z_SET_REFCOUNT_P(pz, rc)  pz->refcount = rc 
   42: #  define Z_UNSET_ISREF_P(pz) pz->is_ref = 0 
   43: # endif
   44: #endif
   45: 
   46: /* {{{ ZIP_OPENBASEDIR_CHECKPATH(filename) */
   47: #if PHP_API_VERSION < 20100412
   48: # define ZIP_OPENBASEDIR_CHECKPATH(filename) \
   49: 	(PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(filename TSRMLS_CC)
   50: #else
   51: #define ZIP_OPENBASEDIR_CHECKPATH(filename) \
   52: 	php_check_open_basedir(filename TSRMLS_CC)
   53: #endif
   54: /* }}} */
   55: 
   56: typedef struct _ze_zip_rsrc {
   57: 	struct zip *za;
   58: 	int index_current;
   59: 	int num_files;
   60: } zip_rsrc;
   61: 
   62: typedef zip_rsrc * zip_rsrc_ptr;
   63: 
   64: typedef struct _ze_zip_read_rsrc {
   65: 	struct zip_file *zf;
   66: 	struct zip_stat sb;
   67: } zip_read_rsrc;
   68: 
   69: #ifdef PHP_ZIP_USE_OO 
   70: #define ZIPARCHIVE_ME(name, arg_info, flags)	ZEND_FENTRY(name, c_ziparchive_ ##name, arg_info, flags)
   71: #define ZIPARCHIVE_METHOD(name)	ZEND_NAMED_FUNCTION(c_ziparchive_##name)
   72: 
   73: /* Extends zend object */
   74: typedef struct _ze_zip_object {
   75: 	zend_object zo;
   76: 	struct zip *za;
   77: 	int buffers_cnt;
   78: 	char **buffers;
   79: 	HashTable *prop_handler;
   80: 	char *filename;
   81: 	int filename_len;
   82: } ze_zip_object;
   83: 
   84: php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
   85: php_stream *php_stream_zip_open(char *filename, char *path, char *mode STREAMS_DC TSRMLS_DC);
   86: 
   87: extern php_stream_wrapper php_stream_zip_wrapper;
   88: #endif
   89: 
   90: #endif	/* PHP_ZIP_H */
   91: 
   92: /*
   93:  * Local variables:
   94:  * tab-width: 4
   95:  * c-basic-offset: 4
   96:  * End:
   97:  * vim600: noet sw=4 ts=4 fdm=marker
   98:  * vim<600: noet sw=4 ts=4
   99:  */

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