diff dstep/corefoundation/CFStream.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/corefoundation/CFStream.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,126 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 12, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.corefoundation.CFStream;
+
+import dstep.corefoundation.CFBase;
+import dstep.corefoundation.CFDictionary;
+import dstep.corefoundation.CFError;
+import dstep.corefoundation.CFRunLoop;
+import dstep.corefoundation.CFSocket;
+import dstep.corefoundation.CFString;
+import dstep.corefoundation.CFURL;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc : id;
+
+alias int CFStreamStatus;
+alias uint CFStreamEventType;
+struct __CFReadStream;
+alias __CFReadStream* CFReadStreamRef;
+struct __CFWriteStream;
+alias __CFWriteStream* CFWriteStreamRef;
+alias int CFStreamErrorDomain;
+
+extern (C)
+{
+	alias void function (CFWriteStreamRef, uint, void*) CFWriteStreamClientCallBack;
+	alias void function (CFReadStreamRef, uint, void*) CFReadStreamClientCallBack;
+}
+
+extern (C)
+{
+	extern
+	{
+		const CFStringRef kCFStreamPropertyDataWritten;
+		const CFStringRef kCFStreamPropertyAppendToFile;
+		const CFStringRef kCFStreamPropertyFileCurrentOffset;
+		const CFStringRef kCFStreamPropertySocketNativeHandle;
+		const CFStringRef kCFStreamPropertySocketRemoteHostName;
+		const CFStringRef kCFStreamPropertySocketRemotePortNumber;
+	}
+}
+
+enum
+{
+	kCFStreamStatusNotOpen = 0,
+	kCFStreamStatusOpening,
+	kCFStreamStatusOpen,
+	kCFStreamStatusReading,
+	kCFStreamStatusWriting,
+	kCFStreamStatusAtEnd,
+	kCFStreamStatusClosed,
+	kCFStreamStatusError
+}
+
+enum
+{
+	kCFStreamEventNone = 0,
+	kCFStreamEventOpenCompleted = 1,
+	kCFStreamEventHasBytesAvailable = 2,
+	kCFStreamEventCanAcceptBytes = 4,
+	kCFStreamEventErrorOccurred = 8,
+	kCFStreamEventEndEncountered = 16
+}
+
+enum
+{
+	kCFStreamErrorDomainCustom = -1,
+	kCFStreamErrorDomainPOSIX = 1,
+	kCFStreamErrorDomainMacOSStatus
+}
+
+struct CFStreamClientContext
+{
+	int version_;
+	void* info;
+}
+
+
+struct CFStreamError
+{
+	int domain;
+	int error;
+}
+
+extern (C)
+{
+	uint CFReadStreamGetTypeID ();
+	uint CFWriteStreamGetTypeID ();
+	CFReadStreamRef CFReadStreamCreateWithBytesNoCopy (CFAllocatorRef alloc, char* bytes, int length, CFAllocatorRef bytesDeallocator);
+	CFWriteStreamRef CFWriteStreamCreateWithBuffer (CFAllocatorRef alloc, char* buffer, int bufferCapacity);
+	CFWriteStreamRef CFWriteStreamCreateWithAllocatedBuffers (CFAllocatorRef alloc, CFAllocatorRef bufferAllocator);
+	CFReadStreamRef CFReadStreamCreateWithFile (CFAllocatorRef alloc, CFURLRef fileURL);
+	CFWriteStreamRef CFWriteStreamCreateWithFile (CFAllocatorRef alloc, CFURLRef fileURL);
+	void CFStreamCreateBoundPair (CFAllocatorRef alloc, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream, int transferBufferSize);
+	void CFStreamCreatePairWithSocket (CFAllocatorRef alloc, int sock, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
+	void CFStreamCreatePairWithSocketToHost (CFAllocatorRef alloc, CFStringRef host, uint port, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
+	void CFStreamCreatePairWithPeerSocketSignature (CFAllocatorRef alloc, CFSocketSignature* signature, CFReadStreamRef* readStream, CFWriteStreamRef* writeStream);
+	int CFReadStreamGetStatus (CFReadStreamRef stream);
+	int CFWriteStreamGetStatus (CFWriteStreamRef stream);
+	CFErrorRef CFReadStreamCopyError (CFReadStreamRef stream);
+	CFErrorRef CFWriteStreamCopyError (CFWriteStreamRef stream);
+	ubyte CFReadStreamOpen (CFReadStreamRef stream);
+	ubyte CFWriteStreamOpen (CFWriteStreamRef stream);
+	void CFReadStreamClose (CFReadStreamRef stream);
+	void CFWriteStreamClose (CFWriteStreamRef stream);
+	ubyte CFReadStreamHasBytesAvailable (CFReadStreamRef stream);
+	int CFReadStreamRead (CFReadStreamRef stream, char* buffer, int bufferLength);
+	char* CFReadStreamGetBuffer (CFReadStreamRef stream, int maxBytesToRead, int* numBytesRead);
+	ubyte CFWriteStreamCanAcceptBytes (CFWriteStreamRef stream);
+	int CFWriteStreamWrite (CFWriteStreamRef stream, char* buffer, int bufferLength);
+	void* CFReadStreamCopyProperty (CFReadStreamRef stream, CFStringRef propertyName);
+	void* CFWriteStreamCopyProperty (CFWriteStreamRef stream, CFStringRef propertyName);
+	ubyte CFReadStreamSetProperty (CFReadStreamRef stream, CFStringRef propertyName, void* propertyValue);
+	ubyte CFWriteStreamSetProperty (CFWriteStreamRef stream, CFStringRef propertyName, void* propertyValue);
+	ubyte CFReadStreamSetClient (CFReadStreamRef stream, uint streamEvents, CFReadStreamClientCallBack* clientCB, CFStreamClientContext* clientContext);
+	ubyte CFWriteStreamSetClient (CFWriteStreamRef stream, uint streamEvents, CFWriteStreamClientCallBack* clientCB, CFStreamClientContext* clientContext);
+	void CFReadStreamScheduleWithRunLoop (CFReadStreamRef stream, CFRunLoopRef runLoop, CFStringRef runLoopMode);
+	void CFWriteStreamScheduleWithRunLoop (CFWriteStreamRef stream, CFRunLoopRef runLoop, CFStringRef runLoopMode);
+	void CFReadStreamUnscheduleFromRunLoop (CFReadStreamRef stream, CFRunLoopRef runLoop, CFStringRef runLoopMode);
+	void CFWriteStreamUnscheduleFromRunLoop (CFWriteStreamRef stream, CFRunLoopRef runLoop, CFStringRef runLoopMode);
+	CFStreamError CFReadStreamGetError (CFReadStreamRef stream);
+	CFStreamError CFWriteStreamGetError (CFWriteStreamRef stream);
+}
\ No newline at end of file