Mercurial > projects > dstep
view dstep/corefoundation/CFSocket.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 source
/** * 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.CFSocket; import dstep.corefoundation.CFBase; import dstep.corefoundation.CFData; import dstep.corefoundation.CFRunLoop; import dstep.objc.bridge.Bridge; import dstep.objc.objc : id; //import dstep.winsock2; alias int CFSocketNativeHandle; struct __CFSocket; alias __CFSocket* CFSocketRef; alias int CFSocketError; alias uint CFSocketCallBackType; extern (C) { alias void function (CFSocketRef, uint, CFDataRef, void*, void*) CFSocketCallBack; } extern (C) { extern { const CFStringRef kCFSocketCommandKey; const CFStringRef kCFSocketNameKey; const CFStringRef kCFSocketValueKey; const CFStringRef kCFSocketResultKey; const CFStringRef kCFSocketErrorKey; const CFStringRef kCFSocketRegisterCommand; const CFStringRef kCFSocketRetrieveCommand; } } enum { kCFSocketSuccess = 0, kCFSocketError = -1, kCFSocketTimeout = -2 } enum { kCFSocketNoCallBack = 0, kCFSocketReadCallBack = 1, kCFSocketAcceptCallBack = 2, kCFSocketDataCallBack = 3, kCFSocketConnectCallBack = 4, kCFSocketWriteCallBack = 8 } enum { kCFSocketAutomaticallyReenableReadCallBack = 1, kCFSocketAutomaticallyReenableAcceptCallBack = 2, kCFSocketAutomaticallyReenableDataCallBack = 3, kCFSocketAutomaticallyReenableWriteCallBack = 8, kCFSocketCloseOnInvalidate = 128 } struct CFSocketSignature { int protocolFamily; int socketType; int protocol; CFDataRef address; } struct CFSocketContext { int version_; void* info; } extern (C) { uint CFSocketGetTypeID (); CFSocketRef CFSocketCreate (CFAllocatorRef allocator, int protocolFamily, int socketType, int protocol, uint callBackTypes, CFSocketCallBack* callout, CFSocketContext* context); CFSocketRef CFSocketCreateWithNative (CFAllocatorRef allocator, int sock, uint callBackTypes, CFSocketCallBack* callout, CFSocketContext* context); CFSocketRef CFSocketCreateWithSocketSignature (CFAllocatorRef allocator, CFSocketSignature* signature, uint callBackTypes, CFSocketCallBack* callout, CFSocketContext* context); CFSocketRef CFSocketCreateConnectedToSocketSignature (CFAllocatorRef allocator, CFSocketSignature* signature, uint callBackTypes, CFSocketCallBack* callout, CFSocketContext* context, double timeout); int CFSocketSetAddress (CFSocketRef s, CFDataRef address); int CFSocketConnectToAddress (CFSocketRef s, CFDataRef address, double timeout); void CFSocketInvalidate (CFSocketRef s); ubyte CFSocketIsValid (CFSocketRef s); CFDataRef CFSocketCopyAddress (CFSocketRef s); CFDataRef CFSocketCopyPeerAddress (CFSocketRef s); void CFSocketGetContext (CFSocketRef s, CFSocketContext* context); int CFSocketGetNative (CFSocketRef s); CFRunLoopSourceRef CFSocketCreateRunLoopSource (CFAllocatorRef allocator, CFSocketRef s, int order); uint CFSocketGetSocketFlags (CFSocketRef s); void CFSocketSetSocketFlags (CFSocketRef s, uint flags); void CFSocketDisableCallBacks (CFSocketRef s, uint callBackTypes); void CFSocketEnableCallBacks (CFSocketRef s, uint callBackTypes); int CFSocketSendData (CFSocketRef s, CFDataRef address, CFDataRef data, double timeout); int CFSocketRegisterValue (CFSocketSignature* nameServerSignature, double timeout, CFStringRef name, void* value); int CFSocketCopyRegisteredValue (CFSocketSignature* nameServerSignature, double timeout, CFStringRef name, CFPropertyListRef* value, CFDataRef* nameServerAddress); int CFSocketRegisterSocketSignature (CFSocketSignature* nameServerSignature, double timeout, CFStringRef name, CFSocketSignature* signature); int CFSocketCopyRegisteredSocketSignature (CFSocketSignature* nameServerSignature, double timeout, CFStringRef name, CFSocketSignature* signature, CFDataRef* nameServerAddress); int CFSocketUnregister (CFSocketSignature* nameServerSignature, double timeout, CFStringRef name); void CFSocketSetDefaultNameRegistryPortNumber (ushort port); ushort CFSocketGetDefaultNameRegistryPortNumber (); }