/************************************************************************ * * * Copyright (c) 1982, Fred Fish * * All Rights Reserved * * * * This software and/or documentation is released for public * * distribution for personal, non-commercial use only. * * Limited rights to use, modify, and redistribute are hereby * * granted for non-commercial purposes, provided that all * * copyright notices remain intact and all changes are clearly * * documented. The author makes no warranty of any kind with * * respect to this product and explicitly disclaims any implied * * warranties of merchantability or fitness for any particular * * purpose. * * * ************************************************************************ */ /* * FILE * * hashtbl.h header file for generic hash table usage * * KEY WORDS * * header files * generic hash table * * SYNOPSIS * * #include "hashtbl.h" * * DESCRIPTION * * Contains structure declarations and other common stuff * for program modules which use the generic hash table * routines. * * Note that this is where the table data structure is * defined, hence this is generally the only place where * changes need be made for different applications. * * The only sacrosanct items in the table data structure * are the structure tag and the name field. All other * fields can be changed by the user. * * AUTHOR * * Fred Fish * */ /* * Configuration options. Things which are generally somewhat * arbitrary (based on time or size constraints) belong here. * */ #define HASH_SIZE 100 /* Size of the configuration table */ /* * Definition of the table data structure. Note that this * structure must be customized for each usage. The only * sacrosanct items are the struct tag ("tbl_data") and the * name field ("name"). These are the only portions of the * structure used internally in the table manipulation * routines. */ struct tbl_data { /* Contains the actual table data */ char *name; /* Name of the entry (required) */ char *out; /* Name of output stream */ FILE *ofp; /* Pointer to output stream (if open) */ int flags; /* Section flags */ };