const
libSecurity = ‘/System/Library/Frameworks/Security.framework/Security’;
function CF_ENUM(param1: SSLCipherSuite): Integer; cdecl;
external libSecurity name _PU + ‘CF_ENUM’;
function SecAccessControlGetTypeID: CFTypeID; cdecl;
external libSecurity name _PU + ‘SecAccessControlGetTypeID’;
function SecAccessControlCreateWithFlags(allocator: CFAllocatorRef;
protection: CFTypeRef; flags: SecAccessControlCreateFlags; error: Pointer)
: SecAccessControlRef; cdecl;
external libSecurity name _PU + ‘SecAccessControlCreateWithFlags’;
There is also an SDKTransformTypes.txt file in the Delphi Berlin bin directory which shows how SDKTransform will map the types from Objective-C to Object Pascal. Here is the complete types map list:
char=Byte
char*=MarshaledAString
short=SmallInt
short*=PSmallInt
int=Integer
int*=PInteger
long=LongInt
long*=PLongInt
float=Single
float*=PSingle
double=Double
double*=PDouble
long long=Int64
long long*=PInt64
unsigned.OSX=Cardinal
unsigned*.OSX=PCardinal
unsigned.IOS=LongWord
unsigned*.OSX=PLongWord
unsigned char=Byte
unsigned char*=PByte
unsigned char**=PByte
unsigned short=Word
unsigned int=Cardinal
unsigned int*=PCardinal
unsigned long=LongWord
unsigned long*=PLongWord
unsigned long long=UInt64
unsigned long long*=PUInt64
size_t=LongWord
size_t*=PLongWord
BOOL=Boolean
BOOL*=PBoolean
bool=Boolean
uint8_t=Byte
uint8_t*=PByte
uint8_t**=PByte
uint16_t=Word
uint16_t*=PWord
uint32_t=LongWord
uint32_t*=PLongWord
uint64_t=UInt64
__uint32_t.OSX=Cardinal
__uint32_t.IOS=LongWord
int8_t=Int8
int16_t=Int16
int32_t=Int32
int32_t*=PInt32
int64_t=Int64
UInt8=Byte
UInt16=UInt16
UInt32=UInt32
UInt64=UInt64
SInt8=Int8
SInt16=Int16
SInt32=Int32
SInt64=Int64
Float32=Single
Float64=Double
id=Pointer
id*=Pointer
void=Pointer
void*=Pointer
CGFloat*=PCGFloat
ptrdiff_t=Integer
Class=Pointer
Protocol=Pointer
Protocol*=Pointer
AppleEvent*=Pointer
GLint*=PGLint
NSGlyph*=PNSGlyph
NSGlyphInscription*=PNSGlyphInscription
NSOpenGLPixelFormatAttribute*=PNSOpenGLPixelFormatAttribute
NSPropertyListFormat*=PNSPropertyListFormat
NSRange*=PNSRange
NSRangePointer=PNSRange
NSStringEncoding*=PNSStringEncoding
NSTIFFCompression*=PNSTIFFCompression
NSTIFFCompression**=PNSTIFFCompression
NSZone*=Pointer
_Bool=Integer
_Bool*=PInteger
boolean_t=Integer
boolean_t*=PInteger
off_t=Integer
va_list=array of const
instancetype=Pointer {instancetype}
acl_t=Pointer {acl_t}
uid_t=Pointer {uid_t}
gid_t=Pointer {gid_t}
pid_t=Pointer {pid_t}
mode_t=Pointer {mode_t}
dispatch_source_t=Pointer {dispatch_source_t}
dispatch_block_t=Pointer {dispatch_block_t}
float_t=Single {float_t}
ssize_t=Integer
socklen_t=LongWord
Fixed=Integer
Fract=Integer
UnsignedFixed=LongWord
ShortFixed=SmallInt
HOSOKAWA Jun has a more extensive blog post (in Japanese) about SDKTransform, the CLang directory structure, and SDK Transform Assistant in a blog post. You can use the translate function in Chrome if needed. If you need to translate Java headers for Android try Java2OP.