]>
git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/c-lib/inc/tbl-util.h
d8680330fc2eea6da4038e02b1e914588b86322e
2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
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
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.
20 * tbl-util.h - type table utilities.
25 * Copyright (C) 1993 Michael Sample
26 * and the University of British Columbia
28 * This library is free software; you can redistribute it and/or
29 * modify it provided that this copyright/license information is retained
32 * If you modify this file, you must clearly indicate your changes.
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.
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
43 * Revision 1.2 2001/05/05 00:59:23 rmurphy
44 * Adding darwin license headers
46 * Revision 1.1.1.1 1999/03/16 18:06:23 aram
47 * Originals from SMIME Free Library.
49 * Revision 1.1 1995/07/27 08:55:59 rj
50 * first check-in after being merged into .../c-lib/.
55 * these rely on the TBLTagClass enum starting at zero
56 * and being in the order: UNIVERSAL, APPLICATION, CONTEXT, PRIVATE
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))))
65 char *LoadFile
PROTO ((char *tblFileName
, unsigned long int *size
));
67 TBL
*LoadTblFile
PROTO ((char *tblFileName
));
69 TBLTypeDef
*TblFindTypeDef
PROTO ((TBL
*tbl
, char *moduleName
, char *typeName
, TBLModule
**tblModHndl
));
71 TBLTypeDef
*TblFindTypeDefInMod
PROTO ((TBLModule
*tbl
, char *typeName
));
73 TBLTypeDef
*TblFindTypeDefByIndex
PROTO ((TBL
*tbl
,TBLTypeDefId id
));
75 TBLModule
*TblFindModule
PROTO ((TBL
*tbl
, char *modName
));