/usr/include/pike7.8/pike/hashtable.h is in pike7.8-dev 7.8.866-8.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /*
|| This file is part of Pike. For copyright information see COPYRIGHT.
|| Pike is distributed under GPL, LGPL and MPL. See the file COPYING
|| for more information.
|| $Id: 973a90c32dffeb0b671cc20ff10fe1db79bb884d $
*/
#ifndef HASHTABLE_H
#define HASHTABLE_H
#include "global.h"
#define AVERAGE_HASH_LENGTH 16
#define NEW_HASHTABLE_SIZE 4
#ifndef STRUCT_HASH_ENTRY_DECLARED
#define STRUCT_HASH_ENTRY_DECLARED
#endif
struct hash_entry
{
struct hash_entry *next;
struct pike_string *s;
};
#ifndef STRUCT_HASH_TABLE_DECLARED
#define STRUCT_HASH_TABLE_DECLARED
#endif
struct hash_table
{
INT32 mask;
INT32 entries;
struct hash_entry *htable[1];
};
/* Prototypes begin here */
struct hash_entry *hash_lookup(struct hash_table *h, struct pike_string *s);
struct hash_table *create_hash_table(void);
struct hash_table *hash_rehash(struct hash_table *h,int size);
struct hash_table *hash_insert(struct hash_table *h, struct hash_entry *s);
struct hash_table *hash_unlink(struct hash_table *h, struct hash_entry *s);
void map_hashtable(struct hash_table *h, void (*fun)(struct hash_entry *));
void free_hashtable(struct hash_table *h,
void (*free_entry)(struct hash_entry *));
/* Prototypes end here */
#endif
|