]> git.saurik.com Git - apple/security.git/blob - SecureTransport/privateInc/sslPriv.h
Security-179.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
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 #include "SecureTransportPriv.h"
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 /* Diffie-Hellman support */
42 #define APPLE_DH 1
43
44 /*
45 * For ease of porting, we'll keep this around for internal use.
46 * It's used extensively; eventually we'll convert over to
47 * CFData, as in the public API.
48 */
49 typedef struct
50 { UInt32 length;
51 UInt8 *data;
52 } SSLBuffer;
53
54 /*
55 * We can make this more Mac-like as well...
56 */
57 typedef struct
58 { UInt32 high;
59 UInt32 low;
60 } sslUint64;
61
62 /*
63 * Not exposed in public API
64 */
65 typedef enum
66 { SSL_ServerSide = 1,
67 SSL_ClientSide = 2
68 } SSLProtocolSide;
69
70 typedef enum
71 {
72 /* This value never appears in the actual protocol */
73 SSL_Version_Undetermined = 0,
74 /* actual protocol values */
75 SSL_Version_2_0 = 0x0002,
76 SSL_Version_3_0 = 0x0300,
77 TLS_Version_1_0 = 0x0301 /* TLS 1.0 == SSL 3.1 */
78 } SSLProtocolVersion;
79
80 /*
81 * Clients see an opaque SSLContextRef; internal code uses the
82 * following typedef.
83 */
84 typedef struct SSLContext SSLContext;
85
86 #ifdef __cplusplus
87 }
88 #endif
89
90 #endif /* _SSL_PRIV_H */