27#ifndef __COREFOUNDATION_CFSOCKET_H__
28#define __COREFOUNDATION_CFSOCKET_H__
30#include <CoreFoundation/CFBase.h>
31#include <CoreFoundation/CFData.h>
32#include <CoreFoundation/CFDate.h>
38typedef struct __CFSocket *CFSocketRef;
42typedef SOCKET CFSocketNativeHandle;
44typedef int CFSocketNativeHandle;
52 CFAllocatorRetainCallBack retain;
53 CFAllocatorReleaseCallBack release;
54 CFAllocatorCopyDescriptionCallBack copyDescription;
60 SInt32 protocolFamily;
68 kCFSocketNoCallBack = 0,
69 kCFSocketReadCallBack = 1,
70 kCFSocketAcceptCallBack = 2,
71 kCFSocketDataCallBack = 3,
72 kCFSocketConnectCallBack = 4
73#if OS_API_VERSION(MAC_OS_X_VERSION_10_2, GS_API_LATEST)
75 kCFSocketWriteCallBack = 8
77} CFSocketCallBackType;
79#if OS_API_VERSION(MAC_OS_X_VERSION_10_2, GS_API_LATEST)
82 kCFSocketAutomaticallyReenableReadCallBack = 1,
83 kCFSocketAutomaticallyReenableAcceptCallBack = 2,
84 kCFSocketAutomaticallyReenableDataCallBack = 3,
85 kCFSocketAutomaticallyReenableWriteCallBack = 8,
86#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST)
87 kCFSocketLeaveErrors = 64,
89 kCFSocketCloseOnInvalidate = 128
100typedef void (*CFSocketCallBack) (CFSocketRef s,
101 CFSocketCallBackType callbackType,
103 const void *data,
void *info);
109CF_EXPORT
const CFStringRef kCFSocketCommandKey;
110CF_EXPORT
const CFStringRef kCFSocketNameKey;
111CF_EXPORT
const CFStringRef kCFSocketValueKey;
112CF_EXPORT
const CFStringRef kCFSocketResultKey;
113CF_EXPORT
const CFStringRef kCFSocketErrorKey;
114CF_EXPORT
const CFStringRef kCFSocketRegisterCommand;
115CF_EXPORT
const CFStringRef kCFSocketRetrieveCommand;
118CF_EXPORT CFTypeID CFSocketGetTypeID (
void);
128 SInt32 socketType, SInt32 protocol,
133CFSocketCreateConnectedToSocketSignature (
CFAllocatorRef allocator,
136 CFSocketCallBack callout,
138 CFTimeInterval timeout);
141CFSocketCreateWithNative (
CFAllocatorRef allocator, CFSocketNativeHandle sock,
143 CFSocketCallBack callout,
150 CFSocketCallBack callout,
157CF_EXPORT CFDataRef CFSocketCopyAddress (CFSocketRef s);
159CF_EXPORT CFDataRef CFSocketCopyPeerAddress (CFSocketRef s);
161CF_EXPORT
void CFSocketGetContext (CFSocketRef s,
CFSocketContext * context);
163CF_EXPORT CFSocketNativeHandle CFSocketGetNative (CFSocketRef s);
165CF_EXPORT CFSocketError CFSocketSetAddress (CFSocketRef s, CFDataRef address);
167#if OS_API_VERSION(MAC_OS_X_VERSION_10_2, GS_API_LATEST)
169CFSocketDisableCallBacks (CFSocketRef s,
CFOptionFlags callBackTypes);
172CFSocketEnableCallBacks (CFSocketRef s,
CFOptionFlags callBackTypes);
174CF_EXPORT
CFOptionFlags CFSocketGetSocketFlags (CFSocketRef s);
176CF_EXPORT
void CFSocketSetSocketFlags (CFSocketRef s,
CFOptionFlags flags);
183CF_EXPORT CFSocketError
184CFSocketConnectToAddress (CFSocketRef s, CFDataRef address,
185 CFTimeInterval timeout);
187CF_EXPORT CFRunLoopSourceRef
188CFSocketCreateRunLoopSource (
CFAllocatorRef allocator, CFSocketRef s,
191CF_EXPORT
void CFSocketInvalidate (CFSocketRef s);
193CF_EXPORT Boolean CFSocketIsValid (CFSocketRef s);
195CF_EXPORT CFSocketError
196CFSocketSendData (CFSocketRef s, CFDataRef address, CFDataRef data,
197 CFTimeInterval timeout);
204CF_EXPORT CFSocketError
207 CFTimeInterval timeout, CFStringRef name,
209 CFDataRef * nameServerAddress);
211CF_EXPORT CFSocketError
213 CFTimeInterval timeout,
215 CFPropertyListRef * value,
216 CFDataRef * nameServerAddress);
218CF_EXPORT UInt16 CFSocketGetDefaultNameRegistryPortNumber (
void);
220CF_EXPORT CFSocketError
222 CFTimeInterval timeout,
226CF_EXPORT CFSocketError
228 CFTimeInterval timeout,
229 CFStringRef name, CFPropertyListRef value);
231CF_EXPORT
void CFSocketSetDefaultNameRegistryPortNumber (UInt16 port);
233CF_EXPORT CFSocketError
235 CFTimeInterval timeout, CFStringRef name);
unsigned long CFOptionFlags
Definition CFBase.h:163
signed long CFIndex
Definition CFBase.h:165
const struct __CFAllocator * CFAllocatorRef
A reference to a CFAllocator object.
Definition CFBase.h:301