]>
Commit | Line | Data |
---|---|---|
b1ab9ed8 A |
1 | /* |
2 | * The contents of this file are subject to the Mozilla Public | |
3 | * License Version 1.1 (the "License"); you may not use this file | |
4 | * except in compliance with the License. You may obtain a copy of | |
5 | * the License at http://www.mozilla.org/MPL/ | |
6 | * | |
7 | * Software distributed under the License is distributed on an "AS | |
8 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or | |
9 | * implied. See the License for the specific language governing | |
10 | * rights and limitations under the License. | |
11 | * | |
12 | * The Original Code is the Netscape security libraries. | |
13 | * | |
14 | * The Initial Developer of the Original Code is Netscape | |
15 | * Communications Corporation. Portions created by Netscape are | |
16 | * Copyright (C) 1994-2000 Netscape Communications Corporation. All | |
17 | * Rights Reserved. | |
18 | * | |
19 | * Contributor(s): | |
20 | * | |
21 | * Alternatively, the contents of this file may be used under the | |
22 | * terms of the GNU General Public License Version 2 or later (the | |
23 | * "GPL"), in which case the provisions of the GPL are applicable | |
24 | * instead of those above. If you wish to allow use of your | |
25 | * version of this file only under the terms of the GPL and not to | |
26 | * allow others to use your version of this file under the MPL, | |
27 | * indicate your decision by deleting the provisions above and | |
28 | * replace them with the notice and other provisions required by | |
29 | * the GPL. If you do not delete the provisions above, a recipient | |
30 | * may use your version of this file under either the MPL or the | |
31 | * GPL. | |
32 | */ | |
33 | ||
34 | /* | |
35 | * seccomon.h - common data structures for security libraries | |
36 | * | |
37 | * This file should have lowest-common-denominator datastructures | |
38 | * for security libraries. It should not be dependent on any other | |
39 | * headers, and should not require linking with any libraries. | |
40 | * | |
41 | * $Id: seccomon.h,v 1.4 2004/03/23 21:31:41 mb Exp $ | |
42 | */ | |
43 | ||
44 | #ifndef _SECCOMMON_H_ | |
45 | #define _SECCOMMON_H_ | |
46 | ||
47 | #include <security_asn1/prtypes.h> | |
48 | ||
49 | ||
50 | #ifdef __cplusplus | |
51 | # define SEC_BEGIN_PROTOS extern "C" { | |
52 | # define SEC_END_PROTOS } | |
53 | #else | |
54 | # define SEC_BEGIN_PROTOS | |
55 | # define SEC_END_PROTOS | |
56 | #endif | |
57 | ||
58 | #include <security_asn1/secport.h> | |
59 | ||
60 | #ifdef __APPLE__ | |
61 | ||
62 | #include <Security/SecAsn1Types.h> | |
63 | ||
64 | /* | |
65 | * Encode directly to/from SecAsn1Item. | |
66 | * Avoid the need for SECItemStr.type; see SEC_ANS1_SIGNED_INT | |
67 | * in secasn1t.h. | |
68 | */ | |
69 | typedef SecAsn1Item SECItem; | |
70 | #else | |
71 | /* Original NSS */ | |
72 | typedef enum { | |
73 | siBuffer = 0, | |
74 | siClearDataBuffer = 1, | |
75 | siCipherDataBuffer = 2, | |
76 | siDERCertBuffer = 3, | |
77 | siEncodedCertBuffer = 4, | |
78 | siDERNameBuffer = 5, | |
79 | siEncodedNameBuffer = 6, | |
80 | siAsciiNameString = 7, | |
81 | siAsciiString = 8, | |
82 | siDEROID = 9, | |
83 | siUnsignedInteger = 10, | |
84 | siUTCTime = 11, | |
85 | siGeneralizedTime = 12 | |
86 | } SECItemType; | |
87 | ||
88 | typedef struct SECItemStr SECItem; | |
89 | ||
90 | struct SECItemStr { | |
91 | SECItemType type; | |
92 | unsigned char *data; | |
93 | unsigned int len; | |
94 | }; | |
95 | #endif /* __APPLE__ */ | |
96 | ||
97 | /* | |
98 | ** A status code. Status's are used by procedures that return status | |
99 | ** values. Again the motivation is so that a compiler can generate | |
100 | ** warnings when return values are wrong. Correct testing of status codes: | |
101 | ** | |
102 | ** SECStatus rv; | |
103 | ** rv = some_function (some_argument); | |
104 | ** if (rv != SECSuccess) | |
105 | ** do_an_error_thing(); | |
106 | ** | |
107 | */ | |
108 | typedef enum _SECStatus { | |
109 | SECWouldBlock = -2, | |
110 | SECFailure = -1, | |
111 | SECSuccess = 0 | |
112 | } SECStatus; | |
113 | ||
114 | /* | |
115 | ** A comparison code. Used for procedures that return comparision | |
116 | ** values. Again the motivation is so that a compiler can generate | |
117 | ** warnings when return values are wrong. | |
118 | */ | |
119 | typedef enum _SECComparison { | |
120 | SECLessThan = -1, | |
121 | SECEqual = 0, | |
122 | SECGreaterThan = 1 | |
123 | } SECComparison; | |
124 | ||
125 | #endif /* _SECCOMMON_H_ */ |