hashtable.c File Reference


Detailed Description

Simple hashtable type.

Author:
Antoine Fraboulet
Date:
1999

Definition in file hashtable.c.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "hashtable.h"

Go to the source code of this file.

Data Structures

struct  _Hash_node
struct  _Hash_table

Typedefs

typedef _Hash_node Hash_node

Functions

Hash_table hash_init (unsigned int size)
void hash_rec_free (Hash_node *node)
int hash_destroy (Hash_table hashtable)
static unsigned int hash_key (Hash_table hashtable, void *ptr, unsigned int size)
void * hash_find (Hash_table hashtable, void *key, unsigned int keysize)
static Hash_nodenew_entry (void *key, unsigned int keysize, void *value, unsigned int valuesize)
int hash_add (Hash_table hashtable, void *key, unsigned int keysize, void *value, unsigned int valuesize)


Typedef Documentation

typedef struct _Hash_node Hash_node
 


Function Documentation

int hash_add Hash_table  hashtable,
void *  key,
unsigned int  keysize,
void *  value,
unsigned int  valuesize
 

Definition at line 148 of file hashtable.c.

References hash_key(), new_entry(), _Hash_node::next, and _Hash_table::nodes.

Referenced by makenode().

int hash_destroy Hash_table  hashtable  ) 
 

Definition at line 73 of file hashtable.c.

References hash_rec_free(), _Hash_table::nodes, and _Hash_table::size.

Referenced by main().

void* hash_find Hash_table  hashtable,
void *  key,
unsigned int  keysize
 

Definition at line 113 of file hashtable.c.

References hash_key(), _Hash_node::key, _Hash_table::nodes, and _Hash_node::value.

Referenced by makenode().

Hash_table hash_init unsigned int  size  ) 
 

Definition at line 47 of file hashtable.c.

References _Hash_table::nodes, and _Hash_table::size.

Referenced by main().

static unsigned int hash_key Hash_table  hashtable,
void *  ptr,
unsigned int  size
[static]
 

Definition at line 90 of file hashtable.c.

References _Hash_table::size.

Referenced by hash_add(), and hash_find().

void hash_rec_free Hash_node node  ) 
 

Definition at line 58 of file hashtable.c.

References _Hash_node::key, _Hash_node::next, and _Hash_node::value.

Referenced by hash_destroy().

static Hash_node* new_entry void *  key,
unsigned int  keysize,
void *  value,
unsigned int  valuesize
[static]
 

Definition at line 132 of file hashtable.c.

References _Hash_node::key, _Hash_node::keysize, _Hash_node::value, and _Hash_node::valuesize.

Referenced by hash_add().


Generated on Thu Dec 29 02:01:15 2005 for Eliot by  doxygen 1.4.5