]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/c-lib/inc/tbl-util.h
d8680330fc2eea6da4038e02b1e914588b86322e
[apple/security.git] / SecuritySNACCRuntime / c-lib / inc / tbl-util.h
1 /*
2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
3 *
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
8 * using this file.
9 *
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
16 */
17
18
19 /*
20 * tbl-util.h - type table utilities.
21 *
22 *
23 * Mike Sample
24 *
25 * Copyright (C) 1993 Michael Sample
26 * and the University of British Columbia
27 *
28 * This library is free software; you can redistribute it and/or
29 * modify it provided that this copyright/license information is retained
30 * in original form.
31 *
32 * If you modify this file, you must clearly indicate your changes.
33 *
34 * This source code is distributed in the hope that it will be
35 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
36 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
37 *
38 * $Header: /cvs/Darwin/src/live/Security/SecuritySNACCRuntime/c-lib/inc/tbl-util.h,v 1.1.1.1 2001/05/18 23:14:08 mb Exp $
39 * $Log: tbl-util.h,v $
40 * Revision 1.1.1.1 2001/05/18 23:14:08 mb
41 * Move from private repository to open source repository
42 *
43 * Revision 1.2 2001/05/05 00:59:23 rmurphy
44 * Adding darwin license headers
45 *
46 * Revision 1.1.1.1 1999/03/16 18:06:23 aram
47 * Originals from SMIME Free Library.
48 *
49 * Revision 1.1 1995/07/27 08:55:59 rj
50 * first check-in after being merged into .../c-lib/.
51 *
52 */
53
54 /*
55 * these rely on the TBLTagClass enum starting at zero
56 * and being in the order: UNIVERSAL, APPLICATION, CONTEXT, PRIVATE
57 */
58 #define TblTagClassToBer(tblClass) (tblClass << 6)
59 #define BerTagClassToTbl(berClass) (berClass >> 6)
60 #define TagsEquiv(asnTag, tblTag) (((tblTag)->encTag == (asnTag)) ||\
61 (((tblTag)->form == ANY_FORM) &&\
62 ((tblTag)->encTag == DECONSIFY (asnTag))))
63
64
65 char *LoadFile PROTO ((char *tblFileName, unsigned long int *size));
66
67 TBL *LoadTblFile PROTO ((char *tblFileName));
68
69 TBLTypeDef *TblFindTypeDef PROTO ((TBL *tbl, char *moduleName, char *typeName, TBLModule **tblModHndl));
70
71 TBLTypeDef *TblFindTypeDefInMod PROTO ((TBLModule *tbl, char *typeName));
72
73 TBLTypeDef *TblFindTypeDefByIndex PROTO ((TBL *tbl,TBLTypeDefId id));
74
75 TBLModule *TblFindModule PROTO ((TBL *tbl, char *modName));