/ include / CoreFoundation / CFFileDescriptor.h
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