]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/h/sorlist.h
08c1ad0e1f0fbae32e87fd06bec731eaca6fabd9
[mirror_edk2.git] / EdkCompatibilityPkg / Other / Maintained / Tools / Pccts / sorcerer / h / sorlist.h
1 #ifndef SLIST_H
2 #define SLIST_H
3
4 /*
5 * SList.h
6 *
7 * SOFTWARE RIGHTS
8 *
9 * We reserve no LEGAL rights to SORCERER -- SORCERER is in the public
10 * domain. An individual or company may do whatever they wish with
11 * source code distributed with SORCERER or the code generated by
12 * SORCERER, including the incorporation of SORCERER, or its output, into
13 * commerical software.
14 *
15 * We encourage users to develop software with SORCERER. However, we do
16 * ask that credit is given to us for developing SORCERER. By "credit",
17 * we mean that if you incorporate our source code into one of your
18 * programs (commercial product, research project, or otherwise) that you
19 * acknowledge this fact somewhere in the documentation, research report,
20 * etc... If you like SORCERER and have developed a nice tool with the
21 * output, please mention that you developed it using SORCERER. In
22 * addition, we ask that this header remain intact in our source code.
23 * As long as these guidelines are kept, we expect to continue enhancing
24 * this system and expect to make other tools available as they are
25 * completed.
26 *
27 * SORCERER 1.00B
28 * Terence Parr
29 * AHPCRC, University of Minnesota
30 * 1992-1994
31 */
32
33 #include "sorcerer.h"
34
35 typedef struct _SList {
36 void *elem; /* pointer to any kind of element */
37 struct _SList *next;
38 } SList;
39
40 #define newSList (SList *) calloc(1, sizeof(SList));
41
42 #ifdef __USE_PROTOS
43 extern void *slist_iterate(SList *list, SList **);
44 extern void slist_add( SList **list, void *e );
45 extern void slist_free(SList *list);
46 #else
47 extern void *slist_iterate();
48 extern void slist_add();
49 extern void slist_free();
50 #endif
51
52 #endif