summaryrefslogtreecommitdiff
path: root/ext/spl/spl_directory.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/spl_directory.h')
-rwxr-xr-xext/spl/spl_directory.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/ext/spl/spl_directory.h b/ext/spl/spl_directory.h
index a2bc9c4c0..513fa7eb8 100755
--- a/ext/spl/spl_directory.h
+++ b/ext/spl/spl_directory.h
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: spl_directory.h,v 1.12.2.3 2006/01/01 12:50:13 sniper Exp $ */
+/* $Id: spl_directory.h,v 1.12.2.5 2006/03/08 21:54:48 helly Exp $ */
#ifndef SPL_DIRECTORY_H
#define SPL_DIRECTORY_H
@@ -33,13 +33,25 @@ extern PHPAPI zend_class_entry *spl_ce_SplTempFileObject;
PHP_MINIT_FUNCTION(spl_directory);
typedef enum {
- SPL_FS_INFO,
+ SPL_FS_INFO, /* must be 0 */
SPL_FS_DIR,
SPL_FS_FILE,
} SPL_FS_OBJ_TYPE;
-typedef struct _spl_filesystem_object {
+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);
+
+typedef struct _spl_other_handler {
+ spl_foreign_dtor_t dtor;
+ spl_foreign_clone_t clone;
+} spl_other_handler;
+
+struct _spl_filesystem_object {
zend_object std;
+ void *oth;
+ spl_other_handler *oth_handler;
char *path;
int path_len;
char *file_name;
@@ -72,7 +84,7 @@ typedef struct _spl_filesystem_object {
zend_function *func_getCurr;
} file;
} u;
-} spl_filesystem_object;
+};
#define SPL_FILE_OBJECT_DROP_NEW_LINE 0x00000001 /* drop new lines */