2
Copyright (c) 1999-2005, Apple, Inc. All rights reserved.
4
{ Pascal Translation Updated: Peter N Lewis, <peter@stairways.com.au>, November 2005 }
6
Modified for use with Free Pascal
8
Please report any bugs to <gpc@microbizz.nl>
19
{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
20
{$setc GAP_INTERFACES_VERSION := $0210}
22
{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
23
{$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
26
{$ifc defined CPUPOWERPC and defined CPUI386}
27
{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
29
{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
30
{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
33
{$ifc not defined __ppc__ and defined CPUPOWERPC}
38
{$ifc not defined __i386__ and defined CPUI386}
44
{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
45
{$error Conflicting definitions for __ppc__ and __i386__}
48
{$ifc defined __ppc__ and __ppc__}
49
{$setc TARGET_CPU_PPC := TRUE}
50
{$setc TARGET_CPU_X86 := FALSE}
51
{$elifc defined __i386__ and __i386__}
52
{$setc TARGET_CPU_PPC := FALSE}
53
{$setc TARGET_CPU_X86 := TRUE}
55
{$error Neither __ppc__ nor __i386__ is defined.}
57
{$setc TARGET_CPU_PPC_64 := FALSE}
59
{$ifc defined FPC_BIG_ENDIAN}
60
{$setc TARGET_RT_BIG_ENDIAN := TRUE}
61
{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
62
{$elifc defined FPC_LITTLE_ENDIAN}
63
{$setc TARGET_RT_BIG_ENDIAN := FALSE}
64
{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
66
{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
68
{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
69
{$setc CALL_NOT_IN_CARBON := FALSE}
70
{$setc OLDROUTINENAMES := FALSE}
71
{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
72
{$setc OPAQUE_UPP_TYPES := TRUE}
73
{$setc OTCARBONAPPLICATION := TRUE}
74
{$setc OTKERNEL := FALSE}
75
{$setc PM_USE_SESSION_APIS := TRUE}
76
{$setc TARGET_API_MAC_CARBON := TRUE}
77
{$setc TARGET_API_MAC_OS8 := FALSE}
78
{$setc TARGET_API_MAC_OSX := TRUE}
79
{$setc TARGET_CARBON := TRUE}
80
{$setc TARGET_CPU_68K := FALSE}
81
{$setc TARGET_CPU_MIPS := FALSE}
82
{$setc TARGET_CPU_SPARC := FALSE}
83
{$setc TARGET_OS_MAC := TRUE}
84
{$setc TARGET_OS_UNIX := FALSE}
85
{$setc TARGET_OS_WIN32 := FALSE}
86
{$setc TARGET_RT_MAC_68881 := FALSE}
87
{$setc TARGET_RT_MAC_CFM := FALSE}
88
{$setc TARGET_RT_MAC_MACHO := TRUE}
89
{$setc TYPED_FUNCTION_POINTERS := TRUE}
90
{$setc TYPE_BOOL := FALSE}
91
{$setc TYPE_EXTENDED := FALSE}
92
{$setc TYPE_LONGLONG := TRUE}
93
uses MacTypes,CFBase,CFString;
98
CFUUIDRef = ^SInt32; { an opaque 32-bit type }
99
CFUUIDRefPtr = ^CFUUIDRef;
120
CFUUIDBytesPtr = ^CFUUIDBytes;
121
{ The CFUUIDBytes struct is a 128-bit struct that contains the
122
raw UUID. A CFUUIDRef can provide such a struct from the
123
CFUUIDGetUUIDBytes() function. This struct is suitable for
124
passing to APIs that expect a raw UUID.
127
function CFUUIDGetTypeID: CFTypeID; external name '_CFUUIDGetTypeID';
129
function CFUUIDCreate( alloc: CFAllocatorRef ): CFUUIDRef; external name '_CFUUIDCreate';
130
{ Create and return a brand new unique identifier }
132
function CFUUIDCreateWithBytes( alloc: CFAllocatorRef; byte0: ByteParameter; byte1: ByteParameter; byte2: ByteParameter; byte3: ByteParameter; byte4: ByteParameter; byte5: ByteParameter; byte6: ByteParameter; byte7: ByteParameter; byte8: ByteParameter; byte9: ByteParameter; byte10: ByteParameter; byte11: ByteParameter; byte12: ByteParameter; byte13: ByteParameter; byte14: ByteParameter; byte15: ByteParameter ): CFUUIDRef; external name '_CFUUIDCreateWithBytes';
133
{ Create and return an identifier with the given contents. This may return an existing instance with its ref count bumped because of uniquing. }
135
function CFUUIDCreateFromString( alloc: CFAllocatorRef; uuidStr: CFStringRef ): CFUUIDRef; external name '_CFUUIDCreateFromString';
136
{ Converts from a string representation to the UUID. This may return an existing instance with its ref count bumped because of uniquing. }
138
function CFUUIDCreateString( alloc: CFAllocatorRef; uuid: CFUUIDRef ): CFStringRef; external name '_CFUUIDCreateString';
139
{ Converts from a UUID to its string representation. }
141
function CFUUIDGetConstantUUIDWithBytes( alloc: CFAllocatorRef; byte0: ByteParameter; byte1: ByteParameter; byte2: ByteParameter; byte3: ByteParameter; byte4: ByteParameter; byte5: ByteParameter; byte6: ByteParameter; byte7: ByteParameter; byte8: ByteParameter; byte9: ByteParameter; byte10: ByteParameter; byte11: ByteParameter; byte12: ByteParameter; byte13: ByteParameter; byte14: ByteParameter; byte15: ByteParameter ): CFUUIDRef; external name '_CFUUIDGetConstantUUIDWithBytes';
142
{ This returns an immortal CFUUIDRef that should not be released. It can be used in headers to declare UUID constants with #define. }
144
function CFUUIDGetUUIDBytes( uuid: CFUUIDRef ): CFUUIDBytes; external name '_CFUUIDGetUUIDBytes';
146
function CFUUIDCreateFromUUIDBytes( alloc: CFAllocatorRef; bytes: CFUUIDBytes ): CFUUIDRef; external name '_CFUUIDCreateFromUUIDBytes';