8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / cmd / sgs / link_audit / common / hash.h
blob1121abd02688882aa9027e076e2fd71504d3fce7
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
23 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
25 #ifndef _HASH_H
26 #define _HASH_H
28 typedef struct hash_entry {
29 struct hash_entry *next_entry;
30 struct hash_entry *right_entry;
31 struct hash_entry *left_entry;
32 char *key;
33 char *data;
34 } hash_entry;
36 typedef struct hash {
37 size_t size;
38 hash_entry **table;
39 hash_entry *start;
40 enum hash_type {
41 String_Key = 0,
42 Integer_Key = 1
43 } hash_type;
44 } hash;
46 extern hash *make_hash(size_t);
47 extern hash *make_ihash(size_t);
48 extern char **get_hash(hash *, char *);
49 extern char **find_hash(hash *, const char *);
50 extern char *del_hash(hash *, const char *);
51 extern size_t operate_hash(hash *, void (*)(), const char *);
52 extern void destroy_hash(hash *, int (*)(), const char *);
54 #endif /* _HASH_H */