Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Vivek Das Mohapatra
binutils-gdb
Commits
54d22525
Commit
54d22525
authored
Jun 02, 1999
by
Ian Lance Taylor
Browse files
* hash.h: Neaten. Declare hash_traverse.
* hash.c: Complete rewrite based on BFD hashing code.
parent
4305932a
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
gas/hash.c
View file @
54d22525
This diff is collapsed.
Click to expand it.
gas/hash.h
View file @
54d22525
/* hash.h -
for hash.c
Copyright (C) 1987, 199
2
Free Software Foundation, Inc.
/* hash.h -
- header file for gas hash table routines
Copyright (C) 1987,
92, 93, 95,
199
9
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
...
...
@@ -14,32 +14,65 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
along with GAS; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
#ifndef
hash
H
#define
hash
H
#ifndef
HASH_
H
#define
HASH_
H
struct
hash_control
;
/* returns control block */
struct
hash_control
*
hash_new
PARAMS
((
void
));
void
hash_die
PARAMS
((
struct
hash_control
*
));
/* returns previous value */
PTR
hash_delete
PARAMS
((
struct
hash_control
*
,
const
char
*
str
));
/* returns previous value */
PTR
hash_replace
PARAMS
((
struct
hash_control
*
,
const
char
*
str
,
PTR
val
));
/* returns error string or null */
const
char
*
hash_insert
PARAMS
((
struct
hash_control
*
,
const
char
*
str
,
PTR
val
));
/* returns value */
PTR
hash_find
PARAMS
((
struct
hash_control
*
,
const
char
*
str
));
/* returns error text or null (internal) */
const
char
*
hash_jam
PARAMS
((
struct
hash_control
*
,
const
char
*
str
,
PTR
val
));
void
hash_print_statistics
PARAMS
((
FILE
*
,
const
char
*
,
struct
hash_control
*
));
#endif
/* #ifdef hashH */
/* end of hash.h */
/* Create a hash table. This return a control block. */
extern
struct
hash_control
*
hash_new
PARAMS
((
void
));
/* Delete a hash table, freeing all allocated memory. */
extern
void
hash_die
PARAMS
((
struct
hash_control
*
));
/* Insert an entry into a hash table. This returns NULL on success.
On error, it returns a printable string indicating the error. It
is considered to be an error if the entry already exists in the
hash table. */
extern
const
char
*
hash_insert
PARAMS
((
struct
hash_control
*
,
const
char
*
key
,
PTR
value
));
/* Insert or replace an entry in a hash table. This returns NULL on
success. On error, it returns a printable string indicating the
error. If an entry already exists, its value is replaced. */
extern
const
char
*
hash_jam
PARAMS
((
struct
hash_control
*
,
const
char
*
key
,
PTR
value
));
/* Replace an existing entry in a hash table. This returns the old
value stored for the entry. If the entry is not found in the hash
table, this does nothing and returns NULL. */
extern
PTR
hash_replace
PARAMS
((
struct
hash_control
*
,
const
char
*
key
,
PTR
value
));
/* Find an entry in a hash table, returning its value. Returns NULL
if the entry is not found. */
extern
PTR
hash_find
PARAMS
((
struct
hash_control
*
,
const
char
*
key
));
/* Delete an entry from a hash table. This returns the value stored
for that entry, or NULL if there is no such entry. */
extern
PTR
hash_delete
PARAMS
((
struct
hash_control
*
,
const
char
*
key
));
/* Traverse a hash table. Call the function on every entry in the
hash table. */
extern
void
hash_traverse
PARAMS
((
struct
hash_control
*
,
void
(
*
pfn
)
(
const
char
*
key
,
PTR
value
)));
/* Print hash table statistics on the specified file. NAME is the
name of the hash table, used for printing a header. */
extern
void
hash_print_statistics
PARAMS
((
FILE
*
,
const
char
*
name
,
struct
hash_control
*
));
#endif
/* HASH_H */
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment