📄 php_dba.h
字号:
/* +----------------------------------------------------------------------+ | PHP Version 4 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2007 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann <sascha@schumann.cx> | +----------------------------------------------------------------------+ *//* $Id: php_dba.h,v 1.19.2.5.8.2 2007/01/01 09:46:40 sebastian Exp $ */#ifndef PHP_DBA_H#define PHP_DBA_H#if HAVE_DBAtypedef enum { /* do not allow 0 here */ DBA_READER = 1, DBA_WRITER, DBA_TRUNC, DBA_CREAT} dba_mode_t;typedef struct dba_lock { php_stream *fp; int fd; char *name; int mode; /* LOCK_EX,LOCK_SH */} dba_lock;typedef struct dba_info { /* public */ void *dbf; /* ptr to private data or whatever */ char *path; dba_mode_t mode; php_stream *fp; /* this is the database stream for builtin handlers */ /* arg[cv] are only available when the dba_open handler is called! */ int argc; zval ***argv; /* private */ int flags; /* whether and how dba did locking and other flags*/ struct dba_handler *hnd; dba_lock lock;} dba_info;#define DBA_LOCK_READER (0x0001)#define DBA_LOCK_WRITER (0x0002)#define DBA_LOCK_CREAT (0x0004)#define DBA_LOCK_TRUNC (0x0008)#define DBA_LOCK_EXT (0)#define DBA_LOCK_ALL (DBA_LOCK_READER|DBA_LOCK_WRITER|DBA_LOCK_CREAT|DBA_LOCK_TRUNC)#define DBA_LOCK_WCT (DBA_LOCK_WRITER|DBA_LOCK_CREAT|DBA_LOCK_TRUNC)#define DBA_STREAM_OPEN (0x0010)#define DBA_PERSISTENT (0x0020)extern zend_module_entry dba_module_entry;#define dba_module_ptr &dba_module_entrytypedef 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) \ int dba_open_##x(dba_info *info, char **error TSRMLS_DC)#define DBA_CLOSE_FUNC(x) \ void dba_close_##x(dba_info *info TSRMLS_DC)#define DBA_FETCH_FUNC(x) \ char *dba_fetch_##x(dba_info *info, char *key, int keylen, int skip, int *newlen TSRMLS_DC)#define DBA_UPDATE_FUNC(x) \ int dba_update_##x(dba_info *info, char *key, int keylen, char *val, int vallen, int mode TSRMLS_DC)#define DBA_EXISTS_FUNC(x) \ int dba_exists_##x(dba_info *info, char *key, int keylen TSRMLS_DC)#define DBA_DELETE_FUNC(x) \ int dba_delete_##x(dba_info *info, char *key, int keylen TSRMLS_DC)#define DBA_FIRSTKEY_FUNC(x) \ char *dba_firstkey_##x(dba_info *info, int *newlen TSRMLS_DC)#define DBA_NEXTKEY_FUNC(x) \ char *dba_nextkey_##x(dba_info *info, int *newlen TSRMLS_DC)#define DBA_OPTIMIZE_FUNC(x) \ 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); \ DBA_CLOSE_FUNC(x); \ DBA_FETCH_FUNC(x); \ DBA_UPDATE_FUNC(x); \ DBA_DELETE_FUNC(x); \ DBA_EXISTS_FUNC(x); \ DBA_FIRSTKEY_FUNC(x); \ DBA_NEXTKEY_FUNC(x); \ DBA_OPTIMIZE_FUNC(x); \ DBA_SYNC_FUNC(x); \ DBA_INFO_FUNC(x)#define VALLEN(p) Z_STRVAL_PP(p), Z_STRLEN_PP(p) PHP_FUNCTION(dba_open);PHP_FUNCTION(dba_popen);PHP_FUNCTION(dba_close);PHP_FUNCTION(dba_firstkey);PHP_FUNCTION(dba_nextkey);PHP_FUNCTION(dba_replace);PHP_FUNCTION(dba_insert);PHP_FUNCTION(dba_delete);PHP_FUNCTION(dba_exists);PHP_FUNCTION(dba_fetch);PHP_FUNCTION(dba_optimize);PHP_FUNCTION(dba_sync);PHP_FUNCTION(dba_handlers);PHP_FUNCTION(dba_list);#else#define dba_module_ptr NULL#endif#define phpext_dba_ptr dba_module_ptr#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -