]> git.saurik.com Git - apple/security.git/blob - SecureTransport/privateInc/sslPriv.h
Security-28.tar.gz
[apple/security.git] / SecureTransport / privateInc / sslPriv.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 File: sslPriv.h
21
22 Contains: Misc. private SSL typedefs
23
24 Written by: Doug Mitchell, based on Netscape SSLRef 3.0
25
26 Copyright: (c) 1999 by Apple Computer, Inc., all rights reserved.
27
28 */
29
30 #ifndef _SSL_PRIV_H_
31 #define _SSL_PRIV_H_ 1
32
33 #include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
34 #include "sslBuildFlags.h"
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 /* Apple CSP doesn't support D-H yet */
41 #define APPLE_DH 0
42
43 /*
44 * For ease of porting, we'll keep this around for internal use.
45 * It's used extensively; eventually we'll convert over to
46 * CFData, as in the public API.
47 */
48 typedef struct
49 { UInt32 length;
50 UInt8 *data;
51 } SSLBuffer;
52
53 /*
54 * We can make this more Mac-like as well...
55 */
56 typedef struct
57 { UInt32 high;
58 UInt32 low;
59 } sslUint64;
60
61 /*
62 * Not exposed in public API
63 */
64 typedef enum
65 { SSL_ServerSide = 1,
66 SSL_ClientSide = 2
67 } SSLProtocolSide;
68
69 typedef enum
70 { SSL_Version_Undetermined = 0,
71 SSL_Version_3_0_With_2_0_Hello = 100,
72 SSL_Version_3_0_Only = 101,
73 SSL_Version_2_0 = 0x0002,
74 SSL_Version_3_0 = 0x0300
75 } SSLProtocolVersion;
76
77 /*
78 * Clients see an opaque SSLContextRef; internal code uses the
79 * following typedef.
80 */
81 typedef struct SSLContext SSLContext;
82
83
84 #ifdef __cplusplus
85 }
86 #endif
87
88 #endif /* _SSL_PRIV_H */