]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/compiler/core/define.h
Security-54.tar.gz
[apple/security.git] / SecuritySNACCRuntime / compiler / core / define.h
1 /*
2 * compiler/core/define.h
3 *
4 * Copyright (C) 1991, 1992 Michael Sample
5 * and the University of British Columbia
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * $Header: /cvs/Darwin/Security/SecuritySNACCRuntime/compiler/core/define.h,v 1.1 2001/06/20 21:27:56 dmitch Exp $
13 * $Log: define.h,v $
14 * Revision 1.1 2001/06/20 21:27:56 dmitch
15 * Adding missing snacc compiler files.
16 *
17 * Revision 1.1.1.1 1999/03/16 18:06:46 aram
18 * Originals from SMIME Free Library.
19 *
20 * Revision 1.2 1994/10/08 03:48:35 rj
21 * since i was still irritated by cpp standing for c++ and not the C preprocessor, i renamed them to cxx (which is one known suffix for C++ source files). since the standard #define is __cplusplus, cplusplus would have been the more obvious choice, but it is a little too long.
22 *
23 * Revision 1.1 1994/08/28 09:48:59 rj
24 * first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.
25 *
26 */
27
28
29 typedef struct DefinedObj
30 {
31 void *obj;
32 struct DefinedObj *next;
33 } DefinedObj;
34
35
36 typedef int (*CmpObjsRoutine) PROTO ((void *obj1, void *obj2));
37 typedef int (*FreeObjRoutine) PROTO ((void *obj));
38
39 int StrObjCmp PROTO ((void *s1, void *s2));
40
41 int IntObjCmp PROTO ((void *s1, void *s2));
42
43 int OidObjCmp PROTO ((void *o1, void *o2));
44
45 int ObjPtrCmp PROTO ((void *s1, void *s2));
46
47 DefinedObj *NewObjList();
48
49 void DefineObj PROTO ((DefinedObj **l, void *obj));
50
51 void UndefineObj PROTO ((DefinedObj **l, void *obj, CmpObjsRoutine cmpRoutine));
52
53 int ObjIsDefined PROTO ((DefinedObj *l, void *obj, CmpObjsRoutine cmp));
54
55 void FreeDefinedObjs PROTO ((DefinedObj **l));
56
57 void FreeDefinedObjsAndContent PROTO ((DefinedObj **l));