summaryrefslogtreecommitdiff
path: root/Zend/zend_list.h
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-09-03 19:12:07 +0000
committerZeev Suraski <zeev@php.net>1999-09-03 19:12:07 +0000
commit3feb4b3bdd7d5b662929c7ec7a26507e28335553 (patch)
tree32ac4696e0504721a16e67462e678ca9a8afc760 /Zend/zend_list.h
parentc1a4861eb1b4b5c048bf2ca4cc1acc32fd47d227 (diff)
downloadphp-git-3feb4b3bdd7d5b662929c7ec7a26507e28335553.tar.gz
Add new API for resources
Diffstat (limited to 'Zend/zend_list.h')
-rw-r--r--Zend/zend_list.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/Zend/zend_list.h b/Zend/zend_list.h
index b7bf03f4ed..c42c3192ad 100644
--- a/Zend/zend_list.h
+++ b/Zend/zend_list.h
@@ -62,7 +62,18 @@ ZEND_API int zend_list_delete(int id);
ZEND_API int zend_plist_delete(int id);
ZEND_API void *zend_list_find(int id, int *type);
ZEND_API void *zend_plist_find(int id, int *type);
+ZEND_API void *zend_fetch_resource(zval *passed_id, int default_id, char *resource_type_name, int resource_type);
+ZEND_API void *zend_fetch_resource_ex(zval *passed_id, int default_id, char *resource_type_name, int num_resource_types, ...);
extern ZEND_API int le_index_ptr; /* list entry type for index pointers */
+#define ZEND_VERIFY_RESOURCE(rsrc) \
+ if (!rsrc) { \
+ RETURN_FALSE; \
+ }
+
+#define ZEND_FETCH_RESOURCE(rsrc, rsrc_type, passed_id, default_id, resource_type_name, resource_type) \
+ rsrc = (rsrc_type) zend_fetch_resource(passed_id, default_id, resource_type_name, resource_type); \
+ ZEND_VERIFY_RESOURCE(rsrc);
+
#endif