diff options
author | Marcus Boerger <helly@php.net> | 2002-12-30 13:07:30 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2002-12-30 13:07:30 +0000 |
commit | 4d2f7207c04a6377699cb96a7946cde3662c51fe (patch) | |
tree | 991d8a9236c178eeb497c2a58a56ff37c0cfcca8 /ext/dba/php_dba.h | |
parent | 426cf8eb5712f10e84a16f1cbb127c1aaa045d9c (diff) | |
download | php-git-4d2f7207c04a6377699cb96a7946cde3662c51fe.tar.gz |
Add info function to handlers and return handler info when dba_handlers is
called with optional parameter full_info set true.
Diffstat (limited to 'ext/dba/php_dba.h')
-rw-r--r-- | ext/dba/php_dba.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/ext/dba/php_dba.h b/ext/dba/php_dba.h index 2e8877b6b5..3f61219d5a 100644 --- a/ext/dba/php_dba.h +++ b/ext/dba/php_dba.h @@ -68,6 +68,23 @@ typedef struct dba_info { extern zend_module_entry dba_module_entry; #define dba_module_ptr &dba_module_entry +typedef struct dba_handler { + char *name; /* handler name */ + int flags; /* whether and how dba does locking and other flags*/ + int (*open)(dba_info *, char **error TSRMLS_DC); + void (*close)(dba_info * TSRMLS_DC); + char* (*fetch)(dba_info *, char *, int, int, int * TSRMLS_DC); + int (*update)(dba_info *, char *, int, char *, int, int TSRMLS_DC); + int (*exists)(dba_info *, char *, int TSRMLS_DC); + int (*delete)(dba_info *, char *, int TSRMLS_DC); + char* (*firstkey)(dba_info *, int * TSRMLS_DC); + char* (*nextkey)(dba_info *, int * TSRMLS_DC); + int (*optimize)(dba_info * TSRMLS_DC); + int (*sync)(dba_info * TSRMLS_DC); + char* (*info)(struct dba_handler *hnd, dba_info * TSRMLS_DC); + /* dba_info==NULL: Handler info, dba_info!=NULL: Database info */ +} dba_handler; + /* common prototypes which must be supplied by modules */ #define DBA_OPEN_FUNC(x) \ @@ -90,6 +107,8 @@ extern zend_module_entry dba_module_entry; int dba_optimize_##x(dba_info *info TSRMLS_DC) #define DBA_SYNC_FUNC(x) \ int dba_sync_##x(dba_info *info TSRMLS_DC) +#define DBA_INFO_FUNC(x) \ + char *dba_info_##x(dba_handler *hnd, dba_info *info TSRMLS_DC) #define DBA_FUNCS(x) \ DBA_OPEN_FUNC(x); \ @@ -101,7 +120,8 @@ extern zend_module_entry dba_module_entry; DBA_FIRSTKEY_FUNC(x); \ DBA_NEXTKEY_FUNC(x); \ DBA_OPTIMIZE_FUNC(x); \ - DBA_SYNC_FUNC(x) + DBA_SYNC_FUNC(x); \ + DBA_INFO_FUNC(x) #define VALLEN(p) Z_STRVAL_PP(p), Z_STRLEN_PP(p) |