summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bootpd/hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bootpd/hash.h')
-rw-r--r--usr.sbin/bootpd/hash.h158
1 files changed, 0 insertions, 158 deletions
diff --git a/usr.sbin/bootpd/hash.h b/usr.sbin/bootpd/hash.h
deleted file mode 100644
index 51d0a5e..0000000
--- a/usr.sbin/bootpd/hash.h
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef HASH_H
-#define HASH_H
-/* hash.h */
-/************************************************************************
- Copyright 1988, 1991 by Carnegie Mellon University
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the name of Carnegie Mellon University not be used
-in advertising or publicity pertaining to distribution of the software
-without specific, written prior permission.
-
-CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
-IN NO EVENT SHALL CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-************************************************************************/
-
-/*
- * Generalized hash table ADT
- *
- * Provides multiple, dynamically-allocated, variable-sized hash tables on
- * various data and keys.
- *
- * This package attempts to follow some of the coding conventions suggested
- * by Bob Sidebotham and the AFS Clean Code Committee.
- */
-
-
-/*
- * The user must supply the following:
- *
- * 1. A comparison function which is declared as:
- *
- * int compare(data1, data2)
- * hash_datum *data1, *data2;
- *
- * This function must compare the desired fields of data1 and
- * data2 and return TRUE (1) if the data should be considered
- * equivalent (i.e. have the same key value) or FALSE (0)
- * otherwise. This function is called through a pointer passed to
- * the various hashtable functions (thus pointers to different
- * functions may be passed to effect different tests on different
- * hash tables).
- *
- * Internally, all the functions of this package always call the
- * compare function with the "key" parameter as the first parameter,
- * and a full data element as the second parameter. Thus, the key
- * and element arguments to functions such as hash_Lookup() may
- * actually be of different types and the programmer may provide a
- * compare function which compares the two different object types
- * as desired.
- *
- * Example:
- *
- * int compare(key, element)
- * char *key;
- * struct some_complex_structure *element;
- * {
- * return !strcmp(key, element->name);
- * }
- *
- * key = "John C. Doe"
- * element = &some_complex_structure
- * hash_Lookup(table, hashcode, compare, key);
- *
- * 2. A hash function yielding an unsigned integer value to be used
- * as the hashcode (index into the hashtable). Thus, the user
- * may hash on whatever data is desired and may use several
- * different hash functions for various different hash tables.
- * The actual hash table index will be the passed hashcode modulo
- * the hash table size.
- *
- * A generalized hash function, hash_HashFunction(), is included
- * with this package to make things a little easier. It is not
- * guarenteed to use the best hash algorithm in existence. . . .
- */
-
-
-
-/*
- * Various hash table definitions
- */
-
-
-/*
- * Define "hash_datum" as a universal data type
- */
-#ifdef __STDC__
-typedef void hash_datum;
-#else
-typedef char hash_datum;
-#endif
-
-typedef struct hash_memberstruct hash_member;
-typedef struct hash_tblstruct hash_tbl;
-typedef struct hash_tblstruct_hdr hash_tblhdr;
-
-struct hash_memberstruct {
- hash_member *next;
- hash_datum *data;
-};
-
-struct hash_tblstruct_hdr {
- unsigned size, bucketnum;
- hash_member *member;
-};
-
-struct hash_tblstruct {
- unsigned size, bucketnum;
- hash_member *member; /* Used for linear dump */
- hash_member *table[1]; /* Dynamically extended */
-};
-
-/* ANSI function prototypes or empty arg list? */
-#ifdef __STDC__
-#define P(args) args
-#else
-#define P(args) ()
-#endif
-
-typedef int (*hash_cmpfp) P((hash_datum *, hash_datum *));
-typedef void (*hash_freefp) P((hash_datum *));
-
-extern hash_tbl *hash_Init P((u_int tablesize));
-
-extern void hash_Reset P((hash_tbl *tbl, hash_freefp));
-
-extern unsigned hash_HashFunction P((u_char *str, u_int len));
-
-extern int hash_Exists P((hash_tbl *, u_int code,
- hash_cmpfp, hash_datum *key));
-
-extern int hash_Insert P((hash_tbl *, u_int code,
- hash_cmpfp, hash_datum *key,
- hash_datum *element));
-
-extern int hash_Delete P((hash_tbl *, u_int code,
- hash_cmpfp, hash_datum *key,
- hash_freefp));
-
-extern hash_datum *hash_Lookup P((hash_tbl *, u_int code,
- hash_cmpfp, hash_datum *key));
-
-extern hash_datum *hash_FirstEntry P((hash_tbl *));
-
-extern hash_datum *hash_NextEntry P((hash_tbl *));
-
-#undef P
-
-#endif /* HASH_H */
OpenPOWER on IntegriCloud