]> git.saurik.com Git - apple/libc.git/blobdiff - db/hash/FreeBSD/hash.h
Libc-1439.100.3.tar.gz
[apple/libc.git] / db / hash / FreeBSD / hash.h
index 33fefa7d298e161449a54bd1cd749d130db2b321..e4f77c2bf618e485565ebe156c55f34f1c52f363 100644 (file)
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
@@ -34,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *     @(#)hash.h      8.3 (Berkeley) 5/31/94
- * $FreeBSD: src/lib/libc/db/hash/hash.h,v 1.6 2002/03/21 22:46:26 obrien Exp $
+ * $FreeBSD: src/lib/libc/db/hash/hash.h,v 1.9 2009/03/28 05:45:29 delphij Exp $
  */
 
 /* Operations */
@@ -64,28 +60,28 @@ typedef BUFHEAD **SEGMENT;
 
 /* Hash Table Information */
 typedef struct hashhdr {               /* Disk resident portion */
-       int             magic;          /* Magic NO for hash tables */
-       int             version;        /* Version ID */
+       int32_t         magic;          /* Magic NO for hash tables */
+       int32_t         version;        /* Version ID */
        u_int32_t       lorder;         /* Byte Order */
-       int             bsize;          /* Bucket/Page Size */
-       int             bshift;         /* Bucket shift */
-       int             dsize;          /* Directory Size */
-       int             ssize;          /* Segment Size */
-       int             sshift;         /* Segment shift */
-       int             ovfl_point;     /* Where overflow pages are being 
+       int32_t         bsize;          /* Bucket/Page Size */
+       int32_t         bshift;         /* Bucket shift */
+       int32_t         dsize;          /* Directory Size */
+       int32_t         ssize;          /* Segment Size */
+       int32_t         sshift;         /* Segment shift */
+       int32_t         ovfl_point;     /* Where overflow pages are being 
                                         * allocated */
-       int             last_freed;     /* Last overflow page freed */
-       int             max_bucket;     /* ID of Maximum bucket in use */
-       int             high_mask;      /* Mask to modulo into entire table */
-       int             low_mask;       /* Mask to modulo into lower half of 
+       int32_t         last_freed;     /* Last overflow page freed */
+       u_int32_t       max_bucket;     /* ID of Maximum bucket in use */
+       u_int32_t       high_mask;      /* Mask to modulo into entire table */
+       u_int32_t       low_mask;       /* Mask to modulo into lower half of 
                                         * table */
-       int             ffactor;        /* Fill factor */
-       int             nkeys;          /* Number of keys in hash table */
-       int             hdrpages;       /* Size of table header */
-       int             h_charkey;      /* value of hash(CHARKEY) */
+       u_int32_t       ffactor;        /* Fill factor */
+       int32_t         nkeys;          /* Number of keys in hash table */
+       int32_t         hdrpages;       /* Size of table header */
+       int32_t         h_charkey;      /* value of hash(CHARKEY) */
 #define NCACHED        32                      /* number of bit maps and spare 
                                         * points */
-       int             spares[NCACHED];/* spare pages for overflow */
+       int32_t         spares[NCACHED];/* spare pages for overflow */
        u_int16_t       bitmaps[NCACHED];       /* address of overflow page 
                                                 * bitmaps */
 } HASHHDR;
@@ -117,6 +113,8 @@ typedef struct htab  {              /* Memory resident data structure */
                                         * allocate */
        BUFHEAD         bufhead;        /* Header of buffer lru list */
        SEGMENT         *dir;           /* Hash Bucket directory */
+                                       /* other flags */
+       int             nextkey_eof :1; /* dbm_nextkey() reached EOF */
 } HTAB;
 
 /*