21#define PHP_DBA_VERSION PHP_VERSION
33typedef struct dba_lock {
38typedef struct dba_info {
51 const struct dba_handler *hnd;
55typedef struct dba_connection {
61#define DBA_DEFAULT_DRIVER_FLAGS -1
63#define DBA_LOCK_READER (0x0001)
64#define DBA_LOCK_WRITER (0x0002)
65#define DBA_LOCK_CREAT (0x0004)
66#define DBA_LOCK_TRUNC (0x0008)
68#define DBA_LOCK_EXT (0)
69#define DBA_LOCK_ALL (DBA_LOCK_READER|DBA_LOCK_WRITER|DBA_LOCK_CREAT|DBA_LOCK_TRUNC)
70#define DBA_LOCK_WCT (DBA_LOCK_WRITER|DBA_LOCK_CREAT|DBA_LOCK_TRUNC)
72#define DBA_STREAM_OPEN (0x0010)
73#define DBA_PERSISTENT (0x0020)
75#define DBA_CAST_AS_FD (0x0050)
76#define DBA_NO_APPEND (0x00D0)
79#define dba_module_ptr &dba_module_entry
81typedef struct dba_handler {
94 char* (*info)(
const struct dba_handler *hnd, dba_info *);
100#define DBA_OPEN_FUNC(x) \
101 zend_result dba_open_##x(dba_info *info, const char **error)
102#define DBA_CLOSE_FUNC(x) \
103 void dba_close_##x(dba_info *info)
104#define DBA_FETCH_FUNC(x) \
105 zend_string *dba_fetch_##x(dba_info *info, zend_string *key, int skip)
106#define DBA_UPDATE_FUNC(x) \
107 zend_result dba_update_##x(dba_info *info, zend_string *key, zend_string *val, int mode)
108#define DBA_EXISTS_FUNC(x) \
109 zend_result dba_exists_##x(dba_info *info, zend_string *key)
110#define DBA_DELETE_FUNC(x) \
111 zend_result dba_delete_##x(dba_info *info, zend_string *key)
112#define DBA_FIRSTKEY_FUNC(x) \
113 zend_string *dba_firstkey_##x(dba_info *info)
114#define DBA_NEXTKEY_FUNC(x) \
115 zend_string *dba_nextkey_##x(dba_info *info)
116#define DBA_OPTIMIZE_FUNC(x) \
117 zend_result dba_optimize_##x(dba_info *info)
118#define DBA_SYNC_FUNC(x) \
119 zend_result dba_sync_##x(dba_info *info)
120#define DBA_INFO_FUNC(x) \
121 char *dba_info_##x(const dba_handler *hnd, dba_info *info)
123#define DBA_FUNCS(x) \
127 DBA_UPDATE_FUNC(x); \
128 DBA_DELETE_FUNC(x); \
129 DBA_EXISTS_FUNC(x); \
130 DBA_FIRSTKEY_FUNC(x); \
131 DBA_NEXTKEY_FUNC(x); \
132 DBA_OPTIMIZE_FUNC(x); \
137#define dba_module_ptr NULL
140#define phpext_dba_ptr dba_module_ptr
hash(string $algo, string $data, bool $binary=false, array $options=[])
struct _php_stream php_stream
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)
struct _zend_string zend_string
struct _zend_module_entry zend_module_entry
struct _zend_object zend_object
ZEND_RESULT_CODE zend_result