diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/coreservices/cfnetwork/CFSocketStream.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,99 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 22, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.coreservices.cfnetwork.CFSocketStream;
+
+//import dstep.Availability;
+import dstep.coreservices.cfnetwork.CFHost;
+import dstep.coreservices.cfnetwork.CFNetServices;
+import dstep.coreservices.cfnetwork.CFNetworkDefs;
+import dstep.corefoundation.CFBase;
+import dstep.corefoundation.CFStream;
+
+alias int CFStreamSocketSecurityProtocol;
+
+extern (C)
+{
+	extern
+	{
+		const CFStringRef kCFStreamPropertySSLPeerCertificates;
+		const CFStringRef kCFStreamPropertySSLSettings;
+		const CFStringRef kCFStreamSSLLevel;
+		const CFStringRef kCFStreamSSLAllowsExpiredCertificates;
+		const CFStringRef kCFStreamSSLAllowsExpiredRoots;
+		const CFStringRef kCFStreamSSLAllowsAnyRoot;
+		const CFStringRef kCFStreamSSLValidatesCertificateChain;
+		const CFStringRef kCFStreamSSLPeerName;
+		const CFStringRef kCFStreamSSLCertificates;
+		const CFStringRef kCFStreamSSLIsServer;
+		const int kCFStreamErrorDomainWinSock;
+		const int kCFStreamErrorDomainSOCKS;
+		const CFStringRef kCFStreamPropertySOCKSProxy;
+		const CFStringRef kCFStreamPropertySOCKSProxyHost;
+		const CFStringRef kCFStreamPropertySOCKSProxyPort;
+		const CFStringRef kCFStreamPropertySOCKSVersion;
+		const CFStringRef kCFStreamSocketSOCKSVersion4;
+		const CFStringRef kCFStreamSocketSOCKSVersion5;
+		const CFStringRef kCFStreamPropertySOCKSUser;
+		const CFStringRef kCFStreamPropertySOCKSPassword;
+		const int kCFStreamErrorDomainSSL;
+		const CFStringRef kCFStreamPropertySocketSecurityLevel;
+		const CFStringRef kCFStreamSocketSecurityLevelNone;
+		const CFStringRef kCFStreamSocketSecurityLevelSSLv2;
+		const CFStringRef kCFStreamSocketSecurityLevelSSLv3;
+		const CFStringRef kCFStreamSocketSecurityLevelTLSv1;
+		const CFStringRef kCFStreamSocketSecurityLevelNegotiatedSSL;
+		const CFStringRef kCFStreamPropertyShouldCloseNativeSocket;
+		const CFStringRef kCFStreamPropertySocketRemoteHost;
+		const CFStringRef kCFStreamPropertySocketRemoteNetService;
+		const CFStringRef kCFStreamPropertyProxyLocalBypass;
+	}
+}
+
+enum
+{
+	kCFStreamErrorSOCKSSubDomainNone = 0,
+	kCFStreamErrorSOCKSSubDomainVersionCode = 1,
+	kCFStreamErrorSOCKS4SubDomainResponse = 2,
+	kCFStreamErrorSOCKS5SubDomainUserPass = 3,
+	kCFStreamErrorSOCKS5SubDomainMethod = 4,
+	kCFStreamErrorSOCKS5SubDomainResponse = 5
+}
+
+enum
+{
+	kCFStreamErrorSOCKS5BadResponseAddr = 1,
+	kCFStreamErrorSOCKS5BadState = 2,
+	kCFStreamErrorSOCKSUnknownClientVersion = 3
+}
+
+enum
+{
+	kCFStreamErrorSOCKS4RequestFailed = 91,
+	kCFStreamErrorSOCKS4IdentdFailed = 92,
+	kCFStreamErrorSOCKS4IdConflict = 93
+}
+
+enum
+{
+	kSOCKS5NoAcceptableMethod = 0xFF
+}
+
+enum /*CFStreamSocketSecurityProtocol*/ 
+{
+	kCFStreamSocketSecurityNone = 0,
+	kCFStreamSocketSecuritySSLv2 = 1,
+	kCFStreamSocketSecuritySSLv3 = 2,
+	kCFStreamSocketSecuritySSLv23 = 3,
+	kCFStreamSocketSecurityTLSv1 = 4
+}
+
+extern (C)
+{
+	void CFStreamCreatePairWithSocketToCFHost (CFAllocatorRef alloc, CFHostRef host, int port, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
+	void CFStreamCreatePairWithSocketToNetService (CFAllocatorRef alloc, CFNetServiceRef service, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
+	ubyte CFSocketStreamPairSetSecurityProtocol (CFReadStreamRef socketReadStream, CFWriteStreamRef socketWriteStream, int securityProtocol);
+}
\ No newline at end of file