--- /dev/null
+#include <bindings.dsl.h>
+#include <CoreFoundation/CFCharacterSet.h>
+
+module Bindings.CoreFoundation.CFCharacterSet where
+#strict_import
+import Bindings.CoreFoundation.CFBase
+import Bindings.CoreFoundation.CFData
+
+#opaque_t __CFCharacterSet
+#synonym_t CFCharacterSetRef , Ptr <__CFCharacterSet>
+#synonym_t CFMutableCharacterSetRef, Ptr <__CFCharacterSet>
+
+#num kCFCharacterSetControl
+#num kCFCharacterSetWhitespace
+#num kCFCharacterSetWhitespaceAndNewline
+#num kCFCharacterSetDecimalDigit
+#num kCFCharacterSetLetter
+#num kCFCharacterSetLowercaseLetter
+#num kCFCharacterSetUppercaseLetter
+#num kCFCharacterSetNonBase
+#num kCFCharacterSetDecomposable
+#num kCFCharacterSetAlphaNumeric
+#num kCFCharacterSetPunctuation
+#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
+# num kCFCharacterSetCapitalizedLetter
+#endif
+#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
+# num kCFCharacterSetSymbol
+#endif
+#if MAC_OS_X_VERSION_10_5 <= MAC_OS_X_VERSION_MAX_ALLOWED
+# num kCFCharacterSetNewline
+#endif
+#num kCFCharacterSetIllegal
+#synonym_t CFCharacterSetPredefinedSet, <CFIndex>
+
+#ccall CFCharacterSetGetTypeID , IO <CFTypeID>
+#ccall CFCharacterSetGetPredefined, <CFCharacterSetPredefinedSet> -> IO <CFCharacterSetRef>
+#cinline CFCharacterSetCreateWithCharactersInRange , <CFAllocatorRef> -> Ptr <CFRange> -> IO <CFCharacterSetRef>
+#ccall CFCharacterSetCreateWithCharactersInString , <CFAllocatorRef> -> <CFStringRef> -> IO <CFCharacterSetRef>
+#ccall CFCharacterSetCreateWithBitmapRepresentation, <CFAllocatorRef> -> <CFDataRef> -> IO <CFCharacterSetRef>
+
+#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
+# ccall CFCharacterSetCreateInvertedSet, <CFAllocatorRef> -> <CFCharacterSetRef> -> IO <CFCharacterSetRef>
+# ccall CFCharacterSetIsSupersetOfSet , <CFCharacterSetRef> -> <CFCharacterSetRef> -> IO <Boolean>
+# ccall CFCharacterSetHasMemberInPlane , <CFCharacterSetRef> -> <CFIndex> -> IO <Boolean>
+#endif
+
+#ccall CFCharacterSetCreateMutable, <CFAllocatorRef> -> IO <CFMutableCharacterSetRef>
+
+#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
+# ccall CFCharacterSetCreateCopy, <CFAllocatorRef> -> <CFCharacterSetRef> -> IO <CFCharacterSetRef>
+#endif
+
+#ccall CFCharacterSetCreateMutableCopy, <CFAllocatorRef> -> <CFCharacterSetRef> -> IO <CFMutableCharacterSetRef>
+#ccall CFCharacterSetIsCharacterMember, <CFCharacterSetRef> -> <UniChar> -> IO <Boolean>
+
+#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
+# ccall CFCharacterSetIsLongCharacterMember, <CFCharacterSetRef> -> <UTF32Char> -> IO <Boolean>
+#endif
+
+#ccall CFCharacterSetCreateBitmapRepresentation, <CFAllocatorRef> -> <CFCharacterSetRef> -> IO <CFDataRef>
+#cinline CFCharacterSetAddCharactersInRange , <CFMutableCharacterSetRef> -> Ptr <CFRange> -> IO ()
+#cinline CFCharacterSetRemoveCharactersInRange , <CFMutableCharacterSetRef> -> Ptr <CFRange> -> IO ()
+#ccall CFCharacterSetAddCharactersInString , <CFMutableCharacterSetRef> -> <CFStringRef> -> IO ()
+#ccall CFCharacterSetRemoveCharactersInString , <CFMutableCharacterSetRef> -> <CFStringRef> -> IO ()
+#ccall CFCharacterSetUnion , <CFMutableCharacterSetRef> -> <CFCharacterSetRef> -> IO ()
+#ccall CFCharacterSetIntersect , <CFMutableCharacterSetRef> -> <CFCharacterSetRef> -> IO ()
+#ccall CFCharacterSetInvert , <CFMutableCharacterSetRef> -> IO ()