]> git.saurik.com Git - apple/cf.git/blobdiff - Base.subproj/CFBase.h
CF-476.10.tar.gz
[apple/cf.git] / Base.subproj / CFBase.h
diff --git a/Base.subproj/CFBase.h b/Base.subproj/CFBase.h
deleted file mode 100644 (file)
index dd6e668..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-/*     CFBase.h
-       Copyright (c) 1998-2005, Apple, Inc. All rights reserved.
-*/
-
-#if !defined(__COREFOUNDATION_CFBASE__)
-#define __COREFOUNDATION_CFBASE__ 1
-
-#if (defined(__CYGWIN32__) || defined(_WIN32)) && !defined (__WIN32__)
-#define __WIN32__ 1
-#endif
-
-#if defined(_MSC_VER) && defined(_M_IX86)
-#define __i386__ 1
-#endif
-
-#if defined(__WIN32__)
-#include <windows.h>
-#endif
-
-#if defined(__GNUC__)
-#include <stdint.h>
-#include <stdbool.h>
-#elif defined(__WIN32__)
-// mostly for the benefit of MSVC
-#include <GNUCompatibility/stdint.h>
-#include <GNUCompatibility/stdbool.h>
-#endif
-#include <AvailabilityMacros.h>
-
-    #if defined(__MACH__)
-        #include <CarbonCore/MacTypes.h>
-    #endif
-
-#if !defined(__MACTYPES__)
-    typedef unsigned char           Boolean;
-    typedef unsigned char           UInt8;
-    typedef signed char             SInt8;
-    typedef unsigned short          UInt16;
-    typedef signed short            SInt16;
-    typedef unsigned long           UInt32;
-    typedef signed long             SInt32;
-    typedef uint64_t               UInt64;
-    typedef int64_t                SInt64;
-    typedef float                   Float32;
-    typedef double                  Float64;
-    typedef unsigned short          UniChar;
-    typedef unsigned char *         StringPtr;
-    typedef const unsigned char *   ConstStringPtr;
-    typedef unsigned char           Str255[256];
-    typedef const unsigned char *   ConstStr255Param;
-    typedef SInt16                  OSErr;
-    typedef SInt32                  OSStatus;
-#endif
-#if !defined(__MACTYPES__) || (defined(UNIVERSAL_INTERFACES_VERSION) && UNIVERSAL_INTERFACES_VERSION < 0x0340)
-    typedef UInt32                  UTF32Char;
-    typedef UInt16                  UTF16Char;
-    typedef UInt8                   UTF8Char;
-#endif
-
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#ifndef NULL
-#ifdef __GNUG__
-#define NULL __null
-#else /* ! __GNUG__ */
-#ifndef __cplusplus
-#define NULL ((void *)0)
-#else /* __cplusplus */
-#define NULL 0
-#endif /* ! __cplusplus */
-#endif /* __GNUG__ */
-#endif /* ! NULL */
-
-#if !defined(TRUE)
-    #define TRUE       1
-#endif
-
-#if !defined(FALSE)
-    #define FALSE      0
-#endif
-
-#if defined(__WIN32__)
-    #undef CF_EXPORT
-/*
-    We don't build as a library now, but this would be the starting point.
-    #if defined(CF_BUILDING_CF_AS_LIB)
-    // we're building CF as a library
-    #define CF_EXPORT  extern
-    #elif defined(CF_BUILDING_CF)
-    // we're building CF as a DLL
-*/
-    #if defined(CF_BUILDING_CF)
-       #define CF_EXPORT __declspec(dllexport) extern
-    #else
-       #define CF_EXPORT __declspec(dllimport) extern
-    #endif
-#elif defined(macintosh)
-    #if defined(__MWERKS__)
-        #define CF_EXPORT __declspec(export) extern
-    #endif
-#endif
-
-#if !defined(CF_EXPORT)
-    #define CF_EXPORT extern
-#endif
-
-#if !defined(CF_INLINE)
-    #if defined(__GNUC__) && (__GNUC__ == 4) && !defined(DEBUG)
-       #define CF_INLINE static __inline__ __attribute__((always_inline))
-    #elif defined(__GNUC__)
-    #define CF_INLINE static __inline__
-    #elif defined(__MWERKS__) || defined(__cplusplus)
-       #define CF_INLINE static inline
-    #elif defined(_MSC_VER)
-        #define CF_INLINE static __inline
-    #elif defined(__WIN32__)
-       #define CF_INLINE static __inline__
-    #endif
-#endif
-
-
-CF_EXPORT double kCFCoreFoundationVersionNumber;
-
-#define kCFCoreFoundationVersionNumber10_0 196.4
-#define kCFCoreFoundationVersionNumber10_0_3 196.5
-#define kCFCoreFoundationVersionNumber10_1 226.0
-/* Note the next two do not follow the usual numbering policy from the base release */
-#define kCFCoreFoundationVersionNumber10_1_2 227.2
-#define kCFCoreFoundationVersionNumber10_1_4 227.3
-#define kCFCoreFoundationVersionNumber10_2 263.0
-#define kCFCoreFoundationVersionNumber10_3 299.0
-#define kCFCoreFoundationVersionNumber10_3_3 299.3
-#define kCFCoreFoundationVersionNumber10_3_4 299.31
-
-#if defined(__ppc64__)
-typedef UInt32 CFTypeID;
-typedef UInt64 CFOptionFlags;
-typedef UInt32 CFHashCode;
-typedef SInt64 CFIndex;
-#else
-typedef UInt32 CFTypeID;
-typedef UInt32 CFOptionFlags;
-typedef UInt32 CFHashCode;
-typedef SInt32 CFIndex;
-#endif
-
-/* Base "type" of all "CF objects", and polymorphic functions on them */
-typedef const void * CFTypeRef;
-
-typedef const struct __CFString * CFStringRef;
-typedef struct __CFString * CFMutableStringRef;
-
-/*
-        Type to mean any instance of a property list type;
-        currently, CFString, CFData, CFNumber, CFBoolean, CFDate,
-        CFArray, and CFDictionary.
-*/
-typedef CFTypeRef CFPropertyListRef;
-
-/* Values returned from comparison functions */
-typedef enum {
-    kCFCompareLessThan = -1,
-    kCFCompareEqualTo = 0,
-    kCFCompareGreaterThan = 1
-} CFComparisonResult;
-
-/* A standard comparison function */
-typedef CFComparisonResult (*CFComparatorFunction)(const void *val1, const void *val2, void *context);
-
-/* Constant used by some functions to indicate failed searches. */
-/* This is of type CFIndex. */
-enum {
-    kCFNotFound = -1
-};
-
-
-/* Range type */
-typedef struct {
-    CFIndex location;
-    CFIndex length;
-} CFRange;
-
-#if defined(CF_INLINE)
-CF_INLINE CFRange CFRangeMake(CFIndex loc, CFIndex len) {
-    CFRange range;
-    range.location = loc;
-    range.length = len;
-    return range;
-}
-#else
-#define CFRangeMake(LOC, LEN) __CFRangeMake(LOC, LEN)
-#endif
-
-/* Private; do not use */
-CF_EXPORT
-CFRange __CFRangeMake(CFIndex loc, CFIndex len);
-
-
-#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
-/* Null representant */
-
-typedef const struct __CFNull * CFNullRef;
-
-CF_EXPORT
-CFTypeID CFNullGetTypeID(void);
-
-CF_EXPORT
-const CFNullRef kCFNull;       // the singleton null instance
-
-#endif
-
-
-/* Allocator API
-
-   Most of the time when specifying an allocator to Create functions, the NULL
-   argument indicates "use the default"; this is the same as using kCFAllocatorDefault
-   or the return value from CFAllocatorGetDefault().  This assures that you will use
-   the allocator in effect at that time.
-
-   You should rarely use kCFAllocatorSystemDefault, the default default allocator.
-*/
-typedef const struct __CFAllocator * CFAllocatorRef;
-
-/* This is a synonym for NULL, if you'd rather use a named constant. */
-CF_EXPORT
-const CFAllocatorRef kCFAllocatorDefault;
-
-/* Default system allocator; you rarely need to use this. */
-CF_EXPORT
-const CFAllocatorRef kCFAllocatorSystemDefault;
-
-/* This allocator uses malloc(), realloc(), and free(). This should not be
-   generally used; stick to kCFAllocatorDefault whenever possible. This
-   allocator is useful as the "bytesDeallocator" in CFData or
-   "contentsDeallocator" in CFString where the memory was obtained as a
-   result of malloc() type functions.
-*/
-CF_EXPORT
-const CFAllocatorRef kCFAllocatorMalloc;
-
-/* This allocator explicitly uses the default malloc zone, returned by
-   malloc_default_zone(). It should only be used when an object is
-   safe to be allocated in non-scanned memory.
- */
-CF_EXPORT
-const CFAllocatorRef kCFAllocatorMallocZone AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
-/* Null allocator which does nothing and allocates no memory. This allocator
-   is useful as the "bytesDeallocator" in CFData or "contentsDeallocator"
-   in CFString where the memory should not be freed. 
-*/
-CF_EXPORT
-const CFAllocatorRef kCFAllocatorNull;
-
-/* Special allocator argument to CFAllocatorCreate() which means
-   "use the functions given in the context to allocate the allocator
-   itself as well". 
-*/
-CF_EXPORT
-const CFAllocatorRef kCFAllocatorUseContext;
-
-typedef const void *   (*CFAllocatorRetainCallBack)(const void *info);
-typedef void           (*CFAllocatorReleaseCallBack)(const void *info);
-typedef CFStringRef    (*CFAllocatorCopyDescriptionCallBack)(const void *info);
-typedef void *         (*CFAllocatorAllocateCallBack)(CFIndex allocSize, CFOptionFlags hint, void *info);
-typedef void *         (*CFAllocatorReallocateCallBack)(void *ptr, CFIndex newsize, CFOptionFlags hint, void *info);
-typedef void           (*CFAllocatorDeallocateCallBack)(void *ptr, void *info);
-typedef CFIndex                (*CFAllocatorPreferredSizeCallBack)(CFIndex size, CFOptionFlags hint, void *info);
-typedef struct {
-    CFIndex                            version;
-    void *                             info;
-    CFAllocatorRetainCallBack          retain;
-    CFAllocatorReleaseCallBack         release;        
-    CFAllocatorCopyDescriptionCallBack copyDescription;
-    CFAllocatorAllocateCallBack                allocate;
-    CFAllocatorReallocateCallBack      reallocate;
-    CFAllocatorDeallocateCallBack      deallocate;
-    CFAllocatorPreferredSizeCallBack   preferredSize;
-} CFAllocatorContext;
-
-CF_EXPORT
-CFTypeID       CFAllocatorGetTypeID(void);
-
-/*
-       CFAllocatorSetDefault() sets the allocator that is used in the current
-       thread whenever NULL is specified as an allocator argument. This means
-       that most, if not all allocations will go through this allocator. It
-       also means that any allocator set as the default needs to be ready to
-       deal with arbitrary memory allocation requests; in addition, the size
-       and number of requests will change between releases.
-
-       An allocator set as the default will never be released, even if later
-       another allocator replaces it as the default. Not only is it impractical
-       for it to be released (as there might be caches created under the covers
-       that refer to the allocator), in general it's also safer and more
-       efficient to keep it around.
-
-       If you wish to use a custom allocator in a context, it's best to provide
-       it as the argument to the various creation functions rather than setting
-       it as the default. Setting the default allocator is not encouraged.
-
-       If you do set an allocator as the default, either do it for all time in
-       your app, or do it in a nested fashion (by restoring the previous allocator
-       when you exit your context). The latter might be appropriate for plug-ins
-       or libraries that wish to set the default allocator.
-*/
-CF_EXPORT
-void CFAllocatorSetDefault(CFAllocatorRef allocator);
-
-CF_EXPORT
-CFAllocatorRef CFAllocatorGetDefault(void);
-
-CF_EXPORT
-CFAllocatorRef CFAllocatorCreate(CFAllocatorRef allocator, CFAllocatorContext *context);
-
-CF_EXPORT
-void *CFAllocatorAllocate(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint);
-
-CF_EXPORT
-void *CFAllocatorReallocate(CFAllocatorRef allocator, void *ptr, CFIndex newsize, CFOptionFlags hint);
-
-CF_EXPORT
-void CFAllocatorDeallocate(CFAllocatorRef allocator, void *ptr);
-
-CF_EXPORT
-CFIndex CFAllocatorGetPreferredSizeForSize(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint);
-
-CF_EXPORT
-void CFAllocatorGetContext(CFAllocatorRef allocator, CFAllocatorContext *context);
-
-
-/* Polymorphic CF functions */
-
-CF_EXPORT
-CFTypeID CFGetTypeID(CFTypeRef cf);
-
-CF_EXPORT
-CFStringRef CFCopyTypeIDDescription(CFTypeID type_id);
-
-CF_EXPORT
-CFTypeRef CFRetain(CFTypeRef cf);
-
-CF_EXPORT
-void CFRelease(CFTypeRef cf);
-
-CF_EXPORT
-CFIndex CFGetRetainCount(CFTypeRef cf);
-
-CF_EXPORT
-CFTypeRef CFMakeCollectable(CFTypeRef cf) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
-CF_EXPORT
-Boolean CFEqual(CFTypeRef cf1, CFTypeRef cf2);
-
-CF_EXPORT
-CFHashCode CFHash(CFTypeRef cf);
-
-CF_EXPORT
-CFStringRef CFCopyDescription(CFTypeRef cf);
-
-CF_EXPORT
-CFAllocatorRef CFGetAllocator(CFTypeRef cf);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* ! __COREFOUNDATION_CFBASE__ */
-