CFFileDescriptor.h
1 #if !defined(__COREFOUNDATION_CFFILEDESCRIPTOR__) 2 #define __COREFOUNDATION_CFFILEDESCRIPTOR__ 1 3 4 #include <CoreFoundation/CFRunLoop.h> 5 6 CF_EXTERN_C_BEGIN 7 8 typedef int CFFileDescriptorNativeDescriptor; 9 10 typedef struct __CFFileDescriptor * CFFileDescriptorRef; 11 12 enum { 13 kCFFileDescriptorReadCallBack = 1UL << 0, 14 kCFFileDescriptorWriteCallBack = 1UL << 1 15 }; 16 17 typedef void (*CFFileDescriptorCallBack)(CFFileDescriptorRef f, CFOptionFlags callBackTypes, void *info); 18 19 typedef struct { 20 CFIndex version; 21 void *info; 22 void *(*retain)(void *info); 23 void (*release)(void *info); 24 CFStringRef (*copyDescription)(void *info); 25 } CFFileDescriptorContext; 26 27 CF_EXPORT CFTypeID CFFileDescriptorGetTypeID(void); 28 CF_EXPORT CFFileDescriptorRef CFFileDescriptorCreate(CFAllocatorRef allocator, CFFileDescriptorNativeDescriptor fd, Boolean closeOnInvalidate, CFFileDescriptorCallBack callout, const CFFileDescriptorContext *context); 29 CF_EXPORT CFFileDescriptorNativeDescriptor CFFileDescriptorGetNativeDescriptor(CFFileDescriptorRef f); 30 CF_EXPORT void CFFileDescriptorGetContext(CFFileDescriptorRef f, CFFileDescriptorContext *context); 31 CF_EXPORT void CFFileDescriptorEnableCallBacks(CFFileDescriptorRef f, CFOptionFlags callBackTypes); 32 CF_EXPORT void CFFileDescriptorDisableCallBacks(CFFileDescriptorRef f, CFOptionFlags callBackTypes); 33 CF_EXPORT void CFFileDescriptorInvalidate(CFFileDescriptorRef f); 34 CF_EXPORT Boolean CFFileDescriptorIsValid(CFFileDescriptorRef f); 35 CF_EXPORT CFRunLoopSourceRef CFFileDescriptorCreateRunLoopSource(CFAllocatorRef allocator, CFFileDescriptorRef f, CFIndex order); 36 37 CF_EXTERN_C_END 38 39 #endif