]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/CCode/Source/Pccts/support/sym/template.h
More moves for Tool Packages
[mirror_edk2.git] / Tools / CCode / Source / Pccts / support / sym / template.h
1 /* 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 */
2
3 /* define some hash function */
4 #ifndef HASH
5 #define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;
6 #endif
7
8 /* minimum symbol table record */
9 typedef struct _sym {
10 char *symbol;
11 struct _sym *next, *prev, **head, *scope;
12 unsigned int hash;
13 } Sym, *SymPtr;
14
15 #ifdef __USE_PROTOS
16 void zzs_init(int, int);
17 void zzs_done(void);
18 void zzs_add(char *, Sym *);
19 Sym *zzs_get(char *);
20 void zzs_del(Sym *);
21 void zzs_keydel(char *);
22 Sym **zzs_scope(Sym **);
23 Sym *zzs_rmscope(Sym **);
24 void zzs_stat(void);
25 Sym *zzs_new(char *);
26 Sym *zzs_newadd(char *);
27 char *zzs_strdup(char *);
28 #else
29 void zzs_init();
30 void zzs_done();
31 void zzs_add();
32 Sym *zzs_get();
33 void zzs_del();
34 void zzs_keydel();
35 Sym **zzs_scope();
36 Sym *zzs_rmscope();
37 void zzs_stat();
38 Sym *zzs_new();
39 Sym *zzs_newadd();
40 char *zzs_strdup();
41 #endif