aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/db/hash/hash_page.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/db/hash/hash_page.c')
-rw-r--r--lib/libc/db/hash/hash_page.c114
1 files changed, 41 insertions, 73 deletions
diff --git a/lib/libc/db/hash/hash_page.c b/lib/libc/db/hash/hash_page.c
index daeb18ed0c4e..0c0146846554 100644
--- a/lib/libc/db/hash/hash_page.c
+++ b/lib/libc/db/hash/hash_page.c
@@ -72,14 +72,13 @@ __FBSDID("$FreeBSD$");
#include "page.h"
#include "extern.h"
-static u_int32_t *fetch_bitmap(HTAB *, int);
-static u_int32_t first_free(u_int32_t);
-static int open_temp(HTAB *);
-static u_int16_t overflow_page(HTAB *);
-static void putpair(char *, const DBT *, const DBT *);
-static void squeeze_key(u_int16_t *, const DBT *, const DBT *);
-static int ugly_split
-(HTAB *, u_int32_t, BUFHEAD *, BUFHEAD *, int, int);
+static u_int32_t *fetch_bitmap(HTAB *, int);
+static u_int32_t first_free(u_int32_t);
+static int open_temp(HTAB *);
+static u_int16_t overflow_page(HTAB *);
+static void putpair(char *, const DBT *, const DBT *);
+static void squeeze_key(u_int16_t *, const DBT *, const DBT *);
+static int ugly_split(HTAB *, u_int32_t, BUFHEAD *, BUFHEAD *, int, int);
#define PAGE_INIT(P) { \
((u_int16_t *)(P))[0] = 0; \
@@ -93,9 +92,7 @@ static int ugly_split
* stuff on.
*/
static void
-putpair(p, key, val)
- char *p;
- const DBT *key, *val;
+putpair(char *p, const DBT *key, const DBT *val)
{
u_int16_t *bp, n, off;
@@ -124,11 +121,8 @@ putpair(p, key, val)
* 0 OK
* -1 error
*/
-extern int
-__delpair(hashp, bufp, ndx)
- HTAB *hashp;
- BUFHEAD *bufp;
- int ndx;
+int
+__delpair(HTAB *hashp, BUFHEAD *bufp, int ndx)
{
u_int16_t *bp, newoff;
int n;
@@ -177,10 +171,8 @@ __delpair(hashp, bufp, ndx)
* 0 ==> OK
* -1 ==> Error
*/
-extern int
-__split_page(hashp, obucket, nbucket)
- HTAB *hashp;
- u_int32_t obucket, nbucket;
+int
+__split_page(HTAB *hashp, u_int32_t obucket, u_int32_t nbucket)
{
BUFHEAD *new_bufp, *old_bufp;
u_int16_t *ino;
@@ -274,17 +266,17 @@ __split_page(hashp, obucket, nbucket)
* -1 ==> failure
*/
static int
-ugly_split(hashp, obucket, old_bufp, new_bufp, copyto, moved)
- HTAB *hashp;
- u_int32_t obucket; /* Same as __split_page. */
- BUFHEAD *old_bufp, *new_bufp;
- int copyto; /* First byte on page which contains key/data values. */
- int moved; /* Number of pairs moved to new page. */
+ugly_split(HTAB *hashp,
+ u_int32_t obucket, /* Same as __split_page. */
+ BUFHEAD *old_bufp,
+ BUFHEAD *new_bufp,
+ int copyto, /* First byte on page which contains key/data values. */
+ int moved) /* Number of pairs moved to new page. */
{
- BUFHEAD *bufp; /* Buffer header for ino */
- u_int16_t *ino; /* Page keys come off of */
- u_int16_t *np; /* New page */
- u_int16_t *op; /* Page keys go on to if they aren't moving */
+ BUFHEAD *bufp; /* Buffer header for ino */
+ u_int16_t *ino; /* Page keys come off of */
+ u_int16_t *np; /* New page */
+ u_int16_t *op; /* Page keys go on to if they aren't moving */
BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */
DBT key, val;
@@ -394,11 +386,8 @@ ugly_split(hashp, obucket, old_bufp, new_bufp, copyto, moved)
* 0 ==> OK
* 1 ==> failure
*/
-extern int
-__addel(hashp, bufp, key, val)
- HTAB *hashp;
- BUFHEAD *bufp;
- const DBT *key, *val;
+int
+__addel(HTAB *hashp, BUFHEAD *bufp, const DBT *key, const DBT *val)
{
u_int16_t *bp, *sop;
int do_expand;
@@ -461,10 +450,8 @@ __addel(hashp, bufp, key, val)
* pointer on success
* NULL on error
*/
-extern BUFHEAD *
-__add_ovflpage(hashp, bufp)
- HTAB *hashp;
- BUFHEAD *bufp;
+BUFHEAD *
+__add_ovflpage(HTAB *hashp, BUFHEAD *bufp)
{
u_int16_t *sp;
u_int16_t ndx, ovfl_num;
@@ -514,12 +501,9 @@ __add_ovflpage(hashp, bufp)
* 0 indicates SUCCESS
* -1 indicates FAILURE
*/
-extern int
-__get_page(hashp, p, bucket, is_bucket, is_disk, is_bitmap)
- HTAB *hashp;
- char *p;
- u_int32_t bucket;
- int is_bucket, is_disk, is_bitmap;
+int
+__get_page(HTAB *hashp, char *p, u_int32_t bucket, int is_bucket, int is_disk,
+ int is_bitmap)
{
int fd, page, size;
int rsize;
@@ -574,12 +558,8 @@ __get_page(hashp, p, bucket, is_bucket, is_disk, is_bitmap)
* 0 ==> OK
* -1 ==>failure
*/
-extern int
-__put_page(hashp, p, bucket, is_bucket, is_bitmap)
- HTAB *hashp;
- char *p;
- u_int32_t bucket;
- int is_bucket, is_bitmap;
+int
+__put_page(HTAB *hashp, char *p, u_int32_t bucket, int is_bucket, int is_bitmap)
{
int fd, page, size;
int wsize;
@@ -623,10 +603,8 @@ __put_page(hashp, p, bucket, is_bucket, is_bitmap)
* Initialize a new bitmap page. Bitmap pages are left in memory
* once they are read in.
*/
-extern int
-__ibitmap(hashp, pnum, nbits, ndx)
- HTAB *hashp;
- int pnum, nbits, ndx;
+int
+__ibitmap(HTAB *hashp, int pnum, int nbits, int ndx)
{
u_int32_t *ip;
int clearbytes, clearints;
@@ -647,8 +625,7 @@ __ibitmap(hashp, pnum, nbits, ndx)
}
static u_int32_t
-first_free(map)
- u_int32_t map;
+first_free(u_int32_t map)
{
u_int32_t i, mask;
@@ -662,8 +639,7 @@ first_free(map)
}
static u_int16_t
-overflow_page(hashp)
- HTAB *hashp;
+overflow_page(HTAB *hashp)
{
u_int32_t *freep;
int max_free, offset, splitnum;
@@ -809,10 +785,8 @@ found:
/*
* Mark this overflow page as free.
*/
-extern void
-__free_ovflpage(hashp, obufp)
- HTAB *hashp;
- BUFHEAD *obufp;
+void
+__free_ovflpage(HTAB *hashp, BUFHEAD *obufp)
{
u_int16_t addr;
u_int32_t *freep;
@@ -856,8 +830,7 @@ __free_ovflpage(hashp, obufp)
* -1 failure
*/
static int
-open_temp(hashp)
- HTAB *hashp;
+open_temp(HTAB *hashp)
{
sigset_t set, oset;
static char namestr[] = "_hashXXXXXX";
@@ -878,9 +851,7 @@ open_temp(hashp)
* an overflow pair, so we need to shift things.
*/
static void
-squeeze_key(sp, key, val)
- u_int16_t *sp;
- const DBT *key, *val;
+squeeze_key(u_int16_t *sp, const DBT *key, const DBT *val)
{
char *p;
u_int16_t free_space, n, off, pageno;
@@ -905,9 +876,7 @@ squeeze_key(sp, key, val)
}
static u_int32_t *
-fetch_bitmap(hashp, ndx)
- HTAB *hashp;
- int ndx;
+fetch_bitmap(HTAB *hashp, int ndx)
{
if (ndx >= hashp->nmaps)
return (NULL);
@@ -923,8 +892,7 @@ fetch_bitmap(hashp, ndx)
#ifdef DEBUG4
int
-print_chain(addr)
- int addr;
+print_chain(int addr)
{
BUFHEAD *bufp;
short *bp, oaddr;