2 * compiler/core/define.h
4 * Copyright (C) 1991, 1992 Michael Sample
5 * and the University of British Columbia
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.
12 * $Header: /cvs/Darwin/Security/SecuritySNACCRuntime/compiler/core/define.h,v 1.1 2001/06/20 21:27:56 dmitch Exp $
14 * Revision 1.1 2001/06/20 21:27:56 dmitch
15 * Adding missing snacc compiler files.
17 * Revision 1.1.1.1 1999/03/16 18:06:46 aram
18 * Originals from SMIME Free Library.
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.
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.
29 typedef struct DefinedObj
32 struct DefinedObj
*next
;
36 typedef int (*CmpObjsRoutine
) PROTO ((void *obj1
, void *obj2
));
37 typedef int (*FreeObjRoutine
) PROTO ((void *obj
));
39 int StrObjCmp
PROTO ((void *s1
, void *s2
));
41 int IntObjCmp
PROTO ((void *s1
, void *s2
));
43 int OidObjCmp
PROTO ((void *o1
, void *o2
));
45 int ObjPtrCmp
PROTO ((void *s1
, void *s2
));
47 DefinedObj
*NewObjList();
49 void DefineObj
PROTO ((DefinedObj
**l
, void *obj
));
51 void UndefineObj
PROTO ((DefinedObj
**l
, void *obj
, CmpObjsRoutine cmpRoutine
));
53 int ObjIsDefined
PROTO ((DefinedObj
*l
, void *obj
, CmpObjsRoutine cmp
));
55 void FreeDefinedObjs
PROTO ((DefinedObj
**l
));
57 void FreeDefinedObjsAndContent
PROTO ((DefinedObj
**l
));