git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			42 lines
		
	
	
		
			914 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			914 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* T e m p l a t e  F o r  S y m b o l  T a b l e  M a n a g e r */
 | 
						|
 | 
						|
/* define some hash function */
 | 
						|
#ifndef HASH
 | 
						|
#define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;
 | 
						|
#endif
 | 
						|
 | 
						|
/* minimum symbol table record */
 | 
						|
typedef struct _sym {
 | 
						|
			char *symbol;
 | 
						|
			struct _sym *next, *prev, **head, *scope;
 | 
						|
			unsigned int hash;
 | 
						|
		} Sym, *SymPtr;
 | 
						|
 | 
						|
#ifdef __USE_PROTOS
 | 
						|
void zzs_init(int, int);
 | 
						|
void zzs_done(void);
 | 
						|
void zzs_add(char *, Sym *);
 | 
						|
Sym *zzs_get(char *);
 | 
						|
void zzs_del(Sym *);
 | 
						|
void zzs_keydel(char *);
 | 
						|
Sym **zzs_scope(Sym **);
 | 
						|
Sym *zzs_rmscope(Sym **);
 | 
						|
void zzs_stat(void);
 | 
						|
Sym *zzs_new(char *);
 | 
						|
Sym *zzs_newadd(char *);
 | 
						|
char *zzs_strdup(char *);
 | 
						|
#else
 | 
						|
void zzs_init();
 | 
						|
void zzs_done();
 | 
						|
void zzs_add();
 | 
						|
Sym *zzs_get();
 | 
						|
void zzs_del();
 | 
						|
void zzs_keydel();
 | 
						|
Sym **zzs_scope();
 | 
						|
Sym *zzs_rmscope();
 | 
						|
void zzs_stat();
 | 
						|
Sym *zzs_new();
 | 
						|
Sym *zzs_newadd();
 | 
						|
char *zzs_strdup();
 | 
						|
#endif
 |