]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/c-lib/inc/asn-oid.h
Security-54.1.9.tar.gz
[apple/security.git] / SecuritySNACCRuntime / c-lib / inc / asn-oid.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 * asn_oid.h
21 *
22 * this file depends on asn_octs.h
23 * MS 92
24 * Copyright (C) 1992 Michael Sample and the University of British Columbia
25 *
26 * This library is free software; you can redistribute it and/or
27 * modify it provided that this copyright/license information is retained
28 * in original form.
29 *
30 * If you modify this file, you must clearly indicate your changes.
31 *
32 * This source code is distributed in the hope that it will be
33 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
34 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
35 *
36 * $Header: /cvs/root/Security/SecuritySNACCRuntime/c-lib/inc/Attic/asn-oid.h,v 1.1.1.1 2001/05/18 23:14:08 mb Exp $
37 * $Log: asn-oid.h,v $
38 * Revision 1.1.1.1 2001/05/18 23:14:08 mb
39 * Move from private repository to open source repository
40 *
41 * Revision 1.2 2001/05/05 00:59:23 rmurphy
42 * Adding darwin license headers
43 *
44 * Revision 1.1.1.1 1999/03/16 18:06:20 aram
45 * Originals from SMIME Free Library.
46 *
47 * Revision 1.2 1995/07/27 10:24:00 rj
48 * minor change to merge with type table code.
49 *
50 * Revision 1.1 1994/08/28 09:21:34 rj
51 * first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.
52 *
53 */
54
55
56 #ifndef _asn_oid_h_
57 #define _asn_oid_h_
58
59 #include "asn-octs.h"
60
61 typedef AsnOcts AsnOid; /* standard oid type */
62
63
64 #define ASNOID_PRESENT( aoid) ASNOCTS_PRESENT (aoid)
65
66 AsnLen BEncAsnOid PROTO ((BUF_TYPE b, AsnOid *data));
67
68 void BDecAsnOid PROTO ((BUF_TYPE b, AsnOid *result, AsnLen *bytesDecoded, ENV_TYPE env));
69
70 #define BEncAsnOidContent( b, oid) BEncAsnOctsContent (b, oid)
71
72
73 void BDecAsnOidContent PROTO ((BUF_TYPE b, AsnTag tag, AsnLen len, AsnOid *result, AsnLen *bytesDecoded, ENV_TYPE env));
74
75
76 #define FreeAsnOid FreeAsnOcts
77
78 void PrintAsnOid PROTO ((FILE *f, AsnOid *b, unsigned short int indent));
79
80 #define AsnOidsEquiv( o1, o2) AsnOctsEquiv (o1, o2)
81
82 /* linked oid type that may be easier to use in some circumstances */
83 #define NULL_OID_ARCNUM -1
84 typedef struct OID
85 {
86 struct OID *next;
87 long int arcNum;
88 #if COMPILER || TTBL
89 struct Value *valueRef;
90 #endif
91 } OID;
92
93 AsnLen EncodedOidLen PROTO ((OID *oid));
94
95 void BuildEncodedOid PROTO ((OID *oid, AsnOid *result));
96
97 void UnbuildEncodedOid PROTO ((AsnOid *eoid, OID **result));
98
99 #endif /* conditional include */