~ubuntu-branches/ubuntu/quantal/arp-scan/quantal

« back to all changes in this revision

Viewing changes to hash.h

  • Committer: Bazaar Package Importer
  • Author(s): William Vera
  • Date: 2011-07-04 19:37:30 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110704193730-r8fb49mpqqlaic1f
Tags: 1.8.1-1
* New upstream release (Closes: #543383).
* Added William Vera as Uploader.
* Added a debian/watch file.
* Added "Homepage" in debian/control.
* Added libwww-perl as Recommend depend (Closes: #630563).
* Fixed empty-directory usr/sbin/.
* Added a patch to fix hyphen-used-as-minus-sign.
* Updated debian/copyright
* Updated debhelper version (>= 8).
* Updated debian/compat to 8.
* Updated Standards Version to 3.9.2.
* Cleanup debian/rules.
   + distclean rule.
* Switch to dpkg-source 3.0 (quilt) format

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* hash.h -- header file for gas hash table routines
2
 
   Copyright 1987, 1992, 1993, 1995, 1999 Free Software Foundation, Inc.
 
2
   Copyright 1987, 1992, 1993, 1995, 1999, 2003, 2005, 2007, 2008
 
3
   Free Software Foundation, Inc.
3
4
 
4
5
   This file is part of GAS, the GNU Assembler.
5
6
 
6
7
   GAS is free software; you can redistribute it and/or modify
7
8
   it under the terms of the GNU General Public License as published by
8
 
   the Free Software Foundation; either version 2, or (at your option)
 
9
   the Free Software Foundation; either version 3, or (at your option)
9
10
   any later version.
10
11
 
11
12
   GAS is distributed in the hope that it will be useful,
15
16
 
16
17
   You should have received a copy of the GNU General Public License
17
18
   along with GAS; see the file COPYING.  If not, write to the Free
18
 
   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19
 
   02111-1307, USA.  */
 
19
   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
 
20
   02110-1301, USA.  */
20
21
 
21
22
#ifndef HASH_H
22
23
#define HASH_H
23
24
 
24
 
/* rsh changes start */
25
 
#define PTR     void *
26
 
/* rsh changes end */
27
 
 
28
25
struct hash_control;
29
26
 
 
27
/* Set the size of the hash table used.  */
 
28
 
 
29
void set_gas_hash_table_size (unsigned long);
 
30
 
30
31
/* Create a hash table.  This return a control block.  */
31
32
 
32
33
extern struct hash_control *hash_new (void);
41
42
   hash table.  */
42
43
 
43
44
extern const char *hash_insert (struct hash_control *,
44
 
                                const char *key, PTR value);
 
45
                                const char *key, void *value);
45
46
 
46
47
/* Insert or replace an entry in a hash table.  This returns NULL on
47
48
   success.  On error, it returns a printable string indicating the
48
49
   error.  If an entry already exists, its value is replaced.  */
49
50
 
50
51
extern const char *hash_jam (struct hash_control *,
51
 
                             const char *key, PTR value);
 
52
                             const char *key, void *value);
52
53
 
53
54
/* Replace an existing entry in a hash table.  This returns the old
54
55
   value stored for the entry.  If the entry is not found in the hash
55
56
   table, this does nothing and returns NULL.  */
56
57
 
57
 
extern PTR hash_replace (struct hash_control *, const char *key,
58
 
                         PTR value);
 
58
extern void *hash_replace (struct hash_control *, const char *key,
 
59
                         void *value);
59
60
 
60
61
/* Find an entry in a hash table, returning its value.  Returns NULL
61
62
   if the entry is not found.  */
62
63
 
63
 
extern PTR hash_find (struct hash_control *, const char *key);
 
64
extern void *hash_find (struct hash_control *, const char *key);
 
65
 
 
66
/* As hash_find, but KEY is of length LEN and is not guaranteed to be
 
67
   NUL-terminated.  */
 
68
 
 
69
extern void *hash_find_n (struct hash_control *, const char *key, size_t len);
64
70
 
65
71
/* Delete an entry from a hash table.  This returns the value stored
66
72
   for that entry, or NULL if there is no such entry.  */
67
73
 
68
 
extern PTR hash_delete (struct hash_control *, const char *key);
 
74
extern void *hash_delete (struct hash_control *, const char *key, int);
69
75
 
70
76
/* Traverse a hash table.  Call the function on every entry in the
71
77
   hash table.  */
72
78
 
73
79
extern void hash_traverse (struct hash_control *,
74
 
                           void (*pfn) (const char *key, PTR value));
 
80
                           void (*pfn) (const char *key, void *value));
75
81
 
76
82
/* Print hash table statistics on the specified file.  NAME is the
77
83
   name of the hash table, used for printing a header.  */