comparison dstep/coreservices/cfnetwork/CFSocketStream.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
comparison
equal deleted inserted replaced
10:27e00625790b 11:07194b026fa4
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Jul 22, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.coreservices.cfnetwork.CFSocketStream;
8
9 //import dstep.Availability;
10 import dstep.coreservices.cfnetwork.CFHost;
11 import dstep.coreservices.cfnetwork.CFNetServices;
12 import dstep.coreservices.cfnetwork.CFNetworkDefs;
13 import dstep.corefoundation.CFBase;
14 import dstep.corefoundation.CFStream;
15
16 alias int CFStreamSocketSecurityProtocol;
17
18 extern (C)
19 {
20 extern
21 {
22 const CFStringRef kCFStreamPropertySSLPeerCertificates;
23 const CFStringRef kCFStreamPropertySSLSettings;
24 const CFStringRef kCFStreamSSLLevel;
25 const CFStringRef kCFStreamSSLAllowsExpiredCertificates;
26 const CFStringRef kCFStreamSSLAllowsExpiredRoots;
27 const CFStringRef kCFStreamSSLAllowsAnyRoot;
28 const CFStringRef kCFStreamSSLValidatesCertificateChain;
29 const CFStringRef kCFStreamSSLPeerName;
30 const CFStringRef kCFStreamSSLCertificates;
31 const CFStringRef kCFStreamSSLIsServer;
32 const int kCFStreamErrorDomainWinSock;
33 const int kCFStreamErrorDomainSOCKS;
34 const CFStringRef kCFStreamPropertySOCKSProxy;
35 const CFStringRef kCFStreamPropertySOCKSProxyHost;
36 const CFStringRef kCFStreamPropertySOCKSProxyPort;
37 const CFStringRef kCFStreamPropertySOCKSVersion;
38 const CFStringRef kCFStreamSocketSOCKSVersion4;
39 const CFStringRef kCFStreamSocketSOCKSVersion5;
40 const CFStringRef kCFStreamPropertySOCKSUser;
41 const CFStringRef kCFStreamPropertySOCKSPassword;
42 const int kCFStreamErrorDomainSSL;
43 const CFStringRef kCFStreamPropertySocketSecurityLevel;
44 const CFStringRef kCFStreamSocketSecurityLevelNone;
45 const CFStringRef kCFStreamSocketSecurityLevelSSLv2;
46 const CFStringRef kCFStreamSocketSecurityLevelSSLv3;
47 const CFStringRef kCFStreamSocketSecurityLevelTLSv1;
48 const CFStringRef kCFStreamSocketSecurityLevelNegotiatedSSL;
49 const CFStringRef kCFStreamPropertyShouldCloseNativeSocket;
50 const CFStringRef kCFStreamPropertySocketRemoteHost;
51 const CFStringRef kCFStreamPropertySocketRemoteNetService;
52 const CFStringRef kCFStreamPropertyProxyLocalBypass;
53 }
54 }
55
56 enum
57 {
58 kCFStreamErrorSOCKSSubDomainNone = 0,
59 kCFStreamErrorSOCKSSubDomainVersionCode = 1,
60 kCFStreamErrorSOCKS4SubDomainResponse = 2,
61 kCFStreamErrorSOCKS5SubDomainUserPass = 3,
62 kCFStreamErrorSOCKS5SubDomainMethod = 4,
63 kCFStreamErrorSOCKS5SubDomainResponse = 5
64 }
65
66 enum
67 {
68 kCFStreamErrorSOCKS5BadResponseAddr = 1,
69 kCFStreamErrorSOCKS5BadState = 2,
70 kCFStreamErrorSOCKSUnknownClientVersion = 3
71 }
72
73 enum
74 {
75 kCFStreamErrorSOCKS4RequestFailed = 91,
76 kCFStreamErrorSOCKS4IdentdFailed = 92,
77 kCFStreamErrorSOCKS4IdConflict = 93
78 }
79
80 enum
81 {
82 kSOCKS5NoAcceptableMethod = 0xFF
83 }
84
85 enum /*CFStreamSocketSecurityProtocol*/
86 {
87 kCFStreamSocketSecurityNone = 0,
88 kCFStreamSocketSecuritySSLv2 = 1,
89 kCFStreamSocketSecuritySSLv3 = 2,
90 kCFStreamSocketSecuritySSLv23 = 3,
91 kCFStreamSocketSecurityTLSv1 = 4
92 }
93
94 extern (C)
95 {
96 void CFStreamCreatePairWithSocketToCFHost (CFAllocatorRef alloc, CFHostRef host, int port, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
97 void CFStreamCreatePairWithSocketToNetService (CFAllocatorRef alloc, CFNetServiceRef service, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
98 ubyte CFSocketStreamPairSetSecurityProtocol (CFReadStreamRef socketReadStream, CFWriteStreamRef socketWriteStream, int securityProtocol);
99 }