summaryrefslogtreecommitdiff
path: root/ext/dba/libcdb/cdb.h
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2002-11-04 17:53:04 +0000
committerMarcus Boerger <helly@php.net>2002-11-04 17:53:04 +0000
commit5be5c7f14f69ebb75129a90215fca6e047920ac0 (patch)
tree4b50e780029ecfd5fe1f09d9e35f4bbe221600bf /ext/dba/libcdb/cdb.h
parenta8d4bb9d287b58a67d2cb532a469ae40f1b07268 (diff)
downloadphp-git-5be5c7f14f69ebb75129a90215fca6e047920ac0.tar.gz
incorporate cdb-0.75 as suggested by D. J. Bernstein
#dba now supports cdb_make
Diffstat (limited to 'ext/dba/libcdb/cdb.h')
-rw-r--r--ext/dba/libcdb/cdb.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/dba/libcdb/cdb.h b/ext/dba/libcdb/cdb.h
new file mode 100644
index 0000000000..74dc6947d1
--- /dev/null
+++ b/ext/dba/libcdb/cdb.h
@@ -0,0 +1,55 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 4 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2002 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.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: Marcus Boerger <helly@php.net> |
+ +----------------------------------------------------------------------+
+ */
+
+/* $Id$ */
+
+/* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/
+
+#ifndef CDB_H
+#define CDB_H
+
+#include "uint32.h"
+
+#define CDB_HASHSTART 5381
+
+struct cdb {
+ php_stream *fp;
+ uint32 loop; /* number of hash slots searched under this key */
+ uint32 khash; /* initialized if loop is nonzero */
+ uint32 kpos; /* initialized if loop is nonzero */
+ uint32 hpos; /* initialized if loop is nonzero */
+ uint32 hslots; /* initialized if loop is nonzero */
+ uint32 dpos; /* initialized if cdb_findnext() returns 1 */
+ uint32 dlen; /* initialized if cdb_findnext() returns 1 */
+};
+
+PHPAPI uint32 cdb_hash(char *, unsigned int);
+
+PHPAPI void cdb_free(struct cdb * TSRMLS_DC);
+PHPAPI void cdb_init(struct cdb *, php_stream *fp TSRMLS_DC);
+
+PHPAPI int cdb_read(struct cdb *, char *, unsigned int, uint32 TSRMLS_DC);
+
+PHPAPI void cdb_findstart(struct cdb * TSRMLS_DC);
+PHPAPI int cdb_findnext(struct cdb *, char *, unsigned int TSRMLS_DC);
+PHPAPI int cdb_find(struct cdb *, char *, unsigned int TSRMLS_DC);
+
+#define cdb_datapos(c) ((c)->dpos)
+#define cdb_datalen(c) ((c)->dlen)
+
+#endif