player/a/
player/b/
player/c/
player/d/
player/e/
player/f/
player/g/
player/i/
player/j/
player/k/
player/m/
player/n/
player/r/
player/s/
player/v/
player/w/
player/x/
player/z/
player_fst/e/
player_fst/f/
player_fst/h/
player_fst/i/
player_fst/j/
player_fst/n/
player_fst/o/
player_fst/p/
player_fst/player/a/
player_fst/player/b/
player_fst/player/c/
player_fst/player/d/
player_fst/player/e/
player_fst/player/f/
player_fst/player/g/
player_fst/player/j/
player_fst/player/k/
player_fst/player/m/
player_fst/player/n/
player_fst/player/r/
player_fst/player/s/
player_fst/player/v/
player_fst/player/w/
player_fst/player/x/
player_fst/player/z/
player_fst/u/
player_fst/v/
player_fst/w/
player_fst/x/
#ifndef DEC_TYPEDEFS_H
#include "typedefs.h"
#endif
#ifndef DEC_LISTS_H
#include "lists.h"
#endif



struct hash_entry_tp {
	bool		is_free; /* Ramias:for run-time checks of LINK/UNLINK */
	HASH_ENTRY *	next;
	void       *	reference;
	int		key;
	};

typedef struct hash_table_tp  hash_table;

struct hash_table_tp {
                       int           max_hash;
                       HASH_ENTRY ** table;
                     };



hash_table * create_hash_table(int max_hash);
void del_hash_entry(hash_table * hash_head,int key);
void add_hash_entry(hash_table * hash_head,int key,void * entry);
void * get_hash_entry(hash_table * hash_head,int key);
void clear_hash_table(hash_table * hash_head);
void delete_hash_table(hash_table * hash_head);