Browse Source

* updated headers to Mac OS X 10.8 SDK (includes iOS 6 SDK info). Headers
that were removed (e.g. most of QuickDraw) were kept. Most changes are
related to deprecation notices, or the fact that certain headers have
become available on iOS. This version corresponds to r393 of the
macosxintf repository.

There were also a number of small corrections to existing declarations:
o several opaque types have been changed from ^SInt32 into pointers to
different empty records. That means that these types are no longer
assignment-compatible. Some of the more prominent ones that may affect
existing *correct* code are HIObject and ControlRef=HIViewRef. This
may require adding typecasts to keep code compiling (the same typecasts
are required in C)
o CGGLContextCreate : fixed first parameter (was "var", now is value
parameter)
o CFHostGetAddressing: var hasBeenResolved: boolean -> booleanptr because
can be nil
o CFHostGetNames: var hasBeenResolved: boolean -> booleanptr because can
be nil
o ColorSyncIterateInstalledProfiles: var seed: UInt32 -> UInt32Ptr
because can be nil
o AudioStreamGetPropertyInfo: outSize and outWritable changed to pointer
because can be nil
o cblas (several var-parametes changed to pointers because they represent
arrays):
o cblas_sswap, cblas_dswap: X, Y
o cblas_scopy, cblas_dcopy: Y
o cblas_saxpy, cblas_daxpy: Y
o catlas_saxpby, catlas_daxpby: Y
o catlas_sset, catlas_dset: X
o cblas_sscal, cblas_dscal: X
o cblas_sgemv, cblas_dgemv: X
o cblas_strmv, cblas_dtrmv: X
o cblas_stbmv, cblas_dtbmv: X
o cblas_stpmv, cblas_dtpmv: Ap, X
o cblas_strsv, cblas_dtrsv: X
o cblas_stbsv, cblas_dtbsv: X
o cblas_stpsv, cblas_dtpsv: Ap, X
o cblas_ssymv, cblas_dsymv: X
o cblas_ssbmv, cblas_dsbmv: Y
o cblas_sspmv, cblas_dspmv: Ap, Y
o cblas_sger, cblas_dger: A
o cblas_ssyr, cblas_dsyr: A
o cblas_sspr, cblas_dspr: Ap
o cblas_ssyr2, cblas_dsyr2: A
o cblas_sspr2, cblas_dspr2: A
o cblas_sgemm, cblas_sgemm: C
o cblas_ssymm, cblas_Dsymm: C
o cblas_ssyrk, cblas_dsyrk: C
o cblas_ssyr2k, cblas_dsyr2k: C
o cblas_strmm, cblas_dtrmm: B
o cblas_strsm, cblas_strsm: B
o vBLAS (idem)
o SDOT: X, Y
o SNRM2: X
o SASUM: X
o ISAMAX: X
o SSWAP: X, Y
o SCOPY: X, Y
o SAXPY: X, Y
o SROT: X, Y
o SSCAL: X
o SGEMV, A, X, Y
o SGEMM: A, B, C
o vDSP (idem)
o vDSP_sve_svesq, vDSP_sve_svesqD: __vDSP_A
o vDSP_normalize, vDSP_normalizeD: __vDSP_A, __vDSP_C

git-svn-id: trunk@22897 -

Jonas Maebe 12 years ago
parent
commit
1c19fb9ecc
100 changed files with 6585 additions and 4820 deletions
  1. 8 0
      .gitattributes
  2. 3 1
      packages/univint/Makefile.fpc.fpcmake
  3. 900 2808
      packages/univint/fpmake.pp
  4. 5 0
      packages/univint/src/ABActions.pas
  5. 5 0
      packages/univint/src/ABAddressBook.pas
  6. 5 0
      packages/univint/src/ABGlobals.pas
  7. 5 0
      packages/univint/src/ABPeoplePicker.pas
  8. 5 0
      packages/univint/src/ABTypedefs.pas
  9. 118 62
      packages/univint/src/AEDataModel.pas
  10. 35 27
      packages/univint/src/AEHelpers.pas
  11. 7 1
      packages/univint/src/AEInteraction.pas
  12. 11 5
      packages/univint/src/AEMach.pas
  13. 39 33
      packages/univint/src/AEObjects.pas
  14. 12 6
      packages/univint/src/AEPackObject.pas
  15. 10 2
      packages/univint/src/AERegistry.pas
  16. 7 1
      packages/univint/src/AEUserTermTypes.pas
  17. 8 9
      packages/univint/src/AIFF.pas
  18. 8 3
      packages/univint/src/ASDebugging.pas
  19. 8 3
      packages/univint/src/ASRegistry.pas
  20. 115 96
      packages/univint/src/ATSFont.pas
  21. 15 17
      packages/univint/src/ATSLayoutTypes.pas
  22. 18 20
      packages/univint/src/ATSTypes.pas
  23. 11 4
      packages/univint/src/ATSUnicodeDirectAccess.pas
  24. 9 3
      packages/univint/src/ATSUnicodeDrawing.pas
  25. 9 3
      packages/univint/src/ATSUnicodeFlattening.pas
  26. 9 3
      packages/univint/src/ATSUnicodeFonts.pas
  27. 10 3
      packages/univint/src/ATSUnicodeGlyphs.pas
  28. 9 3
      packages/univint/src/ATSUnicodeObjects.pas
  29. 14 5
      packages/univint/src/ATSUnicodeTypes.pas
  30. 326 207
      packages/univint/src/AUComponent.pas
  31. 29 30
      packages/univint/src/AVLTree.pas
  32. 7 1
      packages/univint/src/AXActionConstants.pas
  33. 35 5
      packages/univint/src/AXAttributeConstants.pas
  34. 6 0
      packages/univint/src/AXConstants.pas
  35. 9 4
      packages/univint/src/AXErrors.pas
  36. 10 4
      packages/univint/src/AXNotificationConstants.pas
  37. 16 1
      packages/univint/src/AXRoleConstants.pas
  38. 10 1
      packages/univint/src/AXTextAttributedString.pas
  39. 15 6
      packages/univint/src/AXUIElement.pas
  40. 11 5
      packages/univint/src/AXValue.pas
  41. 6 0
      packages/univint/src/AXValueConstants.pas
  42. 6 0
      packages/univint/src/Accessibility.pas
  43. 49 49
      packages/univint/src/Aliases.pas
  44. 11 3
      packages/univint/src/Appearance.pas
  45. 5 0
      packages/univint/src/AppleDiskPartitions.pas
  46. 31 16
      packages/univint/src/AppleEvents.pas
  47. 5 0
      packages/univint/src/AppleHelp.pas
  48. 8 3
      packages/univint/src/AppleScript.pas
  49. 117 29
      packages/univint/src/AudioCodecs.pas
  50. 325 70
      packages/univint/src/AudioComponents.pas
  51. 102 743
      packages/univint/src/AudioHardware.pas
  52. 1329 0
      packages/univint/src/AudioHardwareBase.pas
  53. 1248 0
      packages/univint/src/AudioHardwareDeprecated.pas
  54. 18 3
      packages/univint/src/AudioOutputUnit.pas
  55. 5 0
      packages/univint/src/AudioUnitCarbonViews.pas
  56. 276 129
      packages/univint/src/AudioUnitParameters.pas
  57. 474 155
      packages/univint/src/AudioUnitProperties.pas
  58. 8 2
      packages/univint/src/AuthSession.pas
  59. 22 9
      packages/univint/src/Authorization.pas
  60. 7 1
      packages/univint/src/AuthorizationDB.pas
  61. 7 1
      packages/univint/src/AuthorizationPlugin.pas
  62. 8 2
      packages/univint/src/AuthorizationTags.pas
  63. 7 3
      packages/univint/src/BackupCore.pas
  64. 9 2
      packages/univint/src/CFArray.pas
  65. 13 5
      packages/univint/src/CFAttributedString.pas
  66. 9 2
      packages/univint/src/CFBag.pas
  67. 63 4
      packages/univint/src/CFBase.pas
  68. 13 6
      packages/univint/src/CFBinaryHeap.pas
  69. 11 4
      packages/univint/src/CFBitVector.pas
  70. 22 13
      packages/univint/src/CFBundle.pas
  71. 5 0
      packages/univint/src/CFByteOrders.pas
  72. 14 6
      packages/univint/src/CFCalendar.pas
  73. 11 4
      packages/univint/src/CFCharacterSet.pas
  74. 15 9
      packages/univint/src/CFData.pas
  75. 12 4
      packages/univint/src/CFDate.pas
  76. 26 19
      packages/univint/src/CFDateFormatter.pas
  77. 9 2
      packages/univint/src/CFDictionary.pas
  78. 32 21
      packages/univint/src/CFError.pas
  79. 8 2
      packages/univint/src/CFFTPStream.pas
  80. 10 3
      packages/univint/src/CFHTTPAuthentication.pas
  81. 55 4
      packages/univint/src/CFHTTPMessage.pas
  82. 12 6
      packages/univint/src/CFHTTPStream.pas
  83. 13 6
      packages/univint/src/CFHost.pas
  84. 27 20
      packages/univint/src/CFLocale.pas
  85. 9 2
      packages/univint/src/CFMachPort.pas
  86. 10 3
      packages/univint/src/CFMessagePort.pas
  87. 10 3
      packages/univint/src/CFNetDiagnostics.pas
  88. 15 6
      packages/univint/src/CFNetServices.pas
  89. 9 2
      packages/univint/src/CFNetworkErrorss.pas
  90. 10 3
      packages/univint/src/CFNotificationCenter.pas
  91. 14 6
      packages/univint/src/CFNumber.pas
  92. 19 12
      packages/univint/src/CFNumberFormatter.pas
  93. 9 2
      packages/univint/src/CFPlugIn.pas
  94. 7 1
      packages/univint/src/CFPlugInCOM.pas
  95. 7 1
      packages/univint/src/CFPreferences.pas
  96. 26 13
      packages/univint/src/CFPropertyList.pas
  97. 42 4
      packages/univint/src/CFProxySupport.pas
  98. 18 9
      packages/univint/src/CFRunLoop.pas
  99. 11 4
      packages/univint/src/CFSet.pas
  100. 14 7
      packages/univint/src/CFSocket.pas

+ 8 - 0
.gitattributes

@@ -6363,6 +6363,8 @@ packages/univint/src/AppleScript.pas svneol=native#text/plain
 packages/univint/src/AudioCodecs.pas svneol=native#text/plain
 packages/univint/src/AudioComponents.pas svneol=native#text/plain
 packages/univint/src/AudioHardware.pas svneol=native#text/plain
+packages/univint/src/AudioHardwareBase.pas svneol=native#text/plain
+packages/univint/src/AudioHardwareDeprecated.pas svneol=native#text/plain
 packages/univint/src/AudioOutputUnit.pas svneol=native#text/plain
 packages/univint/src/AudioUnitCarbonViews.pas svneol=native#text/plain
 packages/univint/src/AudioUnitParameters.pas svneol=native#text/plain
@@ -6446,6 +6448,7 @@ packages/univint/src/CGGeometry.pas svneol=native#text/plain
 packages/univint/src/CGGradient.pas svneol=native#text/plain
 packages/univint/src/CGImage.pas svneol=native#text/plain
 packages/univint/src/CGImageDestination.pas svneol=native#text/plain
+packages/univint/src/CGImageMetadata.pas svneol=native#text/plain
 packages/univint/src/CGImageProperties.pas svneol=native#text/plain
 packages/univint/src/CGImageSource.pas svneol=native#text/plain
 packages/univint/src/CGLCurrent.pas svneol=native#text/plain
@@ -6477,6 +6480,7 @@ packages/univint/src/CGWindowLevels.pas svneol=native#text/plain
 packages/univint/src/CMCalibrator.pas svneol=native#text/plain
 packages/univint/src/CSIdentity.pas svneol=native#text/plain
 packages/univint/src/CSIdentityAuthority.pas svneol=native#text/plain
+packages/univint/src/CSIdentityBase.pas svneol=native#text/plain
 packages/univint/src/CSIdentityQuery.pas svneol=native#text/plain
 packages/univint/src/CTFont.pas svneol=native#text/plain
 packages/univint/src/CTFontCollection.pas svneol=native#text/plain
@@ -6503,9 +6507,11 @@ packages/univint/src/CVOpenGLBufferPool.pas svneol=native#text/plain
 packages/univint/src/CVOpenGLTexture.pas svneol=native#text/plain
 packages/univint/src/CVOpenGLTextureCache.pas svneol=native#text/plain
 packages/univint/src/CVPixelBuffer.pas svneol=native#text/plain
+packages/univint/src/CVPixelBufferIOSurface.pas svneol=native#text/plain
 packages/univint/src/CVPixelBufferPool.pas svneol=native#text/plain
 packages/univint/src/CVPixelFormatDescription.pas svneol=native#text/plain
 packages/univint/src/CVReturns.pas svneol=native#text/plain
+packages/univint/src/CaptiveNetwork.pas svneol=native#text/plain
 packages/univint/src/CarbonEvents.pas svneol=native#text/plain
 packages/univint/src/CarbonEventsCore.pas svneol=native#text/plain
 packages/univint/src/CodeFragments.pas svneol=native#text/plain
@@ -6531,6 +6537,7 @@ packages/univint/src/DateTimeUtils.pas svneol=native#text/plain
 packages/univint/src/Debugging.pas svneol=native#text/plain
 packages/univint/src/Dialogs.pas svneol=native#text/plain
 packages/univint/src/Dictionary.pas svneol=native#text/plain
+packages/univint/src/DictionaryServices.pas svneol=native#text/plain
 packages/univint/src/DigitalHubRegistry.pas svneol=native#text/plain
 packages/univint/src/Displays.pas svneol=native#text/plain
 packages/univint/src/Drag.pas svneol=native#text/plain
@@ -6678,6 +6685,7 @@ packages/univint/src/QDOffscreen.pas svneol=native#text/plain
 packages/univint/src/QDPictToCGContext.pas svneol=native#text/plain
 packages/univint/src/QLBase.pas svneol=native#text/plain
 packages/univint/src/QLGenerator.pas svneol=native#text/plain
+packages/univint/src/QLThumbnail.pas svneol=native#text/plain
 packages/univint/src/QLThumbnailImage.pas svneol=native#text/plain
 packages/univint/src/QTML.pas svneol=native#text/plain
 packages/univint/src/QTSMovie.pas svneol=native#text/plain

+ 3 - 1
packages/univint/Makefile.fpc.fpcmake

@@ -97,7 +97,9 @@ implicitunits=ABActions ABAddressBook ABGlobals ABPeoplePicker ABTypedefs AEData
   UniversalAccess Video WSMethodInvocation WSProtocolHandler WSTypes cblas \
   certextensions cssmapple cssmconfig cssmerr cssmkrapi cssmtype \
   fenv fp gliContexts gliDispatch gluContext kern_return macgl macglext \
-  macglu mach_error vBLAS vDSP x509defs xattr 
+  macglu mach_error vBLAS vDSP x509defs xattr \
+  AudioHardwareBase.pas AudioHardwareDeprecated.pas CGImageMetadata.pas CSIdentityBase.pas \
+  CVPixelBufferIOSurface.pas CaptiveNetwork.pas DictionaryServices.pas QLThumbnail.pas
 exampledirs=examples
 
 [libs]

+ 900 - 2808
packages/univint/fpmake.pp

@@ -22,2828 +22,920 @@ begin
     P.Options.Add('-Mmacpas');
 
     P.SupportBuildModes:=[bmOneByOne];
-  T:=P.Targets.AddImplicitUnit('ABActions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('abaddressbook');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('ABAddressBook.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('abtypedefs');
-        AddUnit('abglobals');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-        AddUnit('cfdata');
-      end;
-  T:=P.Targets.AddImplicitUnit('ABGlobals.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('ABPeoplePicker.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('abaddressbook');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cggeometry');
-        AddUnit('drag');
-        AddUnit('higeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('ABTypedefs.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEDataModel.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEHelpers.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('appleevents');
-        AddUnit('aedatamodel');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEInteraction.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('aedatamodel');
-        AddUnit('notification');
-        AddUnit('events');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEMach.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('aedatamodel');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEObjects.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('osutils');
-        AddUnit('appleevents');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEPackObject.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('appleevents');
-      end;
-  T:=P.Targets.AddImplicitUnit('AERegistry.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atstypes');
-        AddUnit('macerrors');
-        AddUnit('appleevents');
-      end;
-  T:=P.Targets.AddImplicitUnit('AEUserTermTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('AIFF.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ASDebugging.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('osa');
-        AddUnit('files');
-        AddUnit('components');
-        AddUnit('appleevents');
-        AddUnit('applescript');
-      end;
-  T:=P.Targets.AddImplicitUnit('ASRegistry.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aeregistry');
-        AddUnit('aeobjects');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSFont.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfrunloop');
-        AddUnit('cfpropertylist');
-        AddUnit('atstypes');
-        AddUnit('cfstring');
-        AddUnit('files');
-        AddUnit('textcommon');
-        AddUnit('sfnttypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSLayoutTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('sfntlayouttypes');
-        AddUnit('atstypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeDirectAccess.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atslayouttypes');
-        AddUnit('atsunicodetypes');
-        AddUnit('textcommon');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeDrawing.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textcommon');
-        AddUnit('quickdraw');
-        AddUnit('atslayouttypes');
-        AddUnit('atsunicodetypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeFlattening.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atsunicodetypes');
-        AddUnit('sfnttypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeFonts.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atsunicodetypes');
-        AddUnit('sfnttypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeGlyphs.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atsunicodetypes');
-        AddUnit('textcommon');
-        AddUnit('atstypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeObjects.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atsunicodetypes');
-        AddUnit('textcommon');
-        AddUnit('sfntlayouttypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ATSUnicodeTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macmemory');
-        AddUnit('atslayouttypes');
-        AddUnit('fonts');
-        AddUnit('quickdraw');
-        AddUnit('sfnttypes');
-        AddUnit('sfntlayouttypes');
-        AddUnit('atstypes');
-        AddUnit('textcommon');
-      end;
-  T:=P.Targets.AddImplicitUnit('AVLTree.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXActionConstants.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXAttributeConstants.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXErrors.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXNotificationConstants.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXRoleConstants.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXTextAttributedString.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXUIElement.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('axerrors');
-        AddUnit('cfrunloop');
-        AddUnit('cgremoteoperation');
-        AddUnit('macosxposix');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXValue.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('AXValueConstants.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Aliases.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('Appearance.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgcontext');
-        AddUnit('collections');
-        AddUnit('processes');
-        AddUnit('quickdrawtext');
-        AddUnit('textcommon');
-        AddUnit('quickdraw');
-        AddUnit('textedit');
-        AddUnit('qdoffscreen');
-        AddUnit('macerrors');
-        AddUnit('textutils');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('AppleDiskPartitions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AppleEvents.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('aedatamodel');
-        AddUnit('aeinteraction');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cfrunloop');
-        AddUnit('cfstream');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('AppleHelp.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('files');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('AppleScript.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('components');
-        AddUnit('macerrors');
-        AddUnit('appleevents');
-        AddUnit('osa');
-        AddUnit('textedit');
-      end;
-  T:=P.Targets.AddImplicitUnit('AudioHardware.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfrunloop');
-        AddUnit('coreaudiotypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AuthSession.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('authorization');
-      end;
-  T:=P.Targets.AddImplicitUnit('Authorization.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('AuthorizationDB.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('authorization');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('cfstring');
-        AddUnit('cfbundle');
-      end;
-  T:=P.Targets.AddImplicitUnit('AuthorizationTags.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFArray.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFAttributedString.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstring');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFBag.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFBase.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFBinaryHeap.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFBitVector.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFBundle.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFByteOrders.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFCalendar.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cflocale');
-        AddUnit('cfdate');
-        AddUnit('cftimezone');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFCharacterSet.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFData.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFDate.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFDateFormatter.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdate');
-        AddUnit('cflocale');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFDictionary.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFFTPStream.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstream');
-        AddUnit('cfurl');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFHTTPMessage.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFHTTPStream.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfstream');
-        AddUnit('cfbase');
-        AddUnit('cfhttpmessage');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFHost.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfarray');
-        AddUnit('cfrunloop');
-        AddUnit('cfstream');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFLocale.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFMachPort.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfrunloop');
-        AddUnit('macosxposix');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFMessagePort.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstring');
-        AddUnit('cfrunloop');
-        AddUnit('cfdata');
-        AddUnit('cfdate');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFNetServices.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstream');
-        AddUnit('cfarray');
-        AddUnit('cfrunloop');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFNotificationCenter.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFNumber.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFNumberFormatter.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfnumber');
-        AddUnit('cflocale');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFPlugIn.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfbundle');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-        AddUnit('cfuuid');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFPlugInCOM.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfplugin');
-        AddUnit('cfuuid');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFPreferences.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfdictionary');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfpropertylist');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFPropertyList.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfstring');
-        AddUnit('cfstream');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFRunLoop.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdate');
-        AddUnit('cfstring');
-        AddUnit('macosxposix');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFSet.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFSocket.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfstring');
-        AddUnit('cfrunloop');
-        AddUnit('cfdate');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFSocketStream.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfstream');
-        AddUnit('cfbase');
-        AddUnit('cfhost');
-        AddUnit('cfnetservices');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFStream.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstring');
-        AddUnit('cfdictionary');
-        AddUnit('cfurl');
-        AddUnit('cfrunloop');
-        AddUnit('cfsocket');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFString.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cfcharacterset');
-        AddUnit('cflocale');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFStringEncodingExt.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFTimeZone.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-        AddUnit('cfdate');
-        AddUnit('cfdictionary');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFTree.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFURL.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfstring');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFURLAccess.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFUUID.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFUserNotification.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdate');
-        AddUnit('cfdictionary');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-        AddUnit('cfrunloop');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFXMLNode.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-        AddUnit('cfstring');
-        AddUnit('cftree');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('CFXMLParser.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cftree');
-        AddUnit('cfurl');
-        AddUnit('cfxmlnode');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGAffineTransforms.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cggeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGBase.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGBitmapContext.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgcolorspace');
-        AddUnit('cgimage');
-        AddUnit('cgbase');
-        AddUnit('cgcontext');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGColor.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgbase');
-        AddUnit('cgcolorspace');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGColorSpace.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfstring');
-        AddUnit('cgbase');
-        AddUnit('cgdataprovider');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGContext.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cggeometry');
-        AddUnit('cgbase');
-        AddUnit('cfdictionary');
-        AddUnit('cgaffinetransforms');
-        AddUnit('cgcolorspace');
-        AddUnit('cgfont');
-        AddUnit('cgimage');
-        AddUnit('cgpdfdocument');
-        AddUnit('cgpath');
-        AddUnit('cgcolor');
-        AddUnit('cgshading');
-        AddUnit('cgpdfpage');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGDataConsumer.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cgbase');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGDataProvider.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cgbase');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGDirectDisplay.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-        AddUnit('cgcontext');
-        AddUnit('cgbase');
-        AddUnit('cggeometry');
-        AddUnit('cgerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGDirectPalette.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgdirectdisplay');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGDisplayConfiguration.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgdirectdisplay');
-        AddUnit('cgerrors');
-        AddUnit('cfdictionary');
-        AddUnit('cggeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGDisplayFades.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgerrors');
-        AddUnit('cgdirectdisplay');
-        AddUnit('cgdisplayconfiguration');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGErrors.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGEvent.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfmachport');
-        AddUnit('cgbase');
-        AddUnit('cgdirectdisplay');
-        AddUnit('cgeventtypes');
-        AddUnit('cggeometry');
-        AddUnit('cgerrors');
-        AddUnit('cgremoteoperation');
-        AddUnit('cgeventsource');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGEventSource.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdate');
-        AddUnit('cgremoteoperation');
-        AddUnit('cgeventtypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGEventTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macosxposix');
-        AddUnit('cgremoteoperation');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGFont.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cfarray');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGFunction.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGGLContext.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgcontext');
-        AddUnit('cggeometry');
-        AddUnit('cgcolorspace');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGGeometry.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGImage.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgbase');
-        AddUnit('cggeometry');
-        AddUnit('cgcolorspace');
-        AddUnit('cgdataprovider');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGImageDestination.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cfurl');
-        AddUnit('cgdataconsumer');
-        AddUnit('cgimage');
-        AddUnit('cgimagesource');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGImageProperties.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGImageSource.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cfurl');
-        AddUnit('cgdataprovider');
-        AddUnit('cgimage');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGLayer.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('cgbase');
-        AddUnit('cggeometry');
-        AddUnit('cgcontext');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFArray.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgpdfobject');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFContentStream.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfarray');
-        AddUnit('cgpdfobject');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFContext.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cggeometry');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('cfurl');
-        AddUnit('cgbase');
-        AddUnit('cgcontext');
-        AddUnit('cgdataconsumer');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFDictionary.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgpdfobject');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFDocument.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgbase');
-        AddUnit('cgdataprovider');
-        AddUnit('cggeometry');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFObject.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFOperatorTable.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFPage.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgaffinetransforms');
-        AddUnit('cfbase');
-        AddUnit('cgbase');
-        AddUnit('cgpdfdocument');
-        AddUnit('cggeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFScanner.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgpdfobject');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFStream.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cfdata');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPDFString.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdate');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPSConverter.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('cgbase');
-        AddUnit('cgdataconsumer');
-        AddUnit('cgdataprovider');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPath.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgaffinetransforms');
-        AddUnit('cfbase');
-        AddUnit('cggeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGPattern.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cggeometry');
-        AddUnit('cgaffinetransforms');
-        AddUnit('cgbase');
-        AddUnit('cgcontext');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGRemoteOperation.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfmachport');
-        AddUnit('cgbase');
-        AddUnit('cggeometry');
-        AddUnit('cgerrors');
-        AddUnit('cfdate');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGSession.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfdictionary');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGShading.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgcolorspace');
-        AddUnit('cgfunction');
-        AddUnit('cggeometry');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CGWindowLevels.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CMCalibrator.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('events');
-      end;
-  T:=P.Targets.AddImplicitUnit('CarbonEvents.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgcontext');
-        AddUnit('quickdraw');
-        AddUnit('axuielement');
-        AddUnit('drag');
-        AddUnit('cfarray');
-        AddUnit('events');
-        AddUnit('menus');
-        AddUnit('controls');
-        AddUnit('cfstring');
-        AddUnit('aeregistry');
-        AddUnit('aedatamodel');
-        AddUnit('carboneventscore');
-        AddUnit('higeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('CarbonEventsCore.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('CodeFragments.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbundle');
-        AddUnit('files');
-        AddUnit('multiprocessing');
-      end;
-  T:=P.Targets.AddImplicitUnit('Collections.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('ColorPicker.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('quickdraw');
-        AddUnit('events');
-      end;
-  T:=P.Targets.AddImplicitUnit('Components.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macerrors');
-        AddUnit('mixedmode');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('ConditionalMacros.pas');
-  T:=P.Targets.AddImplicitUnit('ControlDefinitions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textedit');
-        AddUnit('axuielement');
-        AddUnit('aedatamodel');
-        AddUnit('cfbase');
-        AddUnit('events');
-        AddUnit('quickdraw');
-        AddUnit('icons');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('datetimeutils');
-        AddUnit('drag');
-        AddUnit('textcommon');
-        AddUnit('appearance');
-        AddUnit('carbonevents');
-        AddUnit('controls');
-        AddUnit('lists');
-        AddUnit('machelp');
-        AddUnit('menus');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('Controls.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('files');
-        AddUnit('events');
-        AddUnit('cgimage');
-        AddUnit('quickdraw');
-        AddUnit('menus');
-        AddUnit('textedit');
-        AddUnit('drag');
-        AddUnit('icons');
-        AddUnit('collections');
-        AddUnit('macerrors');
-        AddUnit('appearance');
-      end;
-  T:=P.Targets.AddImplicitUnit('CoreAudioTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('CoreFoundation.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfbag');
-        AddUnit('cfcharacterset');
-        AddUnit('cfdata');
-        AddUnit('cfdate');
-        AddUnit('cfdictionary');
-        AddUnit('cfnumber');
-        AddUnit('cfpropertylist');
-        AddUnit('cfset');
-        AddUnit('cfstring');
-        AddUnit('cfstringencodingext');
-        AddUnit('cftimezone');
-        AddUnit('cftree');
-        AddUnit('cfurl');
-        AddUnit('cfxmlnode');
-        AddUnit('cfxmlparser');
-        AddUnit('cfmachport');
-        AddUnit('cfmessageport');
-        AddUnit('cfrunloop');
-        AddUnit('cfsocket');
-        AddUnit('cfbinaryheap');
-        AddUnit('cfbitvector');
-        AddUnit('cfbundle');
-        AddUnit('cfbyteorders');
-        AddUnit('cfplugin');
-        AddUnit('cfpreferences');
-        AddUnit('cfurlaccess');
-        AddUnit('cfuuid');
-        AddUnit('cflocale');
-        AddUnit('cfstream');
-        AddUnit('cfdateformatter');
-        AddUnit('cfnumberformatter');
-        AddUnit('cfcalendar');
-        AddUnit('cfusernotification');
-        AddUnit('cfnotificationcenter');
-        AddUnit('cfattributedstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('CoreGraphics.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgbase');
-        AddUnit('cgaffinetransforms');
-        AddUnit('cgbitmapcontext');
-        AddUnit('cgcolor');
-        AddUnit('cgcolorspace');
-        AddUnit('cgcontext');
-        AddUnit('cgdataconsumer');
-        AddUnit('cgdataprovider');
-        AddUnit('cgdirectdisplay');
-        AddUnit('cgdirectpalette');
-        AddUnit('cgdisplayconfiguration');
-        AddUnit('cgdisplayfades');
-        AddUnit('cgerrors');
-        AddUnit('cgevent');
-        AddUnit('cgeventsource');
-        AddUnit('cgeventtypes');
-        AddUnit('cgfont');
-        AddUnit('cgfunction');
-        AddUnit('cgglcontext');
-        AddUnit('cggeometry');
-        AddUnit('cgimage');
-        AddUnit('cglayer');
-        AddUnit('cgpdfarray');
-        AddUnit('cgpdfcontentstream');
-        AddUnit('cgpdfcontext');
-        AddUnit('cgpdfdictionary');
-        AddUnit('cgpdfdocument');
-        AddUnit('cgpdfobject');
-        AddUnit('cgpdfoperatortable');
-        AddUnit('cgpdfpage');
-        AddUnit('cgpdfscanner');
-        AddUnit('cgpdfstream');
-        AddUnit('cgpdfstring');
-        AddUnit('cgpsconverter');
-        AddUnit('cgpath');
-        AddUnit('cgpattern');
-        AddUnit('cgremoteoperation');
-        AddUnit('cgsession');
-        AddUnit('cgshading');
-        AddUnit('cgwindowlevels');
-      end;
-  T:=P.Targets.AddImplicitUnit('DHCPClientPreferences.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('DateTimeUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('Debugging.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('Dialogs.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('carboneventscore');
-        AddUnit('quickdraw');
-        AddUnit('mixedmode');
-        AddUnit('events');
-        AddUnit('macwindows');
-        AddUnit('textedit');
-        AddUnit('controls');
-        AddUnit('macerrors');
-        AddUnit('carbonevents');
-      end;
-  T:=P.Targets.AddImplicitUnit('Dictionary.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('files');
-        AddUnit('aeregistry');
-        AddUnit('codefragments');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('Displays.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('aedatamodel');
-        AddUnit('conditionalmacros');
-        AddUnit('components');
-        AddUnit('appleevents');
-        AddUnit('events');
-        AddUnit('processes');
-        AddUnit('dialogs');
-      end;
-  T:=P.Targets.AddImplicitUnit('Drag.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('cgimage');
-        AddUnit('cggeometry');
-        AddUnit('events');
-        AddUnit('files');
-        AddUnit('appleevents');
-        AddUnit('quickdraw');
-        AddUnit('pasteboard');
-        AddUnit('higeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('DrawSprocket.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('events');
-        AddUnit('quickdraw');
-        AddUnit('qdoffscreen');
-        AddUnit('displays');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('DriverSynchronization.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('Endian.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Events.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('osutils');
-        AddUnit('quickdraw');
-        AddUnit('endian');
-      end;
-  T:=P.Targets.AddUnit('MacOSAll.pas');
-  T:=P.Targets.AddImplicitUnit('FileTypesAndCreators.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('Files.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('osutils');
-        AddUnit('textcommon');
-        AddUnit('utcutils');
-        AddUnit('finder');
-      end;
-  T:=P.Targets.AddImplicitUnit('Finder.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('FinderRegistry.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aeregistry');
-        AddUnit('osa');
-      end;
-  T:=P.Targets.AddImplicitUnit('FixMath.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Folders.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('FontPanel.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('aeregistry');
-        AddUnit('atstypes');
-        AddUnit('carboneventscore');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('quickdraw');
-      end;
-  T:=P.Targets.AddImplicitUnit('FontSync.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('atstypes');
-        AddUnit('files');
-        AddUnit('fonts');
-        AddUnit('sfnttypes');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('Fonts.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdrawtext');
-        AddUnit('atstypes');
-        AddUnit('files');
-        AddUnit('macerrors');
-        AddUnit('quickdraw');
-        AddUnit('textcommon');
-      end;
-  T:=P.Targets.AddImplicitUnit('GPCStrings.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('GestaltEqu.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('HFSVolumes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('finder');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIArchive.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfnumber');
-        AddUnit('hiobject');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIGeometry.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cggeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIMovieView.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('higeometry');
-        AddUnit('hiview');
-        AddUnit('movies');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIObject.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfbundle');
-        AddUnit('events');
-        AddUnit('carbonevents');
-        AddUnit('axuielement');
-        AddUnit('cfdictionary');
-        AddUnit('carboneventscore');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIShape.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgcontext');
-        AddUnit('drag');
-        AddUnit('quickdraw');
-        AddUnit('carbonevents');
-        AddUnit('higeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('HITextUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textcommon');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('HITheme.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cgbase');
-        AddUnit('appearance');
-        AddUnit('hishape');
-        AddUnit('higeometry');
-        AddUnit('drag');
-        AddUnit('cfdate');
-        AddUnit('cgcontext');
-        AddUnit('macwindows');
-        AddUnit('controls');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIToolbar.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cgimage');
-        AddUnit('icons');
-        AddUnit('menus');
-        AddUnit('quickdraw');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIToolbox.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('hiobject');
-        AddUnit('hiarchive');
-        AddUnit('higeometry');
-        AddUnit('hitoolbar');
-        AddUnit('hiview');
-        AddUnit('hitextutils');
-        AddUnit('hishape');
-        AddUnit('events');
-        AddUnit('notification');
-        AddUnit('drag');
-        AddUnit('controls');
-        AddUnit('appearance');
-        AddUnit('hitheme');
-        AddUnit('macwindows');
-        AddUnit('textedit');
-        AddUnit('menus');
-        AddUnit('dialogs');
-        AddUnit('lists');
-        AddUnit('carboneventscore');
-        AddUnit('carbonevents');
-        AddUnit('textservices');
-        AddUnit('scrap');
-        AddUnit('mactexteditor');
-        AddUnit('machelp');
-        AddUnit('controldefinitions');
-        AddUnit('tsmte');
-        AddUnit('translationextensions');
-        AddUnit('translation');
-        AddUnit('aeinteraction');
-        AddUnit('typeselect');
-        AddUnit('macapplication');
-        AddUnit('keyboards');
-        AddUnit('ibcarbonruntime');
-      end;
-  T:=P.Targets.AddImplicitUnit('HIView.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cgcontext');
-        AddUnit('cgimage');
-        AddUnit('carboneventscore');
-        AddUnit('drag');
-        AddUnit('events');
-        AddUnit('quickdraw');
-        AddUnit('menus');
-        AddUnit('appearance');
-        AddUnit('controls');
-        AddUnit('carbonevents');
-        AddUnit('higeometry');
-        AddUnit('icons');
-        AddUnit('hishape');
-      end;
-  T:=P.Targets.AddImplicitUnit('HTMLRendering.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('quickdraw');
-        AddUnit('events');
-        AddUnit('files');
-        AddUnit('codefragments');
-        AddUnit('controls');
-        AddUnit('cfdata');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('HostTime.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('coreaudiotypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('IBCarbonRuntime.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('quickdraw');
-        AddUnit('menus');
-        AddUnit('cfstring');
-        AddUnit('cfbundle');
-        AddUnit('macwindows');
-        AddUnit('controldefinitions');
-      end;
-  T:=P.Targets.AddImplicitUnit('ICAApplication.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('files');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('ICACamera.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('ICADevice.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('icaapplication');
-      end;
-  T:=P.Targets.AddImplicitUnit('Icons.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cggeometry');
-        AddUnit('quickdraw');
-        AddUnit('files');
-        AddUnit('codefragments');
-        AddUnit('cgcontext');
-      end;
-  T:=P.Targets.AddImplicitUnit('ImageCodec.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('events');
-        AddUnit('qdoffscreen');
-        AddUnit('osutils');
-        AddUnit('dialogs');
-        AddUnit('quickdraw');
-        AddUnit('components');
-        AddUnit('imagecompression');
-        AddUnit('movies');
-      end;
-  T:=P.Targets.AddImplicitUnit('ImageCompression.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('osutils');
-        AddUnit('quickdraw');
-        AddUnit('qdoffscreen');
-        AddUnit('components');
-        AddUnit('dialogs');
-      end;
-  T:=P.Targets.AddImplicitUnit('InternetConfig.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('aliases');
-        AddUnit('components');
-        AddUnit('aedatamodel');
-      end;
-  T:=P.Targets.AddImplicitUnit('IntlResources.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Keyboards.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('KeychainCore.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('aliases');
-        AddUnit('codefragments');
-        AddUnit('macerrors');
-        AddUnit('processes');
-        AddUnit('events');
-      end;
-  T:=P.Targets.AddImplicitUnit('KeychainHI.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('keychaincore');
-        AddUnit('cfstring');
-        AddUnit('cfarray');
-        AddUnit('cfdate');
-      end;
-  T:=P.Targets.AddImplicitUnit('LanguageAnalysis.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('files');
-        AddUnit('aeregistry');
-        AddUnit('dictionary');
-        AddUnit('textcommon');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('Lists.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('events');
-        AddUnit('quickdraw');
-        AddUnit('controls');
-      end;
-  T:=P.Targets.AddImplicitUnit('LowMem.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('macmemory');
-        AddUnit('osutils');
-        AddUnit('resources');
-        AddUnit('quickdraw');
-        AddUnit('controls');
-        AddUnit('events');
-        AddUnit('menus');
-        AddUnit('fonts');
-        AddUnit('macwindows');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacApplication.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgimage');
-        AddUnit('menus');
-        AddUnit('cgcontext');
-        AddUnit('quickdraw');
-        AddUnit('textcommon');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacErrors.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacHelp.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('quickdraw');
-        AddUnit('textedit');
-        AddUnit('controls');
-        AddUnit('dialogs');
-        AddUnit('events');
-        AddUnit('macwindows');
-        AddUnit('menus');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacLocales.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacMemory.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddUnit('MacOS.pas');
-    T.Install:=false;
-  T:=P.Targets.AddImplicitUnit('MacOSXPosix.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacTextEditor.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfurl');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-        AddUnit('cfstring');
-        AddUnit('cfdictionary');
-        AddUnit('cgbase');
-        AddUnit('aedatamodel');
-        AddUnit('textcommon');
-        AddUnit('quickdraw');
-        AddUnit('qdoffscreen');
-        AddUnit('menus');
-        AddUnit('atsunicodetypes');
-        AddUnit('conditionalmacros');
-        AddUnit('drag');
-        AddUnit('macwindows');
-        AddUnit('files');
-        AddUnit('events');
-        AddUnit('macerrors');
-        AddUnit('carbonevents');
-        AddUnit('hiview');
-        AddUnit('higeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('MacWindows.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('files');
-        AddUnit('appearance');
-        AddUnit('carbonevents');
-        AddUnit('hitoolbar');
-        AddUnit('aliases');
-        AddUnit('appleevents');
-        AddUnit('collections');
-        AddUnit('drag');
-        AddUnit('events');
-        AddUnit('menus');
-        AddUnit('mixedmode');
-        AddUnit('qdoffscreen');
-        AddUnit('quickdraw');
-        AddUnit('textcommon');
-        AddUnit('icons');
-        AddUnit('macerrors');
-        AddUnit('cfstring');
-        AddUnit('cgwindowlevels');
-        AddUnit('higeometry');
-        AddUnit('carboneventscore');
-      end;
-  T:=P.Targets.AddImplicitUnit('MachineExceptions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('Math64.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('MediaHandlers.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('events');
-        AddUnit('imagecompression');
-        AddUnit('conditionalmacros');
-        AddUnit('components');
-        AddUnit('sound');
-        AddUnit('movies');
-      end;
-  T:=P.Targets.AddImplicitUnit('Menus.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('cfbase');
-        AddUnit('cgcontext');
-        AddUnit('atstypes');
-        AddUnit('events');
-        AddUnit('quickdraw');
-        AddUnit('fonts');
-        AddUnit('textcommon');
-        AddUnit('processes');
-        AddUnit('appleevents');
-        AddUnit('collections');
-        AddUnit('macerrors');
-        AddUnit('cfstring');
-        AddUnit('cfuuid');
-        AddUnit('carboneventscore');
-      end;
-  T:=P.Targets.AddImplicitUnit('MixedMode.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Movies.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('qdoffscreen');
-        AddUnit('textedit');
-        AddUnit('controls');
-        AddUnit('dialogs');
-        AddUnit('quickdraw');
-        AddUnit('aliases');
-        AddUnit('events');
-        AddUnit('menus');
-        AddUnit('components');
-        AddUnit('sound');
-        AddUnit('imagecompression');
-      end;
-  T:=P.Targets.AddImplicitUnit('MoviesFormat.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('imagecompression');
-        AddUnit('components');
-        AddUnit('movies');
-      end;
-  T:=P.Targets.AddImplicitUnit('Multiprocessing.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('NSL.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('events');
-        AddUnit('nslcore');
-      end;
-  T:=P.Targets.AddImplicitUnit('NSLCore.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('codefragments');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('Navigation.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('cfbase');
-        AddUnit('quickdraw');
-        AddUnit('finder');
-        AddUnit('events');
-        AddUnit('appleevents');
-        AddUnit('translation');
-        AddUnit('macwindows');
-        AddUnit('codefragments');
-        AddUnit('macerrors');
-        AddUnit('cfarray');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('Notification.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('osutils');
-      end;
-  T:=P.Targets.AddImplicitUnit('NumberFormatting.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-        AddUnit('intlresources');
-      end;
-  T:=P.Targets.AddImplicitUnit('OSA.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('macerrors');
-        AddUnit('appleevents');
-        AddUnit('aeobjects');
-        AddUnit('aeinteraction');
-        AddUnit('components');
-      end;
-  T:=P.Targets.AddImplicitUnit('OSAComp.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-      end;
-  T:=P.Targets.AddImplicitUnit('OSAGeneric.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-        AddUnit('components');
-        AddUnit('macerrors');
-        AddUnit('appleevents');
-        AddUnit('osa');
-      end;
-  T:=P.Targets.AddImplicitUnit('OSUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('mixedmode');
-        AddUnit('macmemory');
-        AddUnit('datetimeutils');
-        AddUnit('cfstring');
-        AddUnit('endian');
-      end;
-  T:=P.Targets.AddImplicitUnit('OpenTransport.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('OpenTransportProtocol.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-        AddUnit('files');
-        AddUnit('codefragments');
-        AddUnit('opentransport');
-      end;
-  T:=P.Targets.AddImplicitUnit('OpenTransportProviders.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('opentransport');
-      end;
-  T:=P.Targets.AddImplicitUnit('PEFBinaryFormat.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('PLStringFuncs.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('PMApplication.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('pmdefinitions');
-        AddUnit('pmcore');
-        AddUnit('dialogs');
-      end;
-  T:=P.Targets.AddImplicitUnit('PMCore.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('macerrors');
-        AddUnit('files');
-        AddUnit('cfstring');
-        AddUnit('cfurl');
-        AddUnit('quickdraw');
-        AddUnit('pmdefinitions');
-      end;
-  T:=P.Targets.AddImplicitUnit('PMDefinitions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macerrors');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('Palettes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-      end;
-  T:=P.Targets.AddImplicitUnit('Pasteboard.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('PictUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('palettes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Power.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('multiprocessing');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('Processes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('quickdraw');
-        AddUnit('aedatamodel');
-        AddUnit('events');
-        AddUnit('files');
-        AddUnit('textcommon');
-        AddUnit('cfstring');
-        AddUnit('macosxposix');
-      end;
-  T:=P.Targets.AddImplicitUnit('QDOffscreen.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macerrors');
-        AddUnit('quickdraw');
-      end;
-  T:=P.Targets.AddImplicitUnit('QDPictToCGContext.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgcontext');
-        AddUnit('cggeometry');
-        AddUnit('cgdataprovider');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('QTML.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('events');
-        AddUnit('macmemory');
-        AddUnit('macwindows');
-        AddUnit('osutils');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('QTSMovie.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('components');
-        AddUnit('movies');
-        AddUnit('quicktimestreaming');
-      end;
-  T:=P.Targets.AddImplicitUnit('QTStreamingComponents.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('dialogs');
-        AddUnit('components');
-        AddUnit('movies');
-        AddUnit('quicktimestreaming');
-      end;
-  T:=P.Targets.AddImplicitUnit('QuickTimeComponents.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('events');
-        AddUnit('qdoffscreen');
-        AddUnit('menus');
-        AddUnit('dialogs');
-        AddUnit('aliases');
-        AddUnit('mixedmode');
-        AddUnit('components');
-        AddUnit('quickdraw');
-        AddUnit('sound');
-        AddUnit('imagecompression');
-        AddUnit('movies');
-        AddUnit('quicktimemusic');
-      end;
-  T:=P.Targets.AddImplicitUnit('QuickTimeMusic.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('dialogs');
-        AddUnit('files');
-        AddUnit('components');
-        AddUnit('quickdraw');
-        AddUnit('macmemory');
-        AddUnit('sound');
-        AddUnit('endian');
-        AddUnit('imagecompression');
-        AddUnit('movies');
-      end;
-  T:=P.Targets.AddImplicitUnit('QuickTimeStreaming.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('events');
-        AddUnit('imagecompression');
-        AddUnit('quickdraw');
-        AddUnit('components');
-        AddUnit('macerrors');
-        AddUnit('movies');
-        AddUnit('quicktimecomponents');
-      end;
-  T:=P.Targets.AddImplicitUnit('QuickTimeVR.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('movies');
-      end;
-  T:=P.Targets.AddImplicitUnit('QuickTimeVRFormat.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('conditionalmacros');
-        AddUnit('movies');
-        AddUnit('quicktimevr');
-      end;
-  T:=P.Targets.AddImplicitUnit('Quickdraw.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cgdirectdisplay');
-        AddUnit('components');
-        AddUnit('mixedmode');
-        AddUnit('quickdrawtext');
-        AddUnit('cgcontext');
-      end;
-  T:=P.Targets.AddImplicitUnit('QuickdrawText.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('intlresources');
-      end;
-  T:=P.Targets.AddImplicitUnit('Resources.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCDynamicStore.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfrunloop');
-        AddUnit('cfpropertylist');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCDynamicStoreCopyDHCPInfos.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('scdynamicstore');
-        AddUnit('cfdictionary');
-        AddUnit('cfdata');
-        AddUnit('cfdate');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCDynamicStoreCopySpecific.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('scdynamicstore');
-        AddUnit('macosxposix');
-        AddUnit('cfstring');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCDynamicStoreKey.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCNetwork.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('macosxposix');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCNetworkConnection.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfdictionary');
-        AddUnit('cfrunloop');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCNetworkReachability.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('scnetwork');
-        AddUnit('macosxposix');
-        AddUnit('cfrunloop');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCPreferences.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('scdynamicstore');
-        AddUnit('cfdate');
-        AddUnit('cfpropertylist');
-        AddUnit('cfarray');
-        AddUnit('cfdata');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCPreferencesPath.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('scpreferences');
-        AddUnit('cfdictionary');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCPreferencesSetSpecific.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('scpreferences');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCSI.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('applediskpartitions');
-      end;
-  T:=P.Targets.AddImplicitUnit('SCSchemaDefinitions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('SFNTLayoutTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('SFNTTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('Scrap.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('mixedmode');
-        AddUnit('macerrors');
-        AddUnit('cfstring');
-      end;
-  T:=P.Targets.AddImplicitUnit('Script.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('intlresources');
-      end;
-  T:=P.Targets.AddImplicitUnit('Sound.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('components');
-        AddUnit('mixedmode');
-        AddUnit('dialogs');
-      end;
-  T:=P.Targets.AddImplicitUnit('SpeechRecognition.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('aedatamodel');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('SpeechSynthesis.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('StringCompare.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('textcommon');
-        AddUnit('script');
-        AddUnit('typeselect');
-      end;
-  T:=P.Targets.AddImplicitUnit('SystemConfiguration.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('SystemSound.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('cfbase');
-        AddUnit('cfrunloop');
-      end;
-  T:=P.Targets.AddImplicitUnit('TSMTE.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textedit');
-        AddUnit('dialogs');
-        AddUnit('appleevents');
-        AddUnit('textservices');
-      end;
-  T:=P.Targets.AddImplicitUnit('TextCommon.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('aedatamodel');
-      end;
-  T:=P.Targets.AddImplicitUnit('TextEdit.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('TextEncodingConverter.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textcommon');
-      end;
-  T:=P.Targets.AddImplicitUnit('TextEncodingPlugin.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textcommon');
-        AddUnit('textencodingconverter');
-      end;
-  T:=P.Targets.AddImplicitUnit('TextServices.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-        AddUnit('conditionalmacros');
-        AddUnit('cfbase');
-        AddUnit('carboneventscore');
-        AddUnit('atstypes');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-        AddUnit('events');
-        AddUnit('menus');
-        AddUnit('aedatamodel');
-        AddUnit('aeregistry');
-        AddUnit('aeinteraction');
-        AddUnit('components');
-        AddUnit('carbonevents');
-      end;
-  T:=P.Targets.AddImplicitUnit('TextUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('intlresources');
-        AddUnit('numberformatting');
-        AddUnit('stringcompare');
-        AddUnit('datetimeutils');
-      end;
-  T:=P.Targets.AddImplicitUnit('Threads.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('mixedmode');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('Timer.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-        AddUnit('osutils');
-      end;
-  T:=P.Targets.AddImplicitUnit('ToolUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('fixmath');
-        AddUnit('textutils');
-        AddUnit('icons');
-        AddUnit('quickdraw');
-      end;
-  T:=P.Targets.AddImplicitUnit('Translation.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('components');
-        AddUnit('translationextensions');
-      end;
-  T:=P.Targets.AddImplicitUnit('TranslationExtensions.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('quickdraw');
-        AddUnit('components');
-      end;
-  T:=P.Targets.AddImplicitUnit('TranslationServices.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfarray');
-        AddUnit('cfbase');
-        AddUnit('cfdata');
-        AddUnit('cfdictionary');
-        AddUnit('cfurl');
-        AddUnit('files');
-      end;
-  T:=P.Targets.AddImplicitUnit('TypeSelect.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('events');
-      end;
-  T:=P.Targets.AddImplicitUnit('URLAccess.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('files');
-        AddUnit('codefragments');
-        AddUnit('macerrors');
-        AddUnit('events');
-      end;
-  T:=P.Targets.AddImplicitUnit('UTCUtils.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('macerrors');
-      end;
-  T:=P.Targets.AddImplicitUnit('UTCoreTypes.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('cfbase');
-      end;
-  T:=P.Targets.AddImplicitUnit('UTType.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cfbase');
-        AddUnit('cfarray');
-        AddUnit('cfdictionary');
-        AddUnit('cfurl');
-      end;
-  T:=P.Targets.AddImplicitUnit('UnicodeConverter.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('textcommon');
-        AddUnit('mixedmode');
-      end;
-  T:=P.Targets.AddImplicitUnit('UnicodeUtilities.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('maclocales');
-        AddUnit('textcommon');
-      end;
-  T:=P.Targets.AddImplicitUnit('UniversalAccess.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('cggeometry');
-      end;
-  T:=P.Targets.AddImplicitUnit('Video.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('quickdraw');
-      end;
-  T:=P.Targets.AddImplicitUnit('fenv.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
-  T:=P.Targets.AddImplicitUnit('fp.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('vBLAS.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('vDSP.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-        AddUnit('conditionalmacros');
-      end;
-  T:=P.Targets.AddImplicitUnit('xattr.pas');
-    with T.Dependencies do
-      begin
-        AddUnit('mactypes');
-      end;
 
-    T:=P.Targets.AddImplicitUnit('CoreText.pas');
-    T:=P.Targets.AddImplicitUnit('DADisk.pas');
-    T:=P.Targets.AddImplicitUnit('DASession.pas');
-    T:=P.Targets.AddImplicitUnit('FSEvents.pas');
-    T:=P.Targets.AddImplicitUnit('LSInfo.pas');
-    T:=P.Targets.AddImplicitUnit('LSOpen.pas');
-    T:=P.Targets.AddImplicitUnit('MDItem.pas');
-    T:=P.Targets.AddImplicitUnit('SecTrust.pas');
-    T:=P.Targets.AddImplicitUnit('WSTypes.pas');
+    T:=P.Targets.AddUnit('MacOS.pas');
+      T.Install:=false;
+
+    T:=P.Targets.AddImplicitUnit('abactions.pas');
+    T:=P.Targets.AddImplicitUnit('abaddressbook.pas');
+    T:=P.Targets.AddImplicitUnit('abglobals.pas');
+    T:=P.Targets.AddImplicitUnit('abpeoplepicker.pas');
+    T:=P.Targets.AddImplicitUnit('abtypedefs.pas');
+    T:=P.Targets.AddImplicitUnit('aedatamodel.pas');
+    T:=P.Targets.AddImplicitUnit('aehelpers.pas');
+    T:=P.Targets.AddImplicitUnit('aeinteraction.pas');
+    T:=P.Targets.AddImplicitUnit('aemach.pas');
+    T:=P.Targets.AddImplicitUnit('aeobjects.pas');
+    T:=P.Targets.AddImplicitUnit('aepackobject.pas');
+    T:=P.Targets.AddImplicitUnit('aeregistry.pas');
+    T:=P.Targets.AddImplicitUnit('aeusertermtypes.pas');
+    T:=P.Targets.AddImplicitUnit('aiff.pas');
+    T:=P.Targets.AddImplicitUnit('asdebugging.pas');
+    T:=P.Targets.AddImplicitUnit('asregistry.pas');
+    T:=P.Targets.AddImplicitUnit('atsfont.pas');
+    T:=P.Targets.AddImplicitUnit('atslayouttypes.pas');
+    T:=P.Targets.AddImplicitUnit('atstypes.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodedirectaccess.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodedrawing.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodeflattening.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodefonts.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodeglyphs.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodeobjects.pas');
+    T:=P.Targets.AddImplicitUnit('atsunicodetypes.pas');
+    T:=P.Targets.AddImplicitUnit('aucomponent.pas');
+    T:=P.Targets.AddImplicitUnit('avltree.pas');
+    T:=P.Targets.AddImplicitUnit('axactionconstants.pas');
+    T:=P.Targets.AddImplicitUnit('axattributeconstants.pas');
+    T:=P.Targets.AddImplicitUnit('axconstants.pas');
+    T:=P.Targets.AddImplicitUnit('axerrors.pas');
+    T:=P.Targets.AddImplicitUnit('axnotificationconstants.pas');
+    T:=P.Targets.AddImplicitUnit('axroleconstants.pas');
+    T:=P.Targets.AddImplicitUnit('axtextattributedstring.pas');
+    T:=P.Targets.AddImplicitUnit('axuielement.pas');
+    T:=P.Targets.AddImplicitUnit('axvalue.pas');
+    T:=P.Targets.AddImplicitUnit('axvalueconstants.pas');
+    T:=P.Targets.AddImplicitUnit('accessibility.pas');
+    T:=P.Targets.AddImplicitUnit('aliases.pas');
+    T:=P.Targets.AddImplicitUnit('appearance.pas');
+    T:=P.Targets.AddImplicitUnit('applediskpartitions.pas');
+    T:=P.Targets.AddImplicitUnit('appleevents.pas');
+    T:=P.Targets.AddImplicitUnit('applehelp.pas');
+    T:=P.Targets.AddImplicitUnit('applescript.pas');
+    T:=P.Targets.AddImplicitUnit('audiocodecs.pas');
+    T:=P.Targets.AddImplicitUnit('audiocomponents.pas');
+    T:=P.Targets.AddImplicitUnit('audiohardware.pas');
+    T:=P.Targets.AddImplicitUnit('audiohardwarebase.pas');
+    T:=P.Targets.AddImplicitUnit('audiohardwaredeprecated.pas');
+    T:=P.Targets.AddImplicitUnit('audiooutputunit.pas');
+    T:=P.Targets.AddImplicitUnit('audiounitcarbonviews.pas');
+    T:=P.Targets.AddImplicitUnit('audiounitparameters.pas');
+    T:=P.Targets.AddImplicitUnit('audiounitproperties.pas');
+    T:=P.Targets.AddImplicitUnit('authsession.pas');
+    T:=P.Targets.AddImplicitUnit('authorization.pas');
+    T:=P.Targets.AddImplicitUnit('authorizationdb.pas');
+    T:=P.Targets.AddImplicitUnit('authorizationplugin.pas');
+    T:=P.Targets.AddImplicitUnit('authorizationtags.pas');
+    T:=P.Targets.AddImplicitUnit('backupcore.pas');
+    T:=P.Targets.AddImplicitUnit('cfarray.pas');
+    T:=P.Targets.AddImplicitUnit('cfattributedstring.pas');
+    T:=P.Targets.AddImplicitUnit('cfbag.pas');
+    T:=P.Targets.AddImplicitUnit('cfbase.pas');
+    T:=P.Targets.AddImplicitUnit('cfbinaryheap.pas');
+    T:=P.Targets.AddImplicitUnit('cfbitvector.pas');
+    T:=P.Targets.AddImplicitUnit('cfbundle.pas');
+    T:=P.Targets.AddImplicitUnit('cfbyteorders.pas');
+    T:=P.Targets.AddImplicitUnit('cfcalendar.pas');
+    T:=P.Targets.AddImplicitUnit('cfcharacterset.pas');
+    T:=P.Targets.AddImplicitUnit('cfdata.pas');
+    T:=P.Targets.AddImplicitUnit('cfdate.pas');
+    T:=P.Targets.AddImplicitUnit('cfdateformatter.pas');
+    T:=P.Targets.AddImplicitUnit('cfdictionary.pas');
+    T:=P.Targets.AddImplicitUnit('cferror.pas');
+    T:=P.Targets.AddImplicitUnit('cfftpstream.pas');
+    T:=P.Targets.AddImplicitUnit('cfhttpauthentication.pas');
+    T:=P.Targets.AddImplicitUnit('cfhttpmessage.pas');
+    T:=P.Targets.AddImplicitUnit('cfhttpstream.pas');
+    T:=P.Targets.AddImplicitUnit('cfhost.pas');
+    T:=P.Targets.AddImplicitUnit('cflocale.pas');
+    T:=P.Targets.AddImplicitUnit('cfmachport.pas');
+    T:=P.Targets.AddImplicitUnit('cfmessageport.pas');
+    T:=P.Targets.AddImplicitUnit('cfnetdiagnostics.pas');
+    T:=P.Targets.AddImplicitUnit('cfnetservices.pas');
+    T:=P.Targets.AddImplicitUnit('cfnetworkerrorss.pas');
+    T:=P.Targets.AddImplicitUnit('cfnotificationcenter.pas');
+    T:=P.Targets.AddImplicitUnit('cfnumber.pas');
+    T:=P.Targets.AddImplicitUnit('cfnumberformatter.pas');
+    T:=P.Targets.AddImplicitUnit('cfplugin.pas');
+    T:=P.Targets.AddImplicitUnit('cfplugincom.pas');
+    T:=P.Targets.AddImplicitUnit('cfpreferences.pas');
+    T:=P.Targets.AddImplicitUnit('cfpropertylist.pas');
+    T:=P.Targets.AddImplicitUnit('cfproxysupport.pas');
+    T:=P.Targets.AddImplicitUnit('cfrunloop.pas');
+    T:=P.Targets.AddImplicitUnit('cfset.pas');
+    T:=P.Targets.AddImplicitUnit('cfsocket.pas');
+    T:=P.Targets.AddImplicitUnit('cfsocketstream.pas');
+    T:=P.Targets.AddImplicitUnit('cfstream.pas');
+    T:=P.Targets.AddImplicitUnit('cfstring.pas');
+    T:=P.Targets.AddImplicitUnit('cfstringencodingext.pas');
+    T:=P.Targets.AddImplicitUnit('cfstringtokenizer.pas');
+    T:=P.Targets.AddImplicitUnit('cftimezone.pas');
+    T:=P.Targets.AddImplicitUnit('cftree.pas');
+    T:=P.Targets.AddImplicitUnit('cfurl.pas');
+    T:=P.Targets.AddImplicitUnit('cfurlaccess.pas');
+    T:=P.Targets.AddImplicitUnit('cfuuid.pas');
+    T:=P.Targets.AddImplicitUnit('cfusernotification.pas');
+    T:=P.Targets.AddImplicitUnit('cfxmlnode.pas');
+    T:=P.Targets.AddImplicitUnit('cfxmlparser.pas');
+    T:=P.Targets.AddImplicitUnit('cgaffinetransforms.pas');
+    T:=P.Targets.AddImplicitUnit('cgbase.pas');
+    T:=P.Targets.AddImplicitUnit('cgbitmapcontext.pas');
+    T:=P.Targets.AddImplicitUnit('cgcolor.pas');
+    T:=P.Targets.AddImplicitUnit('cgcolorspace.pas');
+    T:=P.Targets.AddImplicitUnit('cgcontext.pas');
+    T:=P.Targets.AddImplicitUnit('cgdataconsumer.pas');
+    T:=P.Targets.AddImplicitUnit('cgdataprovider.pas');
+    T:=P.Targets.AddImplicitUnit('cgdirectdisplay.pas');
+    T:=P.Targets.AddImplicitUnit('cgdirectpalette.pas');
+    T:=P.Targets.AddImplicitUnit('cgdisplayconfiguration.pas');
+    T:=P.Targets.AddImplicitUnit('cgdisplayfades.pas');
+    T:=P.Targets.AddImplicitUnit('cgerrors.pas');
+    T:=P.Targets.AddImplicitUnit('cgevent.pas');
+    T:=P.Targets.AddImplicitUnit('cgeventsource.pas');
+    T:=P.Targets.AddImplicitUnit('cgeventtypes.pas');
+    T:=P.Targets.AddImplicitUnit('cgfont.pas');
+    T:=P.Targets.AddImplicitUnit('cgfunction.pas');
+    T:=P.Targets.AddImplicitUnit('cgglcontext.pas');
+    T:=P.Targets.AddImplicitUnit('cggeometry.pas');
+    T:=P.Targets.AddImplicitUnit('cggradient.pas');
+    T:=P.Targets.AddImplicitUnit('cgimage.pas');
+    T:=P.Targets.AddImplicitUnit('cgimagedestination.pas');
+    T:=P.Targets.AddImplicitUnit('cgimagemetadata.pas');
+    T:=P.Targets.AddImplicitUnit('cgimageproperties.pas');
+    T:=P.Targets.AddImplicitUnit('cgimagesource.pas');
+    T:=P.Targets.AddImplicitUnit('cglcurrent.pas');
+    T:=P.Targets.AddImplicitUnit('cgldevice.pas');
+    T:=P.Targets.AddImplicitUnit('cglprofiler.pas');
+    T:=P.Targets.AddImplicitUnit('cglprofilerfunctionenums.pas');
+    T:=P.Targets.AddImplicitUnit('cglrenderers.pas');
+    T:=P.Targets.AddImplicitUnit('cgltypes.pas');
+    T:=P.Targets.AddImplicitUnit('cglayer.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfarray.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfcontentstream.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfcontext.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfdictionary.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfdocument.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfobject.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfoperatortable.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfpage.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfscanner.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfstream.pas');
+    T:=P.Targets.AddImplicitUnit('cgpdfstring.pas');
+    T:=P.Targets.AddImplicitUnit('cgpsconverter.pas');
+    T:=P.Targets.AddImplicitUnit('cgpath.pas');
+    T:=P.Targets.AddImplicitUnit('cgpattern.pas');
+    T:=P.Targets.AddImplicitUnit('cgremoteoperation.pas');
+    T:=P.Targets.AddImplicitUnit('cgsession.pas');
+    T:=P.Targets.AddImplicitUnit('cgshading.pas');
+    T:=P.Targets.AddImplicitUnit('cgwindow.pas');
+    T:=P.Targets.AddImplicitUnit('cgwindowlevels.pas');
+    T:=P.Targets.AddImplicitUnit('cmcalibrator.pas');
+    T:=P.Targets.AddImplicitUnit('csidentity.pas');
+    T:=P.Targets.AddImplicitUnit('csidentityauthority.pas');
+    T:=P.Targets.AddImplicitUnit('csidentitybase.pas');
+    T:=P.Targets.AddImplicitUnit('csidentityquery.pas');
+    T:=P.Targets.AddImplicitUnit('ctfont.pas');
+    T:=P.Targets.AddImplicitUnit('ctfontcollection.pas');
+    T:=P.Targets.AddImplicitUnit('ctfontdescriptor.pas');
+    T:=P.Targets.AddImplicitUnit('ctfontmanager.pas');
+    T:=P.Targets.AddImplicitUnit('ctfontmanagererrors.pas');
+    T:=P.Targets.AddImplicitUnit('ctfonttraits.pas');
+    T:=P.Targets.AddImplicitUnit('ctframe.pas');
+    T:=P.Targets.AddImplicitUnit('ctframesetter.pas');
+    T:=P.Targets.AddImplicitUnit('ctglyphinfo.pas');
+    T:=P.Targets.AddImplicitUnit('ctline.pas');
+    T:=P.Targets.AddImplicitUnit('ctparagraphstyle.pas');
+    T:=P.Targets.AddImplicitUnit('ctrun.pas');
+    T:=P.Targets.AddImplicitUnit('ctstringattributes.pas');
+    T:=P.Targets.AddImplicitUnit('cttexttab.pas');
+    T:=P.Targets.AddImplicitUnit('cttypesetter.pas');
+    T:=P.Targets.AddImplicitUnit('cvbase.pas');
+    T:=P.Targets.AddImplicitUnit('cvbuffer.pas');
+    T:=P.Targets.AddImplicitUnit('cvdisplaylink.pas');
+    T:=P.Targets.AddImplicitUnit('cvhosttime.pas');
+    T:=P.Targets.AddImplicitUnit('cvimagebuffer.pas');
+    T:=P.Targets.AddImplicitUnit('cvopenglbuffer.pas');
+    T:=P.Targets.AddImplicitUnit('cvopenglbufferpool.pas');
+    T:=P.Targets.AddImplicitUnit('cvopengltexture.pas');
+    T:=P.Targets.AddImplicitUnit('cvopengltexturecache.pas');
+    T:=P.Targets.AddImplicitUnit('cvpixelbuffer.pas');
+    T:=P.Targets.AddImplicitUnit('cvpixelbufferiosurface.pas');
+    T:=P.Targets.AddImplicitUnit('cvpixelbufferpool.pas');
+    T:=P.Targets.AddImplicitUnit('cvpixelformatdescription.pas');
+    T:=P.Targets.AddImplicitUnit('cvreturns.pas');
+    T:=P.Targets.AddImplicitUnit('captivenetwork.pas');
+    T:=P.Targets.AddImplicitUnit('carbonevents.pas');
+    T:=P.Targets.AddImplicitUnit('carboneventscore.pas');
+    T:=P.Targets.AddImplicitUnit('codefragments.pas');
+    T:=P.Targets.AddImplicitUnit('collections.pas');
+    T:=P.Targets.AddImplicitUnit('colorpicker.pas');
+    T:=P.Targets.AddImplicitUnit('colorsynccmm.pas');
+    T:=P.Targets.AddImplicitUnit('colorsyncdeprecated.pas');
+    T:=P.Targets.AddImplicitUnit('colorsyncdevice.pas');
+    T:=P.Targets.AddImplicitUnit('colorsyncprofile.pas');
+    T:=P.Targets.AddImplicitUnit('colorsynctransform.pas');
+    T:=P.Targets.AddImplicitUnit('components.pas');
+    T:=P.Targets.AddImplicitUnit('conditionalmacros.pas');
+    T:=P.Targets.AddImplicitUnit('controldefinitions.pas');
+    T:=P.Targets.AddImplicitUnit('controls.pas');
+    T:=P.Targets.AddImplicitUnit('coreaudiotypes.pas');
+    T:=P.Targets.AddImplicitUnit('corefoundation.pas');
+    T:=P.Targets.AddImplicitUnit('coregraphics.pas');
+    T:=P.Targets.AddImplicitUnit('coretext.pas');
+    T:=P.Targets.AddImplicitUnit('dadisk.pas');
+    T:=P.Targets.AddImplicitUnit('dasession.pas');
+    T:=P.Targets.AddImplicitUnit('dhcpclientpreferences.pas');
+    T:=P.Targets.AddImplicitUnit('datetimeutils.pas');
+    T:=P.Targets.AddImplicitUnit('debugging.pas');
+    T:=P.Targets.AddImplicitUnit('dialogs.pas');
+    T:=P.Targets.AddImplicitUnit('dictionary.pas');
+    T:=P.Targets.AddImplicitUnit('dictionaryservices.pas');
+    T:=P.Targets.AddImplicitUnit('digitalhubregistry.pas');
+    T:=P.Targets.AddImplicitUnit('displays.pas');
+    T:=P.Targets.AddImplicitUnit('drag.pas');
+    T:=P.Targets.AddImplicitUnit('drawsprocket.pas');
+    T:=P.Targets.AddImplicitUnit('driverservices.pas');
+    T:=P.Targets.AddImplicitUnit('driversynchronization.pas');
+    T:=P.Targets.AddImplicitUnit('endian.pas');
+    T:=P.Targets.AddImplicitUnit('events.pas');
+    T:=P.Targets.AddImplicitUnit('fsevents.pas');
+    T:=P.Targets.AddImplicitUnit('filetypesandcreators.pas');
+    T:=P.Targets.AddImplicitUnit('files.pas');
+    T:=P.Targets.AddImplicitUnit('finder.pas');
+    T:=P.Targets.AddImplicitUnit('finderregistry.pas');
+    T:=P.Targets.AddImplicitUnit('fixmath.pas');
+    T:=P.Targets.AddImplicitUnit('folders.pas');
+    T:=P.Targets.AddImplicitUnit('fontpanel.pas');
+    T:=P.Targets.AddImplicitUnit('fontsync.pas');
+    T:=P.Targets.AddImplicitUnit('fonts.pas');
+    T:=P.Targets.AddImplicitUnit('gestaltequ.pas');
+    T:=P.Targets.AddImplicitUnit('hfsvolumes.pas');
+    T:=P.Targets.AddImplicitUnit('hiaccessibility.pas');
+    T:=P.Targets.AddImplicitUnit('hiarchive.pas');
+    T:=P.Targets.AddImplicitUnit('hibuttonviews.pas');
+    T:=P.Targets.AddImplicitUnit('hiclockview.pas');
+    T:=P.Targets.AddImplicitUnit('hicombobox.pas');
+    T:=P.Targets.AddImplicitUnit('hicontainerviews.pas');
+    T:=P.Targets.AddImplicitUnit('hidatabrowser.pas');
+    T:=P.Targets.AddImplicitUnit('hidisclosureviews.pas');
+    T:=P.Targets.AddImplicitUnit('higeometry.pas');
+    T:=P.Targets.AddImplicitUnit('hiimageviews.pas');
+    T:=P.Targets.AddImplicitUnit('hilittlearrows.pas');
+    T:=P.Targets.AddImplicitUnit('himenuview.pas');
+    T:=P.Targets.AddImplicitUnit('himovieview.pas');
+    T:=P.Targets.AddImplicitUnit('hiobject.pas');
+    T:=P.Targets.AddImplicitUnit('hipopupbutton.pas');
+    T:=P.Targets.AddImplicitUnit('hiprogressviews.pas');
+    T:=P.Targets.AddImplicitUnit('hirelevancebar.pas');
+    T:=P.Targets.AddImplicitUnit('hiscrollview.pas');
+    T:=P.Targets.AddImplicitUnit('hisearchfield.pas');
+    T:=P.Targets.AddImplicitUnit('hisegmentedview.pas');
+    T:=P.Targets.AddImplicitUnit('hiseparator.pas');
+    T:=P.Targets.AddImplicitUnit('hishape.pas');
+    T:=P.Targets.AddImplicitUnit('hislider.pas');
+    T:=P.Targets.AddImplicitUnit('hitabbedview.pas');
+    T:=P.Targets.AddImplicitUnit('hitextlengthfilter.pas');
+    T:=P.Targets.AddImplicitUnit('hitextutils.pas');
+    T:=P.Targets.AddImplicitUnit('hitextviews.pas');
+    T:=P.Targets.AddImplicitUnit('hitheme.pas');
+    T:=P.Targets.AddImplicitUnit('hitoolbar.pas');
+    T:=P.Targets.AddImplicitUnit('hitoolbox.pas');
+    T:=P.Targets.AddImplicitUnit('hitoolboxdebugging.pas');
+    T:=P.Targets.AddImplicitUnit('hiview.pas');
+    T:=P.Targets.AddImplicitUnit('hiwindowviews.pas');
+    T:=P.Targets.AddImplicitUnit('htmlrendering.pas');
+    T:=P.Targets.AddImplicitUnit('hosttime.pas');
+    T:=P.Targets.AddImplicitUnit('ibcarbonruntime.pas');
+    T:=P.Targets.AddImplicitUnit('icaapplication.pas');
+    T:=P.Targets.AddImplicitUnit('icacamera.pas');
+    T:=P.Targets.AddImplicitUnit('icadevice.pas');
+    T:=P.Targets.AddImplicitUnit('iokitreturn.pas');
+    T:=P.Targets.AddImplicitUnit('iosurfaceapi.pas');
+    T:=P.Targets.AddImplicitUnit('iconstorage.pas');
+    T:=P.Targets.AddImplicitUnit('icons.pas');
+    T:=P.Targets.AddImplicitUnit('iconscore.pas');
+    T:=P.Targets.AddImplicitUnit('imagecodec.pas');
+    T:=P.Targets.AddImplicitUnit('imagecompression.pas');
+    T:=P.Targets.AddImplicitUnit('internetconfig.pas');
+    T:=P.Targets.AddImplicitUnit('intlresources.pas');
+    T:=P.Targets.AddImplicitUnit('keyboards.pas');
+    T:=P.Targets.AddImplicitUnit('keychaincore.pas');
+    T:=P.Targets.AddImplicitUnit('keychainhi.pas');
+    T:=P.Targets.AddImplicitUnit('lsinfo.pas');
+    T:=P.Targets.AddImplicitUnit('lsopen.pas');
+    T:=P.Targets.AddImplicitUnit('lsquarantine.pas');
+    T:=P.Targets.AddImplicitUnit('lssharedfilelist.pas');
+    T:=P.Targets.AddImplicitUnit('languageanalysis.pas');
+    T:=P.Targets.AddImplicitUnit('lists.pas');
+    T:=P.Targets.AddImplicitUnit('lowmem.pas');
+    T:=P.Targets.AddImplicitUnit('mdexternaldatastore.pas');
+    T:=P.Targets.AddImplicitUnit('mdimporter.pas');
+    T:=P.Targets.AddImplicitUnit('mditem.pas');
+    T:=P.Targets.AddImplicitUnit('mdlineage.pas');
+    T:=P.Targets.AddImplicitUnit('mdquery.pas');
+    T:=P.Targets.AddImplicitUnit('mdschema.pas');
+    T:=P.Targets.AddImplicitUnit('mididriver.pas');
+    T:=P.Targets.AddImplicitUnit('midiservices.pas');
+    T:=P.Targets.AddImplicitUnit('midisetup.pas');
+    T:=P.Targets.AddImplicitUnit('midithruconnection.pas');
+    T:=P.Targets.AddImplicitUnit('macapplication.pas');
+    T:=P.Targets.AddImplicitUnit('macerrors.pas');
+    T:=P.Targets.AddImplicitUnit('machelp.pas');
+    T:=P.Targets.AddImplicitUnit('maclocales.pas');
+    T:=P.Targets.AddImplicitUnit('macmemory.pas');
+    T:=P.Targets.AddImplicitUnit('macosxposix.pas');
+    T:=P.Targets.AddImplicitUnit('macopengl.pas');
+    T:=P.Targets.AddImplicitUnit('mactexteditor.pas');
+    T:=P.Targets.AddImplicitUnit('mactypes.pas');
+    T:=P.Targets.AddImplicitUnit('macwindows.pas');
+    T:=P.Targets.AddImplicitUnit('machineexceptions.pas');
+    T:=P.Targets.AddImplicitUnit('math64.pas');
+    T:=P.Targets.AddImplicitUnit('mediahandlers.pas');
+    T:=P.Targets.AddImplicitUnit('menus.pas');
+    T:=P.Targets.AddImplicitUnit('mixedmode.pas');
+    T:=P.Targets.AddImplicitUnit('movies.pas');
+    T:=P.Targets.AddImplicitUnit('moviesformat.pas');
+    T:=P.Targets.AddImplicitUnit('multiprocessinginfo.pas');
+    T:=P.Targets.AddImplicitUnit('multiprocessing.pas');
+    T:=P.Targets.AddImplicitUnit('musicdevice.pas');
+    T:=P.Targets.AddImplicitUnit('nsl.pas');
+    T:=P.Targets.AddImplicitUnit('nslcore.pas');
+    T:=P.Targets.AddImplicitUnit('navigation.pas');
+    T:=P.Targets.AddImplicitUnit('notification.pas');
+    T:=P.Targets.AddImplicitUnit('numberformatting.pas');
+    T:=P.Targets.AddImplicitUnit('osa.pas');
+    T:=P.Targets.AddImplicitUnit('osacomp.pas');
+    T:=P.Targets.AddImplicitUnit('osageneric.pas');
+    T:=P.Targets.AddImplicitUnit('osutils.pas');
+    T:=P.Targets.AddImplicitUnit('objc.pas');
+    T:=P.Targets.AddImplicitUnit('opentransport.pas');
+    T:=P.Targets.AddImplicitUnit('opentransportprotocol.pas');
+    T:=P.Targets.AddImplicitUnit('opentransportproviders.pas');
+    T:=P.Targets.AddImplicitUnit('pefbinaryformat.pas');
+    T:=P.Targets.AddImplicitUnit('plstringfuncs.pas');
+    T:=P.Targets.AddImplicitUnit('pmapplication.pas');
+    T:=P.Targets.AddImplicitUnit('pmapplicationdeprecated.pas');
+    T:=P.Targets.AddImplicitUnit('pmcore.pas');
+    T:=P.Targets.AddImplicitUnit('pmcoredeprecated.pas');
+    T:=P.Targets.AddImplicitUnit('pmdefinitions.pas');
+    T:=P.Targets.AddImplicitUnit('pmdefinitionsdeprecated.pas');
+    T:=P.Targets.AddImplicitUnit('pmerrors.pas');
+    T:=P.Targets.AddImplicitUnit('pmprintaetypes.pas');
+    T:=P.Targets.AddImplicitUnit('pmprintsettingskeys.pas');
+    T:=P.Targets.AddImplicitUnit('pmprintingdialogextensions.pas');
+    T:=P.Targets.AddImplicitUnit('palettes.pas');
+    T:=P.Targets.AddImplicitUnit('pasteboard.pas');
+    T:=P.Targets.AddImplicitUnit('pictutils.pas');
+    T:=P.Targets.AddImplicitUnit('power.pas');
+    T:=P.Targets.AddImplicitUnit('processes.pas');
+    T:=P.Targets.AddImplicitUnit('qdcmcommon.pas');
+    T:=P.Targets.AddImplicitUnit('qdoffscreen.pas');
+    T:=P.Targets.AddImplicitUnit('qdpicttocgcontext.pas');
+    T:=P.Targets.AddImplicitUnit('qlbase.pas');
+    T:=P.Targets.AddImplicitUnit('qlgenerator.pas');
+    T:=P.Targets.AddImplicitUnit('qlthumbnail.pas');
+    T:=P.Targets.AddImplicitUnit('qlthumbnailimage.pas');
+    T:=P.Targets.AddImplicitUnit('qtml.pas');
+    T:=P.Targets.AddImplicitUnit('qtsmovie.pas');
+    T:=P.Targets.AddImplicitUnit('qtstreamingcomponents.pas');
+    T:=P.Targets.AddImplicitUnit('quicktimecomponents.pas');
+    T:=P.Targets.AddImplicitUnit('quicktimeerrors.pas');
+    T:=P.Targets.AddImplicitUnit('quicktimemusic.pas');
+    T:=P.Targets.AddImplicitUnit('quicktimestreaming.pas');
+    T:=P.Targets.AddImplicitUnit('quicktimevr.pas');
+    T:=P.Targets.AddImplicitUnit('quicktimevrformat.pas');
+    T:=P.Targets.AddImplicitUnit('quickdraw.pas');
+    T:=P.Targets.AddImplicitUnit('quickdrawtext.pas');
+    T:=P.Targets.AddImplicitUnit('quickdrawtypes.pas');
+    T:=P.Targets.AddImplicitUnit('resources.pas');
+    T:=P.Targets.AddImplicitUnit('scdynamicstore.pas');
+    T:=P.Targets.AddImplicitUnit('scdynamicstorecopydhcpinfos.pas');
+    T:=P.Targets.AddImplicitUnit('scdynamicstorecopyspecific.pas');
+    T:=P.Targets.AddImplicitUnit('scdynamicstorekey.pas');
+    T:=P.Targets.AddImplicitUnit('scnetwork.pas');
+    T:=P.Targets.AddImplicitUnit('scnetworkconfiguration.pas');
+    T:=P.Targets.AddImplicitUnit('scnetworkconnection.pas');
+    T:=P.Targets.AddImplicitUnit('scnetworkreachability.pas');
+    T:=P.Targets.AddImplicitUnit('scpreferences.pas');
+    T:=P.Targets.AddImplicitUnit('scpreferencespath.pas');
+    T:=P.Targets.AddImplicitUnit('scpreferencessetspecific.pas');
+    T:=P.Targets.AddImplicitUnit('scsi.pas');
+    T:=P.Targets.AddImplicitUnit('scschemadefinitions.pas');
+    T:=P.Targets.AddImplicitUnit('sfntlayouttypes.pas');
+    T:=P.Targets.AddImplicitUnit('sfnttypes.pas');
+    T:=P.Targets.AddImplicitUnit('scalerstreamtypes.pas');
+    T:=P.Targets.AddImplicitUnit('scrap.pas');
+    T:=P.Targets.AddImplicitUnit('script.pas');
+    T:=P.Targets.AddImplicitUnit('secbase.pas');
+    T:=P.Targets.AddImplicitUnit('sectrust.pas');
+    T:=P.Targets.AddImplicitUnit('sound.pas');
+    T:=P.Targets.AddImplicitUnit('speechrecognition.pas');
+    T:=P.Targets.AddImplicitUnit('speechsynthesis.pas');
+    T:=P.Targets.AddImplicitUnit('stringcompare.pas');
+    T:=P.Targets.AddImplicitUnit('systemconfiguration.pas');
+    T:=P.Targets.AddImplicitUnit('systemsound.pas');
+    T:=P.Targets.AddImplicitUnit('tsmte.pas');
+    T:=P.Targets.AddImplicitUnit('textcommon.pas');
+    T:=P.Targets.AddImplicitUnit('textedit.pas');
+    T:=P.Targets.AddImplicitUnit('textencodingconverter.pas');
+    T:=P.Targets.AddImplicitUnit('textencodingplugin.pas');
+    T:=P.Targets.AddImplicitUnit('textinputsources.pas');
+    T:=P.Targets.AddImplicitUnit('textservices.pas');
+    T:=P.Targets.AddImplicitUnit('textutils.pas');
+    T:=P.Targets.AddImplicitUnit('timer.pas');
+    T:=P.Targets.AddImplicitUnit('toolutils.pas');
+    T:=P.Targets.AddImplicitUnit('translation.pas');
+    T:=P.Targets.AddImplicitUnit('translationextensions.pas');
+    T:=P.Targets.AddImplicitUnit('translationservices.pas');
+    T:=P.Targets.AddImplicitUnit('typeselect.pas');
+    T:=P.Targets.AddImplicitUnit('urlaccess.pas');
+    T:=P.Targets.AddImplicitUnit('utcutils.pas');
+    T:=P.Targets.AddImplicitUnit('utcoretypes.pas');
+    T:=P.Targets.AddImplicitUnit('uttype.pas');
+    T:=P.Targets.AddImplicitUnit('unicodeconverter.pas');
+    T:=P.Targets.AddImplicitUnit('unicodeutilities.pas');
+    T:=P.Targets.AddImplicitUnit('universalaccess.pas');
+    T:=P.Targets.AddImplicitUnit('wsmethodinvocation.pas');
+    T:=P.Targets.AddImplicitUnit('wsprotocolhandler.pas');
+    T:=P.Targets.AddImplicitUnit('wstypes.pas');
     T:=P.Targets.AddImplicitUnit('cblas.pas');
-    T:=P.Targets.AddImplicitUnit('CTFont.pas');
-    T:=P.Targets.AddImplicitUnit('CTFontCollection.pas');
-    T:=P.Targets.AddImplicitUnit('CTFontDescriptor.pas');
-    T:=P.Targets.AddImplicitUnit('CTFontManager.pas');
-    T:=P.Targets.AddImplicitUnit('CTFontManagerErrors.pas');
-    T:=P.Targets.AddImplicitUnit('CTFontTraits.pas');
-    T:=P.Targets.AddImplicitUnit('CTFrame.pas');
-    T:=P.Targets.AddImplicitUnit('CTFramesetter.pas');
-    T:=P.Targets.AddImplicitUnit('AUComponent.pas');
-    T:=P.Targets.AddImplicitUnit('AXConstants.pas');
-    T:=P.Targets.AddImplicitUnit('Accessibility.pas');
-    T:=P.Targets.AddImplicitUnit('AudioCodecs.pas');
-    T:=P.Targets.AddImplicitUnit('AudioComponents.pas');
-    T:=P.Targets.AddImplicitUnit('AudioOutputUnit.pas');
-    T:=P.Targets.AddImplicitUnit('AudioUnitCarbonViews.pas');
-    T:=P.Targets.AddImplicitUnit('AudioUnitParameters.pas');
-    T:=P.Targets.AddImplicitUnit('AudioUnitProperties.pas');
-    T:=P.Targets.AddImplicitUnit('AuthorizationPlugin.pas');
-    T:=P.Targets.AddImplicitUnit('BackupCore.pas');
-    T:=P.Targets.AddImplicitUnit('CFError.pas');
-    T:=P.Targets.AddImplicitUnit('CFHTTPAuthentication.pas');
-    T:=P.Targets.AddImplicitUnit('CFNetDiagnostics.pas');
-    T:=P.Targets.AddImplicitUnit('CFNetworkErrorss.pas');
-    T:=P.Targets.AddImplicitUnit('CFProxySupport.pas');
-    T:=P.Targets.AddImplicitUnit('CFStringTokenizer.pas');
-    T:=P.Targets.AddImplicitUnit('CGGradient.pas');
-    T:=P.Targets.AddImplicitUnit('CGLCurrent.pas');
-    T:=P.Targets.AddImplicitUnit('CGLDevice.pas');
-    T:=P.Targets.AddImplicitUnit('CGLProfiler.pas');
-    T:=P.Targets.AddImplicitUnit('CGLProfilerFunctionEnums.pas');
-    T:=P.Targets.AddImplicitUnit('CGLRenderers.pas');
-    T:=P.Targets.AddImplicitUnit('CGLTypes.pas');
-    T:=P.Targets.AddImplicitUnit('CGWindow.pas');
-    T:=P.Targets.AddImplicitUnit('CSIdentity.pas');
-    T:=P.Targets.AddImplicitUnit('CSIdentityAuthority.pas');
-    T:=P.Targets.AddImplicitUnit('CSIdentityQuery.pas');
-    T:=P.Targets.AddImplicitUnit('CTGlyphInfo.pas');
-    T:=P.Targets.AddImplicitUnit('CTLine.pas');
-    T:=P.Targets.AddImplicitUnit('CTParagraphStyle.pas');
-    T:=P.Targets.AddImplicitUnit('CTRun.pas');
-    T:=P.Targets.AddImplicitUnit('CTStringAttributes.pas');
-    T:=P.Targets.AddImplicitUnit('CTTextTab.pas');
-    T:=P.Targets.AddImplicitUnit('CTTypesetter.pas');
-    T:=P.Targets.AddImplicitUnit('CVBase.pas');
-    T:=P.Targets.AddImplicitUnit('CVBuffer.pas');
-    T:=P.Targets.AddImplicitUnit('CVDisplayLink.pas');
-    T:=P.Targets.AddImplicitUnit('CVHostTime.pas');
-    T:=P.Targets.AddImplicitUnit('CVImageBuffer.pas');
-    T:=P.Targets.AddImplicitUnit('CVOpenGLBuffer.pas');
-    T:=P.Targets.AddImplicitUnit('CVOpenGLBufferPool.pas');
-    T:=P.Targets.AddImplicitUnit('CVOpenGLTexture.pas');
-    T:=P.Targets.AddImplicitUnit('CVOpenGLTextureCache.pas');
-    T:=P.Targets.AddImplicitUnit('CVPixelBuffer.pas');
-    T:=P.Targets.AddImplicitUnit('CVPixelBufferPool.pas');
-    T:=P.Targets.AddImplicitUnit('CVPixelFormatDescription.pas');
-    T:=P.Targets.AddImplicitUnit('CVReturns.pas');
-    T:=P.Targets.AddImplicitUnit('ColorSyncCMM.pas');
-    T:=P.Targets.AddImplicitUnit('ColorSyncDeprecated.pas');
-    T:=P.Targets.AddImplicitUnit('ColorSyncDevice.pas');
-    T:=P.Targets.AddImplicitUnit('ColorSyncProfile.pas');
-    T:=P.Targets.AddImplicitUnit('ColorSyncTransform.pas');
-    T:=P.Targets.AddImplicitUnit('DigitalHubRegistry.pas');
-    T:=P.Targets.AddImplicitUnit('DriverServices.pas');
-    T:=P.Targets.AddImplicitUnit('HIAccessibility.pas');
-    T:=P.Targets.AddImplicitUnit('HIButtonViews.pas');
-    T:=P.Targets.AddImplicitUnit('HIClockView.pas');
-    T:=P.Targets.AddImplicitUnit('HIComboBox.pas');
-    T:=P.Targets.AddImplicitUnit('HIContainerViews.pas');
-    T:=P.Targets.AddImplicitUnit('HIDataBrowser.pas');
-    T:=P.Targets.AddImplicitUnit('HIDisclosureViews.pas');
-    T:=P.Targets.AddImplicitUnit('HIImageViews.pas');
-    T:=P.Targets.AddImplicitUnit('HILittleArrows.pas');
-    T:=P.Targets.AddImplicitUnit('HIMenuView.pas');
-    T:=P.Targets.AddImplicitUnit('HIPopupButton.pas');
-    T:=P.Targets.AddImplicitUnit('HIProgressViews.pas');
-    T:=P.Targets.AddImplicitUnit('HIRelevanceBar.pas');
-    T:=P.Targets.AddImplicitUnit('HIScrollView.pas');
-    T:=P.Targets.AddImplicitUnit('HISearchField.pas');
-    T:=P.Targets.AddImplicitUnit('HISegmentedView.pas');
-    T:=P.Targets.AddImplicitUnit('HISeparator.pas');
-    T:=P.Targets.AddImplicitUnit('HISlider.pas');
-    T:=P.Targets.AddImplicitUnit('HITabbedView.pas');
-    T:=P.Targets.AddImplicitUnit('HITextLengthFilter.pas');
-    T:=P.Targets.AddImplicitUnit('HITextViews.pas');
-    T:=P.Targets.AddImplicitUnit('HIToolboxDebugging.pas');
-    T:=P.Targets.AddImplicitUnit('HIWindowViews.pas');
-    T:=P.Targets.AddImplicitUnit('IOKitReturn.pas');
-    T:=P.Targets.AddImplicitUnit('IOSurfaceAPI.pas');
-    T:=P.Targets.AddImplicitUnit('IconStorage.pas');
-    T:=P.Targets.AddImplicitUnit('IconsCore.pas');
-    T:=P.Targets.AddImplicitUnit('KeyEvents.pas');
-    T:=P.Targets.AddImplicitUnit('LSQuarantine.pas');
-    T:=P.Targets.AddImplicitUnit('LSSharedFileList.pas');
-    T:=P.Targets.AddImplicitUnit('MDExternalDatastore.pas');
-    T:=P.Targets.AddImplicitUnit('MDImporter.pas');
-    T:=P.Targets.AddImplicitUnit('MDLineage.pas');
-    T:=P.Targets.AddImplicitUnit('MDQuery.pas');
-    T:=P.Targets.AddImplicitUnit('MDSchema.pas');
-    T:=P.Targets.AddImplicitUnit('MIDIDriver.pas');
-    T:=P.Targets.AddImplicitUnit('MIDIServices.pas');
-    T:=P.Targets.AddImplicitUnit('MIDISetup.pas');
-    T:=P.Targets.AddImplicitUnit('MIDIThruConnection.pas');
-    T:=P.Targets.AddImplicitUnit('MacOpenGL.pas');
-    T:=P.Targets.AddImplicitUnit('MultiProcessingInfo.pas');
-    T:=P.Targets.AddImplicitUnit('MusicDevice.pas');
-    T:=P.Targets.AddImplicitUnit('ObjCRuntime.pas');
-    T:=P.Targets.AddImplicitUnit('PMApplicationDeprecated.pas');
-    T:=P.Targets.AddImplicitUnit('PMCoreDeprecated.pas');
-    T:=P.Targets.AddImplicitUnit('PMDefinitionsDeprecated.pas');
-    T:=P.Targets.AddImplicitUnit('PMErrors.pas');
-    T:=P.Targets.AddImplicitUnit('PMPrintAETypes.pas');
-    T:=P.Targets.AddImplicitUnit('PMPrintSettingsKeys.pas');
-    T:=P.Targets.AddImplicitUnit('PMPrintingDialogExtensions.pas');
-    T:=P.Targets.AddImplicitUnit('QDCMCommon.pas');
-    T:=P.Targets.AddImplicitUnit('QLBase.pas');
-    T:=P.Targets.AddImplicitUnit('QLGenerator.pas');
-    T:=P.Targets.AddImplicitUnit('QLThumbnailImage.pas');
-    T:=P.Targets.AddImplicitUnit('QuickTimeErrors.pas');
-    T:=P.Targets.AddImplicitUnit('QuickdrawTypes.pas');
-    T:=P.Targets.AddImplicitUnit('SCNetworkConfiguration.pas');
-    T:=P.Targets.AddImplicitUnit('ScalerStreamTypes.pas');
-    T:=P.Targets.AddImplicitUnit('SecBase.pas');
-    T:=P.Targets.AddImplicitUnit('TextInputSources.pas');
-    T:=P.Targets.AddImplicitUnit('WSMethodInvocation.pas');
-    T:=P.Targets.AddImplicitUnit('WSProtocolHandler.pas');
     T:=P.Targets.AddImplicitUnit('certextensions.pas');
     T:=P.Targets.AddImplicitUnit('cssmapple.pas');
     T:=P.Targets.AddImplicitUnit('cssmconfig.pas');
     T:=P.Targets.AddImplicitUnit('cssmerr.pas');
     T:=P.Targets.AddImplicitUnit('cssmkrapi.pas');
     T:=P.Targets.AddImplicitUnit('cssmtype.pas');
-    T:=P.Targets.AddImplicitUnit('gliContexts.pas');
-    T:=P.Targets.AddImplicitUnit('gliDispatch.pas');
-    T:=P.Targets.AddImplicitUnit('gluContext.pas');
+    T:=P.Targets.AddImplicitUnit('fenv.pas');
+    T:=P.Targets.AddImplicitUnit('glicontexts.pas');
+    T:=P.Targets.AddImplicitUnit('glidispatch.pas');
+    T:=P.Targets.AddImplicitUnit('glucontext.pas');
     T:=P.Targets.AddImplicitUnit('kern_return.pas');
     T:=P.Targets.AddImplicitUnit('macgl.pas');
     T:=P.Targets.AddImplicitUnit('macglext.pas');
     T:=P.Targets.AddImplicitUnit('macglu.pas');
     T:=P.Targets.AddImplicitUnit('mach_error.pas');
+    T:=P.Targets.AddImplicitUnit('vblas.pas');
+    T:=P.Targets.AddImplicitUnit('vdsp.pas');
     T:=P.Targets.AddImplicitUnit('x509defs.pas');
+    T:=P.Targets.AddImplicitUnit('xattr.pas');
+    T:=P.Targets.AddImplicitUnit('gpcstrings.pas');
+
+    T:=P.Targets.AddUnit('MacOSAll.pas');
+      with T.Dependencies do
+        begin
+          AddInclude('src/AXConstants.pas');
+          AddInclude('src/Accessibility.pas');
+          AddInclude('src/ConditionalMacros.pas');
+          AddInclude('src/MacTypes.pas');
+          AddInclude('src/MachineExceptions.pas');
+          AddInclude('src/Math64.pas');
+          AddInclude('src/MixedMode.pas');
+          AddInclude('src/Multiprocessing.pas');
+          AddInclude('src/PEFBinaryFormat.pas');
+          AddInclude('src/PLStringFuncs.pas');
+          AddInclude('src/PMDefinitionsDeprecated.pas');
+          AddInclude('src/PMPrintSettingsKeys.pas');
+          AddInclude('src/PMPrintingDialogExtensions.pas');
+          AddInclude('src/QDCMCommon.pas');
+          AddInclude('src/QLBase.pas');
+          AddInclude('src/QTML.pas');
+          AddInclude('src/QuickTimeErrors.pas');
+          AddInclude('src/SFNTLayoutTypes.pas');
+          AddInclude('src/SFNTTypes.pas');
+          AddInclude('src/ScalerStreamTypes.pas');
+          AddInclude('src/TextCommon.pas');
+          AddInclude('src/Threads.pas');
+          AddInclude('src/UTCUtils.pas');
+          AddInclude('src/UnicodeConverter.pas');
+          AddInclude('src/cblas.pas');
+          AddInclude('src/cssmconfig.pas');
+          AddInclude('src/cssmerr.pas');
+          AddInclude('src/cssmtype.pas');
+          AddInclude('src/fenv.pas');
+          AddInclude('src/fp.pas');
+          AddInclude('src/gliContexts.pas');
+          AddInclude('src/kern_return.pas');
+          AddInclude('src/macgl.pas');
+          AddInclude('src/macglext.pas');
+          AddInclude('src/macglu.pas');
+          AddInclude('src/mach_error.pas');
+          AddInclude('src/vBLAS.pas');
+          AddInclude('src/vDSP.pas');
+          AddInclude('src/x509defs.pas');
+          AddInclude('src/xattr.pas');
+          AddInclude('src/ABTypedefs.pas');
+          AddInclude('src/AEDataModel.pas');
+          AddInclude('src/AEUserTermTypes.pas');
+          AddInclude('src/AIFF.pas');
+          AddInclude('src/AVLTree.pas');
+          AddInclude('src/AXActionConstants.pas');
+          AddInclude('src/AXAttributeConstants.pas');
+          AddInclude('src/AXErrors.pas');
+          AddInclude('src/AXNotificationConstants.pas');
+          AddInclude('src/AXRoleConstants.pas');
+          AddInclude('src/AXValueConstants.pas');
+          AddInclude('src/AppleDiskPartitions.pas');
+          AddInclude('src/AudioUnitParameters.pas');
+          AddInclude('src/Authorization.pas');
+          AddInclude('src/AuthorizationPlugin.pas');
+          AddInclude('src/AuthorizationTags.pas');
+          AddInclude('src/CFBase.pas');
+          AddInclude('src/CFBinaryHeap.pas');
+          AddInclude('src/CFBitVector.pas');
+          AddInclude('src/CFByteOrders.pas');
+          AddInclude('src/CFData.pas');
+          AddInclude('src/CFDate.pas');
+          AddInclude('src/CFDictionary.pas');
+          AddInclude('src/CFError.pas');
+          AddInclude('src/CFNetworkErrorss.pas');
+          AddInclude('src/CFNotificationCenter.pas');
+          AddInclude('src/CFNumber.pas');
+          AddInclude('src/CFSet.pas');
+          AddInclude('src/CFStringEncodingExt.pas');
+          AddInclude('src/CFTree.pas');
+          AddInclude('src/CGBase.pas');
+          AddInclude('src/CGErrors.pas');
+          AddInclude('src/CGFunction.pas');
+          AddInclude('src/CGGeometry.pas');
+          AddInclude('src/CGImageProperties.pas');
+          AddInclude('src/CGLProfiler.pas');
+          AddInclude('src/CGLProfilerFunctionEnums.pas');
+          AddInclude('src/CGLRenderers.pas');
+          AddInclude('src/CGLTypes.pas');
+          AddInclude('src/CGPDFObject.pas');
+          AddInclude('src/CGPDFOperatorTable.pas');
+          AddInclude('src/CGPDFScanner.pas');
+          AddInclude('src/CGPDFStream.pas');
+          AddInclude('src/CGPDFString.pas');
+          AddInclude('src/CGSession.pas');
+          AddInclude('src/CGWindowLevels.pas');
+          AddInclude('src/CSIdentityAuthority.pas');
+          AddInclude('src/CTFontManagerErrors.pas');
+          AddInclude('src/CTFontTraits.pas');
+          AddInclude('src/CVBase.pas');
+          AddInclude('src/CVHostTime.pas');
+          AddInclude('src/CVReturns.pas');
+          AddInclude('src/Collections.pas');
+          AddInclude('src/CoreAudioTypes.pas');
+          AddInclude('src/DHCPClientPreferences.pas');
+          AddInclude('src/DateTimeUtils.pas');
+          AddInclude('src/Debugging.pas');
+          AddInclude('src/DictionaryServices.pas');
+          AddInclude('src/DigitalHubRegistry.pas');
+          AddInclude('src/DriverServices.pas');
+          AddInclude('src/DriverSynchronization.pas');
+          AddInclude('src/Endian.pas');
+          AddInclude('src/FileTypesAndCreators.pas');
+          AddInclude('src/Finder.pas');
+          AddInclude('src/FixMath.pas');
+          AddInclude('src/GestaltEqu.pas');
+          AddInclude('src/HFSVolumes.pas');
+          AddInclude('src/HIGeometry.pas');
+          AddInclude('src/HITextUtils.pas');
+          AddInclude('src/HostTime.pas');
+          AddInclude('src/ICACamera.pas');
+          AddInclude('src/IOKitReturn.pas');
+          AddInclude('src/IconStorage.pas');
+          AddInclude('src/IntlResources.pas');
+          AddInclude('src/Keyboards.pas');
+          AddInclude('src/LSQuarantine.pas');
+          AddInclude('src/MIDIServices.pas');
+          AddInclude('src/MIDIThruConnection.pas');
+          AddInclude('src/MacErrors.pas');
+          AddInclude('src/MacLocales.pas');
+          AddInclude('src/MacMemory.pas');
+          AddInclude('src/MacOSXPosix.pas');
+          AddInclude('src/MultiProcessingInfo.pas');
+          AddInclude('src/NumberFormatting.pas');
+          AddInclude('src/OSAComp.pas');
+          AddInclude('src/OSUtils.pas');
+          AddInclude('src/OpenTransport.pas');
+          AddInclude('src/OpenTransportProviders.pas');
+          AddInclude('src/Power.pas');
+          AddInclude('src/QuickdrawText.pas');
+          AddInclude('src/QuickdrawTypes.pas');
+          AddInclude('src/SCDynamicStoreKey.pas');
+          AddInclude('src/SCNetwork.pas');
+          AddInclude('src/SCSI.pas');
+          AddInclude('src/SCSchemaDefinitions.pas');
+          AddInclude('src/Script.pas');
+          AddInclude('src/SecBase.pas');
+          AddInclude('src/StringCompare.pas');
+          AddInclude('src/SystemConfiguration.pas');
+          AddInclude('src/TextEdit.pas');
+          AddInclude('src/TextEncodingConverter.pas');
+          AddInclude('src/TextEncodingPlugin.pas');
+          AddInclude('src/TextUtils.pas');
+          AddInclude('src/Timer.pas');
+          AddInclude('src/UTCoreTypes.pas');
+          AddInclude('src/UnicodeUtilities.pas');
+          AddInclude('src/UniversalAccess.pas');
+          AddInclude('src/Video.pas');
+          AddInclude('src/WSTypes.pas');
+          AddInclude('src/certextensions.pas');
+          AddInclude('src/cssmapple.pas');
+          AddInclude('src/cssmkrapi.pas');
+          AddInclude('src/gliDispatch.pas');
+          AddInclude('src/gluContext.pas');
+          AddInclude('src/ABGlobals.pas');
+          AddInclude('src/AEMach.pas');
+          AddInclude('src/AXTextAttributedString.pas');
+          AddInclude('src/AXValue.pas');
+          AddInclude('src/AudioHardwareBase.pas');
+          AddInclude('src/AuthSession.pas');
+          AddInclude('src/BackupCore.pas');
+          AddInclude('src/CFArray.pas');
+          AddInclude('src/CFBag.pas');
+          AddInclude('src/CFCharacterSet.pas');
+          AddInclude('src/CFLocale.pas');
+          AddInclude('src/CFNumberFormatter.pas');
+          AddInclude('src/CFString.pas');
+          AddInclude('src/CFStringTokenizer.pas');
+          AddInclude('src/CFTimeZone.pas');
+          AddInclude('src/CFUUID.pas');
+          AddInclude('src/CGAffineTransforms.pas');
+          AddInclude('src/CGImageMetadata.pas');
+          AddInclude('src/CGLCurrent.pas');
+          AddInclude('src/CGLDevice.pas');
+          AddInclude('src/CGPDFArray.pas');
+          AddInclude('src/CGPDFContentStream.pas');
+          AddInclude('src/CGPDFDictionary.pas');
+          AddInclude('src/CGPath.pas');
+          AddInclude('src/CSIdentityBase.pas');
+          AddInclude('src/CTFontDescriptor.pas');
+          AddInclude('src/CTParagraphStyle.pas');
+          AddInclude('src/CTTextTab.pas');
+          AddInclude('src/CVBuffer.pas');
+          AddInclude('src/CaptiveNetwork.pas');
+          AddInclude('src/ColorSyncProfile.pas');
+          AddInclude('src/ColorSyncTransform.pas');
+          AddInclude('src/Events.pas');
+          AddInclude('src/HITextLengthFilter.pas');
+          AddInclude('src/IOSurfaceAPI.pas');
+          AddInclude('src/MDItem.pas');
+          AddInclude('src/MDQuery.pas');
+          AddInclude('src/MDSchema.pas');
+          AddInclude('src/MIDISetup.pas');
+          AddInclude('src/MacOpenGL.pas');
+          AddInclude('src/Notification.pas');
+          AddInclude('src/PMDefinitions.pas');
+          AddInclude('src/PMErrors.pas');
+          AddInclude('src/Palettes.pas');
+          AddInclude('src/PictUtils.pas');
+          AddInclude('src/QDOffscreen.pas');
+          AddInclude('src/Scrap.pas');
+          AddInclude('src/SecTrust.pas');
+          AddInclude('src/TypeSelect.pas');
+          AddInclude('src/ABAddressBook.pas');
+          AddInclude('src/CFAttributedString.pas');
+          AddInclude('src/CFCalendar.pas');
+          AddInclude('src/CFDateFormatter.pas');
+          AddInclude('src/CFRunLoop.pas');
+          AddInclude('src/CFSocket.pas');
+          AddInclude('src/CSIdentity.pas');
+          AddInclude('src/CSIdentityQuery.pas');
+          AddInclude('src/CTFontCollection.pas');
+          AddInclude('src/ColorSyncDevice.pas');
+          AddInclude('src/DASession.pas');
+          AddInclude('src/FSEvents.pas');
+          AddInclude('src/SCNetworkConnection.pas');
+          AddInclude('src/SCNetworkReachability.pas');
+          AddInclude('src/ABActions.pas');
+          AddInclude('src/AudioHardware.pas');
+          AddInclude('src/AudioHardwareDeprecated.pas');
+          AddInclude('src/CFMachPort.pas');
+          AddInclude('src/CFMessagePort.pas');
+          AddInclude('src/CGRemoteOperation.pas');
+          AddInclude('src/DADisk.pas');
+          AddInclude('src/Files.pas');
+          AddInclude('src/Folders.pas');
+          AddInclude('src/ICAApplication.pas');
+          AddInclude('src/ICADevice.pas');
+          AddInclude('src/LowMem.pas');
+          AddInclude('src/Processes.pas');
+          AddInclude('src/Resources.pas');
+          AddInclude('src/SpeechRecognition.pas');
+          AddInclude('src/SystemSound.pas');
+          AddInclude('src/ATSTypes.pas');
+          AddInclude('src/AXUIElement.pas');
+          AddInclude('src/Aliases.pas');
+          AddInclude('src/AppleHelp.pas');
+          AddInclude('src/CFURL.pas');
+          AddInclude('src/CFURLAccess.pas');
+          AddInclude('src/CFUserNotification.pas');
+          AddInclude('src/CFXMLNode.pas');
+          AddInclude('src/CFXMLParser.pas');
+          AddInclude('src/CGDataConsumer.pas');
+          AddInclude('src/CGDataProvider.pas');
+          AddInclude('src/CGEventTypes.pas');
+          AddInclude('src/CGFont.pas');
+          AddInclude('src/CGPDFDocument.pas');
+          AddInclude('src/CGPDFPage.pas');
+          AddInclude('src/CGPSConverter.pas');
+          AddInclude('src/CTFontManager.pas');
+          AddInclude('src/CarbonEventsCore.pas');
+          AddInclude('src/ColorSyncDeprecated.pas');
+          AddInclude('src/Components.pas');
+          AddInclude('src/Fonts.pas');
+          AddInclude('src/IconsCore.pas');
+          AddInclude('src/InternetConfig.pas');
+          AddInclude('src/LSInfo.pas');
+          AddInclude('src/LSOpen.pas');
+          AddInclude('src/LSSharedFileList.pas');
+          AddInclude('src/MDLineage.pas');
+          AddInclude('src/PMCoreDeprecated.pas');
+          AddInclude('src/Pasteboard.pas');
+          AddInclude('src/SpeechSynthesis.pas');
+          AddInclude('src/TextInputSources.pas');
+          AddInclude('src/ToolUtils.pas');
+          AddInclude('src/TranslationExtensions.pas');
+          AddInclude('src/TranslationServices.pas');
+          AddInclude('src/UTType.pas');
+          AddInclude('src/WSMethodInvocation.pas');
+          AddInclude('src/WSProtocolHandler.pas');
+          AddInclude('src/ABPeoplePicker.pas');
+          AddInclude('src/AEInteraction.pas');
+          AddInclude('src/ATSLayoutTypes.pas');
+          AddInclude('src/ATSUnicodeTypes.pas');
+          AddInclude('src/AudioComponents.pas');
+          AddInclude('src/CFBundle.pas');
+          AddInclude('src/CFHTTPMessage.pas');
+          AddInclude('src/CFPlugIn.pas');
+          AddInclude('src/CFPlugInCOM.pas');
+          AddInclude('src/CFStream.pas');
+          AddInclude('src/CGColorSpace.pas');
+          AddInclude('src/CGEventSource.pas');
+          AddInclude('src/CGGradient.pas');
+          AddInclude('src/CGImage.pas');
+          AddInclude('src/CGImageSource.pas');
+          AddInclude('src/CGShading.pas');
+          AddInclude('src/CGWindow.pas');
+          AddInclude('src/CMCalibrator.pas');
+          AddInclude('src/CVImageBuffer.pas');
+          AddInclude('src/CVOpenGLBuffer.pas');
+          AddInclude('src/CVOpenGLBufferPool.pas');
+          AddInclude('src/CVOpenGLTexture.pas');
+          AddInclude('src/CVOpenGLTextureCache.pas');
+          AddInclude('src/CVPixelBuffer.pas');
+          AddInclude('src/CVPixelBufferIOSurface.pas');
+          AddInclude('src/CVPixelBufferPool.pas');
+          AddInclude('src/CVPixelFormatDescription.pas');
+          AddInclude('src/CodeFragments.pas');
+          AddInclude('src/ColorPicker.pas');
+          AddInclude('src/ColorSyncCMM.pas');
+          AddInclude('src/FontSync.pas');
+          AddInclude('src/HIObject.pas');
+          AddInclude('src/KeychainCore.pas');
+          AddInclude('src/KeychainHI.pas');
+          AddInclude('src/MDExternalDatastore.pas');
+          AddInclude('src/MDImporter.pas');
+          AddInclude('src/MIDIDriver.pas');
+          AddInclude('src/NSLCore.pas');
+          AddInclude('src/OpenTransportProtocol.pas');
+          AddInclude('src/QLThumbnailImage.pas');
+          AddInclude('src/Translation.pas');
+          AddInclude('src/URLAccess.pas');
+          AddInclude('src/ATSUnicodeDirectAccess.pas');
+          AddInclude('src/ATSUnicodeDrawing.pas');
+          AddInclude('src/ATSUnicodeFlattening.pas');
+          AddInclude('src/ATSUnicodeFonts.pas');
+          AddInclude('src/ATSUnicodeGlyphs.pas');
+          AddInclude('src/ATSUnicodeObjects.pas');
+          AddInclude('src/AUComponent.pas');
+          AddInclude('src/AppleEvents.pas');
+          AddInclude('src/AudioCodecs.pas');
+          AddInclude('src/AudioOutputUnit.pas');
+          AddInclude('src/AudioUnitProperties.pas');
+          AddInclude('src/AuthorizationDB.pas');
+          AddInclude('src/CFFTPStream.pas');
+          AddInclude('src/CFHTTPAuthentication.pas');
+          AddInclude('src/CFHTTPStream.pas');
+          AddInclude('src/CFHost.pas');
+          AddInclude('src/CFNetDiagnostics.pas');
+          AddInclude('src/CFNetServices.pas');
+          AddInclude('src/CFPropertyList.pas');
+          AddInclude('src/CFProxySupport.pas');
+          AddInclude('src/CFSocketStream.pas');
+          AddInclude('src/CGColor.pas');
+          AddInclude('src/CGContext.pas');
+          AddInclude('src/CGDirectDisplay.pas');
+          AddInclude('src/CGDirectPalette.pas');
+          AddInclude('src/CGDisplayConfiguration.pas');
+          AddInclude('src/CGDisplayFades.pas');
+          AddInclude('src/CGEvent.pas');
+          AddInclude('src/CGGLContext.pas');
+          AddInclude('src/CGImageDestination.pas');
+          AddInclude('src/CGLayer.pas');
+          AddInclude('src/CGPDFContext.pas');
+          AddInclude('src/CGPattern.pas');
+          AddInclude('src/CTFont.pas');
+          AddInclude('src/CTFrame.pas');
+          AddInclude('src/CTGlyphInfo.pas');
+          AddInclude('src/CTLine.pas');
+          AddInclude('src/CTRun.pas');
+          AddInclude('src/CTStringAttributes.pas');
+          AddInclude('src/CTTypesetter.pas');
+          AddInclude('src/CVDisplayLink.pas');
+          AddInclude('src/Dialogs.pas');
+          AddInclude('src/Displays.pas');
+          AddInclude('src/Drag.pas');
+          AddInclude('src/DrawSprocket.pas');
+          AddInclude('src/HIArchive.pas');
+          AddInclude('src/ImageCompression.pas');
+          AddInclude('src/MusicDevice.pas');
+          AddInclude('src/NSL.pas');
+          AddInclude('src/PMApplication.pas');
+          AddInclude('src/PMApplicationDeprecated.pas');
+          AddInclude('src/PMCore.pas');
+          AddInclude('src/QDPictToCGContext.pas');
+          AddInclude('src/QLGenerator.pas');
+          AddInclude('src/QLThumbnail.pas');
+          AddInclude('src/Quickdraw.pas');
+          AddInclude('src/SCDynamicStore.pas');
+          AddInclude('src/SCDynamicStoreCopyDHCPInfos.pas');
+          AddInclude('src/SCDynamicStoreCopySpecific.pas');
+          AddInclude('src/SCPreferences.pas');
+          AddInclude('src/SCPreferencesPath.pas');
+          AddInclude('src/SCPreferencesSetSpecific.pas');
+          AddInclude('src/Sound.pas');
+          AddInclude('src/AEHelpers.pas');
+          AddInclude('src/AEObjects.pas');
+          AddInclude('src/AEPackObject.pas');
+          AddInclude('src/AERegistry.pas');
+          AddInclude('src/ASRegistry.pas');
+          AddInclude('src/ATSFont.pas');
+          AddInclude('src/Appearance.pas');
+          AddInclude('src/CFPreferences.pas');
+          AddInclude('src/CGBitmapContext.pas');
+          AddInclude('src/CTFramesetter.pas');
+          AddInclude('src/CoreFoundation.pas');
+          AddInclude('src/CoreGraphics.pas');
+          AddInclude('src/CoreText.pas');
+          AddInclude('src/Dictionary.pas');
+          AddInclude('src/FontPanel.pas');
+          AddInclude('src/LanguageAnalysis.pas');
+          AddInclude('src/Menus.pas');
+          AddInclude('src/Movies.pas');
+          AddInclude('src/MoviesFormat.pas');
+          AddInclude('src/OSA.pas');
+          AddInclude('src/OSAGeneric.pas');
+          AddInclude('src/PMPrintAETypes.pas');
+          AddInclude('src/QuickTimeMusic.pas');
+          AddInclude('src/SCNetworkConfiguration.pas');
+          AddInclude('src/AppleScript.pas');
+          AddInclude('src/CarbonEvents.pas');
+          AddInclude('src/FinderRegistry.pas');
+          AddInclude('src/HIShape.pas');
+          AddInclude('src/HIToolbar.pas');
+          AddInclude('src/Icons.pas');
+          AddInclude('src/ImageCodec.pas');
+          AddInclude('src/MacApplication.pas');
+          AddInclude('src/MacWindows.pas');
+          AddInclude('src/MediaHandlers.pas');
+          AddInclude('src/Navigation.pas');
+          AddInclude('src/QuickTimeComponents.pas');
+          AddInclude('src/QuickTimeStreaming.pas');
+          AddInclude('src/QuickTimeVR.pas');
+          AddInclude('src/QuickTimeVRFormat.pas');
+          AddInclude('src/TextServices.pas');
+          AddInclude('src/ASDebugging.pas');
+          AddInclude('src/AudioUnitCarbonViews.pas');
+          AddInclude('src/Controls.pas');
+          AddInclude('src/HIAccessibility.pas');
+          AddInclude('src/HIButtonViews.pas');
+          AddInclude('src/HIClockView.pas');
+          AddInclude('src/HIContainerViews.pas');
+          AddInclude('src/HILittleArrows.pas');
+          AddInclude('src/HIPopupButton.pas');
+          AddInclude('src/HIProgressViews.pas');
+          AddInclude('src/HIRelevanceBar.pas');
+          AddInclude('src/HISeparator.pas');
+          AddInclude('src/HITabbedView.pas');
+          AddInclude('src/HITheme.pas');
+          AddInclude('src/HIToolboxDebugging.pas');
+          AddInclude('src/HIView.pas');
+          AddInclude('src/HIWindowViews.pas');
+          AddInclude('src/HTMLRendering.pas');
+          AddInclude('src/Lists.pas');
+          AddInclude('src/MacHelp.pas');
+          AddInclude('src/MacTextEditor.pas');
+          AddInclude('src/QTSMovie.pas');
+          AddInclude('src/QTStreamingComponents.pas');
+          AddInclude('src/TSMTE.pas');
+          AddInclude('src/ControlDefinitions.pas');
+          AddInclude('src/HIComboBox.pas');
+          AddInclude('src/HIDataBrowser.pas');
+          AddInclude('src/HIDisclosureViews.pas');
+          AddInclude('src/HIImageViews.pas');
+          AddInclude('src/HIMenuView.pas');
+          AddInclude('src/HIMovieView.pas');
+          AddInclude('src/HIScrollView.pas');
+          AddInclude('src/HISearchField.pas');
+          AddInclude('src/HISegmentedView.pas');
+          AddInclude('src/HISlider.pas');
+          AddInclude('src/HITextViews.pas');
+          AddInclude('src/IBCarbonRuntime.pas');
+          AddInclude('src/HIToolbox.pas');
+        end;
 
     P.ExamplePath.Add('examples');
     P.Targets.AddExampleProgram('controldemo.pas');

+ 5 - 0
packages/univint/src/ABActions.pas

@@ -84,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -93,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -108,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -127,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 5 - 0
packages/univint/src/ABAddressBook.pas

@@ -84,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -93,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -108,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -127,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 5 - 0
packages/univint/src/ABGlobals.pas

@@ -84,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -93,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -108,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -127,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 5 - 0
packages/univint/src/ABPeoplePicker.pas

@@ -84,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -93,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -108,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -127,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 5 - 0
packages/univint/src/ABTypedefs.pas

@@ -83,6 +83,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -92,6 +93,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -107,6 +109,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -116,6 +119,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -126,6 +130,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 118 - 62
packages/univint/src/AEDataModel.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvent Data Model Interfaces.
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1996-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -272,8 +278,8 @@ const
 	typeAppParameters = FourCharCode('appa');
 	typeProperty = FourCharCode('prop');
 	typeFSRef = FourCharCode('fsrf'); { FSRef }
-	typeFileURL = FourCharCode('furl');
-	typeBookmarkData = FourCharCode('bmrk');
+	typeFileURL = FourCharCode('furl'); { a UTF-8 encoded full path, using native path separators }
+	typeBookmarkData = FourCharCode('bmrk'); { the bytes of a CFURLBookmarkData }
 	typeKeyword = FourCharCode('keyw'); { OSType }
 	typeSectionH = FourCharCode('sect');
 	typeWildCard = FourCharCode('****');
@@ -313,6 +319,10 @@ const
 	typeKernelProcessID = FourCharCode('kpid');
 	typeMachPort = FourCharCode('port');
 
+	
+const
+	typeAuditToken = FourCharCode('tokn');	{ Mac OS X 10.8, returned as keyAuditTokenAttr and is a typedef audit_token_t }
+										 
 { Targeting applications by bundle ID is only available in Mac OS X 10.3 or later. }
 const
 	typeApplicationBundleID = FourCharCode('bund');
@@ -332,11 +342,16 @@ const
 	keyOriginalAddressAttr = FourCharCode('from'); { new in 1.0.1 }
 	keyAcceptTimeoutAttr = FourCharCode('actm'); { new for Mac OS X }
 	keyReplyRequestedAttr = FourCharCode('repq'); { Was a reply requested for this event - returned as typeBoolean }
-	keySenderEUIDAttr = FourCharCode('seid'); { read only, returned as typeSInt32.  Will be the euid of the sender of this event. }
-	keySenderEGIDAttr = FourCharCode('sgid'); { read only, returned as typeSInt32.  Will be the egid of the sender of this event. }
-	keySenderUIDAttr = FourCharCode('uids'); { read only, returned as typeSInt32.  Will be the uid of the sender of this event. }
-	keySenderGIDAttr = FourCharCode('gids'); { read only, returned as typeSInt32.  Will be the gid of the sender of this event. }
-	keySenderPIDAttr = FourCharCode('spid'); { read only, returned as typeSInt32.  Will be the pid of the sender of this event. }
+	keySenderEUIDAttr = FourCharCode('seid'); { read only, returned as typeSInt32.  Will be the euid of the sender of this event. } { Mac OS X 10.6 or later }
+	keySenderEGIDAttr = FourCharCode('sgid'); { read only, returned as typeSInt32.  Will be the egid of the sender of this event. } { Mac OS X 10.6 or later }
+	keySenderUIDAttr = FourCharCode('uids'); { read only, returned as typeSInt32.  Will be the uid of the sender of this event. } { Mac OS X 10.6 or later }
+	keySenderGIDAttr = FourCharCode('gids'); { read only, returned as typeSInt32.  Will be the gid of the sender of this event. } { Mac OS X 10.6 or later }
+	keySenderPIDAttr = FourCharCode('spid'); { read only, returned as typeSInt32.  Will be the pid of the sender of this event. } { Mac OS X 10.6 or later }
+	keySenderAuditTokenAttr = FourCharCode('tokn'); { read only, returned as an audit_token_t.  Will be the audit token of the sender of this event. } { Mac OS X 10.6 or later } { Mac OS X 10.8 or later }
+	keySenderApplescriptEntitlementsAttr = FourCharCode('entl'); { read only, an AEDesc containing opaque data representing the entitlements held by the sender. Interpreted by sandbox routines. } { Mac OS X 10.8 or later }
+	keySenderApplicationIdentifierEntitlementAttr = FourCharCode('aiea');
+	keySenderApplicationSandboxed = FourCharCode('sssb'); { read-only, an AEDesc typeBoolean, true if the sender application was in an application sandbox } { Mac OS X 10.8 or later }
+	keyActualSenderAuditToken = FourCharCode('acat'); { read-only, an AEDesc typeAuditToken of the acual ( possibly over-ridden ) audit token for the sender of this event } { Mac OS X 10.8 or later }
 
 { These bits are specified in the keyXMLDebuggingAttr (an SInt32) }
 const
@@ -457,7 +472,8 @@ type
 	AEKeyword							= FourCharCode;
 	AEKeywordPtr					= ^AEKeyword;
 {$ifc OPAQUE_TOOLBOX_STRUCTS}
-	AEDataStorage    = ^SInt32; { an opaque type }
+	AEDataStorage = ^OpaqueAEDataStorage; { an opaque type }
+	OpaqueAEDataStorage = record end;
 	AEDataStoragePtr = ^AEDataStorage;  { when a var xx:AEDataStorage parameter can be nil, it is changed to xx: AEDataStoragePtr }
 {$elsec}
 	AEDataStorage						= Handle;
@@ -557,6 +573,7 @@ const
 	kAEDontRecord = $00001000; { don't record this event - available only in vers 1.0.1 and greater }
 	kAEDontExecute = $00002000; { don't send the event for recording - available only in vers 1.0.1 and greater }
 	kAEProcessNonReplyEvents = $00008000; { allow processing of non-reply events while awaiting synchronous AppleEvent reply }
+	kAEDoNotAutomaticallyAddAnnotationsToEvent = $00010000; { if set, don't automatically add any sandbox or other annotations to the event }
 
 
 { Constants for timeout durations }
@@ -582,7 +599,7 @@ type
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAECoerceDescUPP( userRoutine: AECoerceDescProcPtr ): AECoerceDescUPP; external name '_NewAECoerceDescUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewAECoercePtrUPP()
@@ -593,7 +610,7 @@ function NewAECoerceDescUPP( userRoutine: AECoerceDescProcPtr ): AECoerceDescUPP
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAECoercePtrUPP( userRoutine: AECoercePtrProcPtr ): AECoercePtrUPP; external name '_NewAECoercePtrUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeAECoerceDescUPP()
@@ -604,7 +621,7 @@ function NewAECoercePtrUPP( userRoutine: AECoercePtrProcPtr ): AECoercePtrUPP; e
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAECoerceDescUPP( userUPP: AECoerceDescUPP ); external name '_DisposeAECoerceDescUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeAECoercePtrUPP()
@@ -615,7 +632,7 @@ procedure DisposeAECoerceDescUPP( userUPP: AECoerceDescUPP ); external name '_Di
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAECoercePtrUPP( userUPP: AECoercePtrUPP ); external name '_DisposeAECoercePtrUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeAECoerceDescUPP()
@@ -626,7 +643,7 @@ procedure DisposeAECoercePtrUPP( userUPP: AECoercePtrUPP ); external name '_Disp
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeAECoerceDescUPP( const (*var*) fromDesc: AEDesc; toType: DescType; handlerRefcon: SRefCon; var toDesc: AEDesc; userUPP: AECoerceDescUPP ): OSErr; external name '_InvokeAECoerceDescUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeAECoercePtrUPP()
@@ -637,7 +654,7 @@ function InvokeAECoerceDescUPP( const (*var*) fromDesc: AEDesc; toType: DescType
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeAECoercePtrUPP( typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size; toType: DescType; handlerRefcon: SRefCon; var result: AEDesc; userUPP: AECoercePtrUPP ): OSErr; external name '_InvokeAECoercePtrUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 { a AECoercionHandlerUPP is by default a AECoerceDescUPP.  If you are registering a 
     Ptr based coercion handler you will have to add a cast to AECoerceDescUPP from 
@@ -711,7 +728,7 @@ type
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEInstallCoercionHandler( fromType: DescType; toType: DescType; handler: AECoercionHandlerUPP; handlerRefcon: SRefCon; fromTypeIsDesc: Boolean; isSysHandler: Boolean ): OSErr; external name '_AEInstallCoercionHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -751,7 +768,7 @@ function AEInstallCoercionHandler( fromType: DescType; toType: DescType; handler
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AERemoveCoercionHandler( fromType: DescType; toType: DescType; handler: AECoercionHandlerUPP; isSysHandler: Boolean ): OSErr; external name '_AERemoveCoercionHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -802,7 +819,7 @@ function AERemoveCoercionHandler( fromType: DescType; toType: DescType; handler:
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetCoercionHandler( fromType: DescType; toType: DescType; var handler: AECoercionHandlerUPP; var handlerRefcon: SRefCon; var fromTypeIsDesc: Boolean; isSysHandler: Boolean ): OSErr; external name '_AEGetCoercionHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -846,7 +863,7 @@ function AEGetCoercionHandler( fromType: DescType; toType: DescType; var handler
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AECoercePtr( typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size; toType: DescType; var result: AEDesc ): OSErr; external name '_AECoercePtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -881,7 +898,7 @@ function AECoercePtr( typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Si
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AECoerceDesc( const (*var*) theAEDesc: AEDesc; toType: DescType; var result: AEDesc ): OSErr; external name '_AECoerceDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -914,7 +931,7 @@ function AECoerceDesc( const (*var*) theAEDesc: AEDesc; toType: DescType; var re
  *    Non-Carbon CFM:   not available
  }
 procedure AEInitializeDesc( var desc: AEDesc ); external name '_AEInitializeDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  AECreateDesc()
@@ -961,7 +978,7 @@ procedure AEInitializeDesc( var desc: AEDesc ); external name '_AEInitializeDesc
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AECreateDesc( typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size; var result: AEDesc ): OSErr; external name '_AECreateDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -999,7 +1016,7 @@ function AECreateDesc( typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: S
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEDisposeDesc( var theAEDesc: AEDesc ): OSErr; external name '_AEDisposeDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1043,7 +1060,8 @@ function AEDisposeDesc( var theAEDesc: AEDesc ): OSErr; external name '_AEDispos
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEDuplicateDesc( const (*var*) theAEDesc: AEDesc; var result: AEDesc ): OSErr; external name '_AEDuplicateDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
+
 
 {
  * Create an AEDesc with memory "borrowed" from the application. The
@@ -1131,8 +1149,46 @@ type
  *    Non-Carbon CFM:   not available
  }
 function AECreateDescFromExternalPtr( descriptorType: OSType; dataPtr: {const} UnivPtr; dataLength: Size; disposeCallback: AEDisposeExternalUPP; disposeRefcon: SRefCon; var theDesc: AEDesc ): OSStatus; external name '_AECreateDescFromExternalPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
-
+(* __OSX_AVAILABLE_STARTING( __MAC_10_2, __IPHONE_NA ) *)
+
+	
+
+	
+	{
+	 *  AECompareDesc()
+	 *  
+	 *  Discussion:
+	 *    Compare two AEDesc descriptors and return whether they are
+	 *	  identical or not.
+	 *  
+	 *  Mac OS X threading:
+	 *    Thread safe since version 10.8
+	 *  
+	 *  Parameters:
+	 *    
+	 *    desc1, desc2:
+	 *      A pointer to an AEDesc to be compared.
+	 *
+	 *	  resultP:
+	 *		If non-NULL, on a noErr return will be filled in with
+	 *		true or false indicating whether the descriptors are
+	 *		equilavent or not.
+	 *
+	 *  Two descriptors are identical if they are the same type and have
+	 *  the same data; typeAEList descriptors must contain the same number
+	 *  of items and every item in each list must itself be identical;
+	 *  typeAERecord descriptors must contain the same number of keys
+	 *  and values and each key/value must match between the two.
+	 *  typeAppleEvents match like typeAERecord and also require that
+	 *	most attributes of the two events are identical.
+	 *  
+	 *  Availability:
+	 *    Mac OS X:         in version 10.0 and later in ApplicationServices.framework
+	 *    CarbonLib:        in CarbonLib 1.0 and later
+	 *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
+	 }
+function AECompareDesc( const (*var*) desc1: AEDesc; const (*var*) desc2: AEDesc; var resultP: Boolean ): OSStatus; external name '_AECompareDesc';
+(* __OSX_AVAILABLE_STARTING( __MAC_10_8, __IPHONE_NA ) *)
 
 {*************************************************************************
   The following calls apply to AEDescList. Since AEDescList is a subtype of
@@ -1181,7 +1237,7 @@ function AECreateDescFromExternalPtr( descriptorType: OSType; dataPtr: {const} U
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AECreateList( factoringPtr: {const} UnivPtr; factoredSize: Size; isRecord: Boolean; var resultList: AEDescList ): OSErr; external name '_AECreateList';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1209,7 +1265,7 @@ function AECreateList( factoringPtr: {const} UnivPtr; factoredSize: Size; isReco
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AECountItems( const (*var*) theAEDescList: AEDescList; var theCount: SIGNEDLONG ): OSErr; external name '_AECountItems';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1252,7 +1308,7 @@ function AECountItems( const (*var*) theAEDescList: AEDescList; var theCount: SI
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutPtr( var theAEDescList: AEDescList; index: SIGNEDLONG; typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size ): OSErr; external name '_AEPutPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1289,7 +1345,7 @@ function AEPutPtr( var theAEDescList: AEDescList; index: SIGNEDLONG; typeCode: D
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutDesc( var theAEDescList: AEDescList; index: SIGNEDLONG; const (*var*) theAEDesc: AEDesc ): OSErr; external name '_AEPutDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1363,7 +1419,7 @@ function AEPutDesc( var theAEDescList: AEDescList; index: SIGNEDLONG; const (*va
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetNthPtr( const (*var*) theAEDescList: AEDescList; index: SIGNEDLONG; desiredType: DescType; theAEKeyword: AEKeywordPtr { can be NULL }; typeCode: DescTypePtr { can be NULL }; dataPtr: UnivPtr; maximumSize: Size; actualSize: SizePtr { can be NULL } ): OSErr; external name '_AEGetNthPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1421,7 +1477,7 @@ function AEGetNthPtr( const (*var*) theAEDescList: AEDescList; index: SIGNEDLONG
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetNthDesc( const (*var*) theAEDescList: AEDescList; index: SIGNEDLONG; desiredType: DescType; theAEKeyword: AEKeywordPtr { can be NULL }; var result: AEDesc ): OSErr; external name '_AEGetNthDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1461,7 +1517,7 @@ function AEGetNthDesc( const (*var*) theAEDescList: AEDescList; index: SIGNEDLON
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AESizeOfNthItem( const (*var*) theAEDescList: AEDescList; index: SIGNEDLONG; typeCode: DescTypePtr { can be NULL }; dataSize: SizePtr { can be NULL } ): OSErr; external name '_AESizeOfNthItem';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1525,7 +1581,7 @@ function AESizeOfNthItem( const (*var*) theAEDescList: AEDescList; index: SIGNED
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetArray( const (*var*) theAEDescList: AEDescList; arrayType: AEArrayType; arrayPtr: AEArrayDataPointer; maximumSize: Size; var itemType: DescType; var itemSize: Size; var itemCount: SIGNEDLONG ): OSErr; external name '_AEGetArray';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1581,7 +1637,7 @@ function AEGetArray( const (*var*) theAEDescList: AEDescList; arrayType: AEArray
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutArray( var theAEDescList: AEDescList; arrayType: AEArrayType; const (*var*) arrayPtr: AEArrayData; itemType: DescType; itemSize: Size; itemCount: SIGNEDLONG ): OSErr; external name '_AEPutArray';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1613,7 +1669,7 @@ function AEPutArray( var theAEDescList: AEDescList; arrayType: AEArrayType; cons
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEDeleteItem( var theAEDescList: AEDescList; index: SIGNEDLONG ): OSErr; external name '_AEDeleteItem';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -1638,7 +1694,7 @@ function AEDeleteItem( var theAEDescList: AEDescList; index: SIGNEDLONG ): OSErr
  *    Non-Carbon CFM:   not available
  }
 function AECheckIsRecord( const (*var*) theDesc: AEDesc ): Boolean; external name '_AECheckIsRecord';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {*************************************************************************
   The following calls create and manipulate the AppleEvent data type.
@@ -1714,7 +1770,7 @@ function AECheckIsRecord( const (*var*) theDesc: AEDesc ): Boolean; external nam
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AECreateAppleEvent( theAEEventClass: AEEventClass; theAEEventID: AEEventID; const (*var*) target: AEAddressDesc; returnID: AEReturnID; transactionID: AETransactionID; var result: AppleEvent ): OSErr; external name '_AECreateAppleEvent';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -1760,7 +1816,7 @@ function AECreateAppleEvent( theAEEventClass: AEEventClass; theAEEventID: AEEven
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutParamPtr( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size ): OSErr; external name '_AEPutParamPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1793,7 +1849,7 @@ function AEPutParamPtr( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword;
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutParamDesc( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; const (*var*) theAEDesc: AEDesc ): OSErr; external name '_AEPutParamDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1885,7 +1941,7 @@ function AEPutParamDesc( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword;
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetParamPtr( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; desiredType: DescType; actualType: DescTypePtr { can be NULL }; dataPtr: UnivPtr; maximumSize: Size; actualSize: SizePtr { can be NULL } ): OSErr; external name '_AEGetParamPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1943,7 +1999,7 @@ function AEGetParamPtr( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: A
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetParamDesc( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; desiredType: DescType; var result: AEDesc ): OSErr; external name '_AEGetParamDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -1979,7 +2035,7 @@ function AEGetParamDesc( const (*var*) theAppleEvent: AppleEvent; theAEKeyword:
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AESizeOfParam( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; typeCode: DescTypePtr { can be NULL }; dataSize: SizePtr { can be NULL } ): OSErr; external name '_AESizeOfParam';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2007,7 +2063,7 @@ function AESizeOfParam( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: A
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEDeleteParam( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword ): OSErr; external name '_AEDeleteParam';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -2093,7 +2149,7 @@ function AEDeleteParam( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword )
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetAttributePtr( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; desiredType: DescType; typeCode: DescTypePtr { can be NULL }; dataPtr: UnivPtr; maximumSize: Size; actualSize: SizePtr { can be NULL } ): OSErr; external name '_AEGetAttributePtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2147,7 +2203,7 @@ function AEGetAttributePtr( const (*var*) theAppleEvent: AppleEvent; theAEKeywor
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetAttributeDesc( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; desiredType: DescType; var result: AEDesc ): OSErr; external name '_AEGetAttributeDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2182,7 +2238,7 @@ function AEGetAttributeDesc( const (*var*) theAppleEvent: AppleEvent; theAEKeywo
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AESizeOfAttribute( const (*var*) theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; typeCode: DescTypePtr { can be NULL }; dataSize: SizePtr { can be NULL } ): OSErr; external name '_AESizeOfAttribute';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2221,7 +2277,7 @@ function AESizeOfAttribute( const (*var*) theAppleEvent: AppleEvent; theAEKeywor
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutAttributePtr( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size ): OSErr; external name '_AEPutAttributePtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2265,7 +2321,7 @@ function AEPutAttributePtr( var theAppleEvent: AppleEvent; theAEKeyword: AEKeywo
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEPutAttributeDesc( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyword; const (*var*) theAEDesc: AEDesc ): OSErr; external name '_AEPutAttributeDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -2301,7 +2357,7 @@ function AEPutAttributeDesc( var theAppleEvent: AppleEvent; theAEKeyword: AEKeyw
  *    Non-Carbon CFM:   not available
  }
 function AESizeOfFlattenedDesc( const (*var*) theAEDesc: AEDesc ): Size; external name '_AESizeOfFlattenedDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2348,7 +2404,7 @@ function AESizeOfFlattenedDesc( const (*var*) theAEDesc: AEDesc ): Size; externa
  *    Non-Carbon CFM:   not available
  }
 function AEFlattenDesc( const (*var*) theAEDesc: AEDesc; buffer: Ptr; bufferSize: Size; var actualSize: Size ): OSStatus; external name '_AEFlattenDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2381,7 +2437,7 @@ function AEFlattenDesc( const (*var*) theAEDesc: AEDesc; buffer: Ptr; bufferSize
  *    Non-Carbon CFM:   not available
  }
 function AEUnflattenDesc( buffer: {const} UnivPtr; var result: AEDesc ): OSStatus; external name '_AEUnflattenDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -2428,7 +2484,7 @@ function AEUnflattenDesc( buffer: {const} UnivPtr; var result: AEDesc ): OSStatu
  *    Non-Carbon CFM:   in CarbonAccessors.o 1.0 and later
  }
 function AEGetDescData( const (*var*) theAEDesc: AEDesc; dataPtr: UnivPtr; maximumSize: Size ): OSErr; external name '_AEGetDescData';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2452,7 +2508,7 @@ function AEGetDescData( const (*var*) theAEDesc: AEDesc; dataPtr: UnivPtr; maxim
  *    Non-Carbon CFM:   in CarbonAccessors.o 1.0 and later
  }
 function AEGetDescDataSize( const (*var*) theAEDesc: AEDesc ): Size; external name '_AEGetDescDataSize';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2486,7 +2542,7 @@ function AEGetDescDataSize( const (*var*) theAEDesc: AEDesc ): Size; external na
  *    Non-Carbon CFM:   in CarbonAccessors.o 1.0 and later
  }
 function AEReplaceDescData( typeCode: DescType; dataPtr: {const} UnivPtr; dataSize: Size; var theAEDesc: AEDesc ): OSErr; external name '_AEReplaceDescData';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -2527,7 +2583,7 @@ function AEReplaceDescData( typeCode: DescType; dataPtr: {const} UnivPtr; dataSi
  *    Non-Carbon CFM:   not available
  }
 function AEGetDescDataRange( const (*var*) dataDesc: AEDesc; buffer: UnivPtr; offset: Size; length: Size ): OSStatus; external name '_AEGetDescDataRange';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_2, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -2545,7 +2601,7 @@ type
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAEDisposeExternalUPP( userRoutine: AEDisposeExternalProcPtr ): AEDisposeExternalUPP; external name '_NewAEDisposeExternalUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_2, __IPHONE_NA ) *)
 
 {
  *  NewAEEventHandlerUPP()
@@ -2556,7 +2612,7 @@ function NewAEDisposeExternalUPP( userRoutine: AEDisposeExternalProcPtr ): AEDis
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAEEventHandlerUPP( userRoutine: AEEventHandlerProcPtr ): AEEventHandlerUPP; external name '_NewAEEventHandlerUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeAEDisposeExternalUPP()
@@ -2567,7 +2623,7 @@ function NewAEEventHandlerUPP( userRoutine: AEEventHandlerProcPtr ): AEEventHand
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAEDisposeExternalUPP( userUPP: AEDisposeExternalUPP ); external name '_DisposeAEDisposeExternalUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_2, __IPHONE_NA ) *)
 
 {
  *  DisposeAEEventHandlerUPP()
@@ -2578,7 +2634,7 @@ procedure DisposeAEDisposeExternalUPP( userUPP: AEDisposeExternalUPP ); external
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAEEventHandlerUPP( userUPP: AEEventHandlerUPP ); external name '_DisposeAEEventHandlerUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeAEDisposeExternalUPP()
@@ -2589,7 +2645,7 @@ procedure DisposeAEEventHandlerUPP( userUPP: AEEventHandlerUPP ); external name
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure InvokeAEDisposeExternalUPP( dataPtr: {const} UnivPtr; dataLength: Size; refcon: SRefCon; userUPP: AEDisposeExternalUPP ); external name '_InvokeAEDisposeExternalUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_2, __IPHONE_NA ) *)
 
 {
  *  InvokeAEEventHandlerUPP()
@@ -2600,7 +2656,7 @@ procedure InvokeAEDisposeExternalUPP( dataPtr: {const} UnivPtr; dataLength: Size
  *    Non-Carbon CFM:   available as macro/inline
  }
  function InvokeAEEventHandlerUPP( const (*var*) theAppleEvent: AppleEvent; var reply: AppleEvent; handlerRefcon: SRefCon; userUPP: AEEventHandlerUPP ): OSErr; external name '_InvokeAEEventHandlerUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {$endc} {TARGET_OS_MAC}
 

+ 35 - 27
packages/univint/src/AEHelpers.pas

@@ -3,7 +3,7 @@
  
      Contains:   AEPrint, AEBuild and AEStream for Carbon
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1999-2008 by Apple Computer, Inc., all rights reserved.
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -250,7 +256,7 @@ type
  *    Non-Carbon CFM:   not available
  }
 function AEBuildDesc( var dst: AEDesc; error: AEBuildErrorPtr { can be NULL }; src: ConstCStringPtr; ... ): OSStatus; external name '_AEBuildDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { varargs version of AEBuildDesc}
@@ -266,7 +272,7 @@ function AEBuildDesc( var dst: AEDesc; error: AEBuildErrorPtr { can be NULL }; s
  *    Non-Carbon CFM:   not available
  }
 // function vAEBuildDesc( var dst: AEDesc; error: AEBuildErrorPtr { can be NULL }; src: ConstCStringPtr; args: va_list ): OSStatus;
-// AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER;
+// __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA );
 
 
 { Append parameters to an existing AppleEvent}
@@ -282,7 +288,7 @@ function AEBuildDesc( var dst: AEDesc; error: AEBuildErrorPtr { can be NULL }; s
  *    Non-Carbon CFM:   not available
  }
 function AEBuildParameters( var event: AppleEvent; error: AEBuildErrorPtr { can be NULL }; format: ConstCStringPtr; ... ): OSStatus; external name '_AEBuildParameters';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { varargs version of AEBuildParameters}
@@ -298,7 +304,7 @@ function AEBuildParameters( var event: AppleEvent; error: AEBuildErrorPtr { can
  *    Non-Carbon CFM:   not available
  }
 // function vAEBuildParameters( var event: AppleEvent; error: AEBuildErrorPtr { can be NULL }; format: ConstCStringPtr; args: va_list ): OSStatus;
-// AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER;
+// __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA );
 
 
 { Building an entire Apple event:}
@@ -314,7 +320,7 @@ function AEBuildParameters( var event: AppleEvent; error: AEBuildErrorPtr { can
  *    Non-Carbon CFM:   not available
  }
 function AEBuildAppleEvent( theClass: AEEventClass; theID: AEEventID; addressType: DescType; addressData: {const} UnivPtr; addressLength: Size; returnID: SInt16; transactionID: SInt32; var result: AppleEvent; error: AEBuildErrorPtr { can be NULL }; paramsFmt: ConstCStringPtr; ... ): OSStatus; external name '_AEBuildAppleEvent';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { varargs version of AEBuildAppleEvent}
@@ -330,7 +336,7 @@ function AEBuildAppleEvent( theClass: AEEventClass; theID: AEEventID; addressTyp
  *    Non-Carbon CFM:   not available
  }
 // function vAEBuildAppleEvent( theClass: AEEventClass; theID: AEEventID; addressType: DescType; addressData: {const} UnivPtr; addressLength: Size; returnID: SInt16; transactionID: SInt32; var resultEvt: AppleEvent; error: AEBuildErrorPtr { can be NULL }; paramsFmt: ConstCStringPtr; args: va_list ): OSStatus;
-// AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER;
+// __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA );
 
 
 {
@@ -354,7 +360,7 @@ function AEBuildAppleEvent( theClass: AEEventClass; theID: AEEventID; addressTyp
  *    Non-Carbon CFM:   not available
  }
 function AEPrintDescToHandle( const (*var*) desc: AEDesc; var result: Handle ): OSStatus; external name '_AEPrintDescToHandle';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -368,7 +374,8 @@ function AEPrintDescToHandle( const (*var*) desc: AEDesc; var result: Handle ):
  * AppleEvent.
  }
 type
-	AEStreamRef = ^SInt32; { an opaque type }
+	AEStreamRef = ^OpaqueAEStreamRef; { an opaque type }
+	OpaqueAEStreamRef = record end;
 {
    Create and return an AEStreamRef
    Returns NULL on memory allocation failure
@@ -385,7 +392,7 @@ type
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOpen: AEStreamRef; external name '_AEStreamOpen';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -405,7 +412,7 @@ function AEStreamOpen: AEStreamRef; external name '_AEStreamOpen';
  *    Non-Carbon CFM:   not available
  }
 function AEStreamClose( ref: AEStreamRef; var desc: AEDesc ): OSStatus; external name '_AEStreamClose';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -424,7 +431,7 @@ function AEStreamClose( ref: AEStreamRef; var desc: AEDesc ): OSStatus; external
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOpenDesc( ref: AEStreamRef; newType: DescType ): OSStatus; external name '_AEStreamOpenDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Append data to the previously opened desc.}
@@ -440,7 +447,7 @@ function AEStreamOpenDesc( ref: AEStreamRef; newType: DescType ): OSStatus; exte
  *    Non-Carbon CFM:   not available
  }
 function AEStreamWriteData( ref: AEStreamRef; data: {const} UnivPtr; length: Size ): OSStatus; external name '_AEStreamWriteData';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -459,7 +466,7 @@ function AEStreamWriteData( ref: AEStreamRef; data: {const} UnivPtr; length: Siz
  *    Non-Carbon CFM:   not available
  }
 function AEStreamCloseDesc( ref: AEStreamRef ): OSStatus; external name '_AEStreamCloseDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Write data as a desc to the stream}
@@ -475,7 +482,7 @@ function AEStreamCloseDesc( ref: AEStreamRef ): OSStatus; external name '_AEStre
  *    Non-Carbon CFM:   not available
  }
 function AEStreamWriteDesc( ref: AEStreamRef; newType: DescType; data: {const} UnivPtr; length: Size ): OSStatus; external name '_AEStreamWriteDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Write an entire desc to the stream}
@@ -491,7 +498,7 @@ function AEStreamWriteDesc( ref: AEStreamRef; newType: DescType; data: {const} U
  *    Non-Carbon CFM:   not available
  }
 function AEStreamWriteAEDesc( ref: AEStreamRef; const (*var*) desc: AEDesc ): OSStatus; external name '_AEStreamWriteAEDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -510,7 +517,7 @@ function AEStreamWriteAEDesc( ref: AEStreamRef; const (*var*) desc: AEDesc ): OS
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOpenList( ref: AEStreamRef ): OSStatus; external name '_AEStreamOpenList';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Finish a list.}
@@ -526,7 +533,7 @@ function AEStreamOpenList( ref: AEStreamRef ): OSStatus; external name '_AEStrea
  *    Non-Carbon CFM:   not available
  }
 function AEStreamCloseList( ref: AEStreamRef ): OSStatus; external name '_AEStreamCloseList';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -545,7 +552,7 @@ function AEStreamCloseList( ref: AEStreamRef ): OSStatus; external name '_AEStre
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOpenRecord( ref: AEStreamRef; newType: DescType ): OSStatus; external name '_AEStreamOpenRecord';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Change the type of a record.}
@@ -561,7 +568,7 @@ function AEStreamOpenRecord( ref: AEStreamRef; newType: DescType ): OSStatus; ex
  *    Non-Carbon CFM:   not available
  }
 function AEStreamSetRecordType( ref: AEStreamRef; newType: DescType ): OSStatus; external name '_AEStreamSetRecordType';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Finish a record}
@@ -577,7 +584,7 @@ function AEStreamSetRecordType( ref: AEStreamRef; newType: DescType ): OSStatus;
  *    Non-Carbon CFM:   not available
  }
 function AEStreamCloseRecord( ref: AEStreamRef ): OSStatus; external name '_AEStreamCloseRecord';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -596,7 +603,7 @@ function AEStreamCloseRecord( ref: AEStreamRef ): OSStatus; external name '_AESt
  *    Non-Carbon CFM:   not available
  }
 function AEStreamWriteKeyDesc( ref: AEStreamRef; key: AEKeyword; newType: DescType; data: {const} UnivPtr; length: Size ): OSStatus; external name '_AEStreamWriteKeyDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -615,7 +622,7 @@ function AEStreamWriteKeyDesc( ref: AEStreamRef; key: AEKeyword; newType: DescTy
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOpenKeyDesc( ref: AEStreamRef; key: AEKeyword; newType: DescType ): OSStatus; external name '_AEStreamOpenKeyDesc';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Write a key to the stream - you can follow this with an AEWriteDesc.}
@@ -631,7 +638,7 @@ function AEStreamOpenKeyDesc( ref: AEStreamRef; key: AEKeyword; newType: DescTyp
  *    Non-Carbon CFM:   not available
  }
 function AEStreamWriteKey( ref: AEStreamRef; key: AEKeyword ): OSStatus; external name '_AEStreamWriteKey';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -651,7 +658,7 @@ function AEStreamWriteKey( ref: AEStreamRef; key: AEKeyword ): OSStatus; externa
  *    Non-Carbon CFM:   not available
  }
 function AEStreamCreateEvent( clazz: AEEventClass; id: AEEventID; targetType: DescType; targetData: {const} UnivPtr; targetLength: Size; returnID: SInt16; transactionID: SInt32 ): AEStreamRef; external name '_AEStreamCreateEvent';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -674,7 +681,7 @@ function AEStreamCreateEvent( clazz: AEEventClass; id: AEEventID; targetType: De
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOpenEvent( var event: AppleEvent ): AEStreamRef; external name '_AEStreamOpenEvent';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Mark a keyword as being an optional parameter.}
@@ -690,7 +697,8 @@ function AEStreamOpenEvent( var event: AppleEvent ): AEStreamRef; external name
  *    Non-Carbon CFM:   not available
  }
 function AEStreamOptionalParam( ref: AEStreamRef; key: AEKeyword ): OSStatus; external name '_AEStreamOptionalParam';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
+
 
 
 {$endc} {TARGET_OS_MAC}

+ 7 - 1
packages/univint/src/AEInteraction.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvent functions that deal with Events and interacting with user
  
-     Version:    HIToolbox-437~1
+     Version:    HIToolbox-624~3
  
      Copyright:  © 2000-2008 by Apple Computer, Inc., all rights reserved.
  
@@ -15,6 +15,7 @@
 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 11 - 5
packages/univint/src/AEMach.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvent over mach_msg interfaces
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 2000-2008 by Apple Computer, Inc., all rights reserved.
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -244,7 +250,7 @@ const
  *    Non-Carbon CFM:   not available
  }
 function AEGetRegisteredMachPort: mach_port_t; external name '_AEGetRegisteredMachPort';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -283,7 +289,7 @@ function AEGetRegisteredMachPort: mach_port_t; external name '_AEGetRegisteredMa
  *    Non-Carbon CFM:   not available
  }
 function AEDecodeMessage( var header: mach_msg_header_t; var event: AppleEvent; reply: AppleEventPtr { can be NULL } ): OSStatus; external name '_AEDecodeMessage';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -308,7 +314,7 @@ function AEDecodeMessage( var header: mach_msg_header_t; var event: AppleEvent;
  *    Non-Carbon CFM:   not available
  }
 function AEProcessMessage( var header: mach_msg_header_t ): OSStatus; external name '_AEProcessMessage';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -344,7 +350,7 @@ function AEProcessMessage( var header: mach_msg_header_t ): OSStatus; external n
  *    Non-Carbon CFM:   not available
  }
 function AESendMessage( const (*var*) event: AppleEvent; reply: AppleEventPtr { can be NULL }; sendMode: AESendMode; timeOutInTicks: SIGNEDLONG ): OSStatus; external name '_AESendMessage';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {$endc} {TARGET_OS_MAC}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}

+ 39 - 33
packages/univint/src/AEObjects.pas

@@ -3,7 +3,7 @@
  
      Contains:   Object Support Library Interfaces.
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1991-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2011 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -313,7 +319,7 @@ type
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLAccessorUPP( userRoutine: OSLAccessorProcPtr ): OSLAccessorUPP; external name '_NewOSLAccessorUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLCompareUPP()
@@ -324,7 +330,7 @@ function NewOSLAccessorUPP( userRoutine: OSLAccessorProcPtr ): OSLAccessorUPP; e
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLCompareUPP( userRoutine: OSLCompareProcPtr ): OSLCompareUPP; external name '_NewOSLCompareUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLCountUPP()
@@ -335,7 +341,7 @@ function NewOSLCompareUPP( userRoutine: OSLCompareProcPtr ): OSLCompareUPP; exte
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLCountUPP( userRoutine: OSLCountProcPtr ): OSLCountUPP; external name '_NewOSLCountUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLDisposeTokenUPP()
@@ -346,7 +352,7 @@ function NewOSLCountUPP( userRoutine: OSLCountProcPtr ): OSLCountUPP; external n
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLDisposeTokenUPP( userRoutine: OSLDisposeTokenProcPtr ): OSLDisposeTokenUPP; external name '_NewOSLDisposeTokenUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLGetMarkTokenUPP()
@@ -357,7 +363,7 @@ function NewOSLDisposeTokenUPP( userRoutine: OSLDisposeTokenProcPtr ): OSLDispos
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLGetMarkTokenUPP( userRoutine: OSLGetMarkTokenProcPtr ): OSLGetMarkTokenUPP; external name '_NewOSLGetMarkTokenUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLGetErrDescUPP()
@@ -368,7 +374,7 @@ function NewOSLGetMarkTokenUPP( userRoutine: OSLGetMarkTokenProcPtr ): OSLGetMar
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLGetErrDescUPP( userRoutine: OSLGetErrDescProcPtr ): OSLGetErrDescUPP; external name '_NewOSLGetErrDescUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLMarkUPP()
@@ -379,7 +385,7 @@ function NewOSLGetErrDescUPP( userRoutine: OSLGetErrDescProcPtr ): OSLGetErrDesc
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLMarkUPP( userRoutine: OSLMarkProcPtr ): OSLMarkUPP; external name '_NewOSLMarkUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  NewOSLAdjustMarksUPP()
@@ -390,7 +396,7 @@ function NewOSLMarkUPP( userRoutine: OSLMarkProcPtr ): OSLMarkUPP; external name
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewOSLAdjustMarksUPP( userRoutine: OSLAdjustMarksProcPtr ): OSLAdjustMarksUPP; external name '_NewOSLAdjustMarksUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLAccessorUPP()
@@ -401,7 +407,7 @@ function NewOSLAdjustMarksUPP( userRoutine: OSLAdjustMarksProcPtr ): OSLAdjustMa
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLAccessorUPP( userUPP: OSLAccessorUPP ); external name '_DisposeOSLAccessorUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLCompareUPP()
@@ -412,7 +418,7 @@ procedure DisposeOSLAccessorUPP( userUPP: OSLAccessorUPP ); external name '_Disp
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLCompareUPP( userUPP: OSLCompareUPP ); external name '_DisposeOSLCompareUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLCountUPP()
@@ -423,7 +429,7 @@ procedure DisposeOSLCompareUPP( userUPP: OSLCompareUPP ); external name '_Dispos
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLCountUPP( userUPP: OSLCountUPP ); external name '_DisposeOSLCountUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLDisposeTokenUPP()
@@ -434,7 +440,7 @@ procedure DisposeOSLCountUPP( userUPP: OSLCountUPP ); external name '_DisposeOSL
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLDisposeTokenUPP( userUPP: OSLDisposeTokenUPP ); external name '_DisposeOSLDisposeTokenUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLGetMarkTokenUPP()
@@ -445,7 +451,7 @@ procedure DisposeOSLDisposeTokenUPP( userUPP: OSLDisposeTokenUPP ); external nam
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLGetMarkTokenUPP( userUPP: OSLGetMarkTokenUPP ); external name '_DisposeOSLGetMarkTokenUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLGetErrDescUPP()
@@ -456,7 +462,7 @@ procedure DisposeOSLGetMarkTokenUPP( userUPP: OSLGetMarkTokenUPP ); external nam
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLGetErrDescUPP( userUPP: OSLGetErrDescUPP ); external name '_DisposeOSLGetErrDescUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLMarkUPP()
@@ -467,7 +473,7 @@ procedure DisposeOSLGetErrDescUPP( userUPP: OSLGetErrDescUPP ); external name '_
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLMarkUPP( userUPP: OSLMarkUPP ); external name '_DisposeOSLMarkUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  DisposeOSLAdjustMarksUPP()
@@ -478,7 +484,7 @@ procedure DisposeOSLMarkUPP( userUPP: OSLMarkUPP ); external name '_DisposeOSLMa
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeOSLAdjustMarksUPP( userUPP: OSLAdjustMarksUPP ); external name '_DisposeOSLAdjustMarksUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLAccessorUPP()
@@ -489,7 +495,7 @@ procedure DisposeOSLAdjustMarksUPP( userUPP: OSLAdjustMarksUPP ); external name
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLAccessorUPP( desiredClass: DescType; const (*var*) container: AEDesc; containerClass: DescType; form: DescType; const (*var*) selectionData: AEDesc; var value: AEDesc; accessorRefcon: SRefCon; userUPP: OSLAccessorUPP ): OSErr; external name '_InvokeOSLAccessorUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLCompareUPP()
@@ -500,7 +506,7 @@ function InvokeOSLAccessorUPP( desiredClass: DescType; const (*var*) container:
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLCompareUPP( oper: DescType; const (*var*) obj1: AEDesc; const (*var*) obj2: AEDesc; var result: Boolean; userUPP: OSLCompareUPP ): OSErr; external name '_InvokeOSLCompareUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLCountUPP()
@@ -511,7 +517,7 @@ function InvokeOSLCompareUPP( oper: DescType; const (*var*) obj1: AEDesc; const
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLCountUPP( desiredType: DescType; containerClass: DescType; const (*var*) container: AEDesc; var result: SIGNEDLONG; userUPP: OSLCountUPP ): OSErr; external name '_InvokeOSLCountUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLDisposeTokenUPP()
@@ -522,7 +528,7 @@ function InvokeOSLCountUPP( desiredType: DescType; containerClass: DescType; con
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLDisposeTokenUPP( var unneededToken: AEDesc; userUPP: OSLDisposeTokenUPP ): OSErr; external name '_InvokeOSLDisposeTokenUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLGetMarkTokenUPP()
@@ -533,7 +539,7 @@ function InvokeOSLDisposeTokenUPP( var unneededToken: AEDesc; userUPP: OSLDispos
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLGetMarkTokenUPP( const (*var*) dContainerToken: AEDesc; containerClass: DescType; var result: AEDesc; userUPP: OSLGetMarkTokenUPP ): OSErr; external name '_InvokeOSLGetMarkTokenUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLGetErrDescUPP()
@@ -544,7 +550,7 @@ function InvokeOSLGetMarkTokenUPP( const (*var*) dContainerToken: AEDesc; contai
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLGetErrDescUPP( var appDescPtr: AEDescPtr; userUPP: OSLGetErrDescUPP ): OSErr; external name '_InvokeOSLGetErrDescUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLMarkUPP()
@@ -555,7 +561,7 @@ function InvokeOSLGetErrDescUPP( var appDescPtr: AEDescPtr; userUPP: OSLGetErrDe
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLMarkUPP( const (*var*) dToken: AEDesc; const (*var*) markToken: AEDesc; index: SIGNEDLONG; userUPP: OSLMarkUPP ): OSErr; external name '_InvokeOSLMarkUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  InvokeOSLAdjustMarksUPP()
@@ -566,7 +572,7 @@ function InvokeOSLMarkUPP( const (*var*) dToken: AEDesc; const (*var*) markToken
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeOSLAdjustMarksUPP( newStart: SIGNEDLONG; newStop: SIGNEDLONG; const (*var*) markToken: AEDesc; userUPP: OSLAdjustMarksUPP ): OSErr; external name '_InvokeOSLAdjustMarksUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {
  *  AEObjectInit()
@@ -580,7 +586,7 @@ function InvokeOSLAdjustMarksUPP( newStart: SIGNEDLONG; newStop: SIGNEDLONG; con
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AEObjectInit: OSErr; external name '_AEObjectInit';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 { Not done by inline, but by direct linking into code.  It sets up the pack
@@ -597,7 +603,7 @@ function AEObjectInit: OSErr; external name '_AEObjectInit';
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AESetObjectCallbacks( myCompareProc: OSLCompareUPP; myCountProc: OSLCountUPP; myDisposeTokenProc: OSLDisposeTokenUPP; myGetMarkTokenProc: OSLGetMarkTokenUPP; myMarkProc: OSLMarkUPP; myAdjustMarksProc: OSLAdjustMarksUPP; myGetErrDescProcPtr: OSLGetErrDescUPP ): OSErr; external name '_AESetObjectCallbacks';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -612,7 +618,7 @@ function AESetObjectCallbacks( myCompareProc: OSLCompareUPP; myCountProc: OSLCou
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AEResolve( const (*var*) objectSpecifier: AEDesc; callbackFlags: SInt16; var theToken: AEDesc ): OSErr; external name '_AEResolve';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -627,7 +633,7 @@ function AEResolve( const (*var*) objectSpecifier: AEDesc; callbackFlags: SInt16
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AEInstallObjectAccessor( desiredClass: DescType; containerType: DescType; theAccessor: OSLAccessorUPP; accessorRefcon: SRefCon; isSysHandler: Boolean ): OSErr; external name '_AEInstallObjectAccessor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -642,7 +648,7 @@ function AEInstallObjectAccessor( desiredClass: DescType; containerType: DescTyp
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AERemoveObjectAccessor( desiredClass: DescType; containerType: DescType; theAccessor: OSLAccessorUPP; isSysHandler: Boolean ): OSErr; external name '_AERemoveObjectAccessor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -657,7 +663,7 @@ function AERemoveObjectAccessor( desiredClass: DescType; containerType: DescType
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AEGetObjectAccessor( desiredClass: DescType; containerType: DescType; var accessor: OSLAccessorUPP; var accessorRefcon: SRefCon; isSysHandler: Boolean ): OSErr; external name '_AEGetObjectAccessor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -672,7 +678,7 @@ function AEGetObjectAccessor( desiredClass: DescType; containerType: DescType; v
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AEDisposeToken( var theToken: AEDesc ): OSErr; external name '_AEDisposeToken';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -687,7 +693,7 @@ function AEDisposeToken( var theToken: AEDesc ): OSErr; external name '_AEDispos
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function AECallObjectAccessor( desiredClass: DescType; const (*var*) containerToken: AEDesc; containerClass: DescType; keyForm: DescType; const (*var*) keyData: AEDesc; var token: AEDesc ): OSErr; external name '_AECallObjectAccessor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {$endc} {TARGET_OS_MAC}

+ 12 - 6
packages/univint/src/AEPackObject.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvents object packing Interfaces.
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1991-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -197,7 +203,7 @@ uses MacTypes,AEDataModel,AppleEvents;
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function CreateOffsetDescriptor( theOffset: SIGNEDLONG; var theDescriptor: AEDesc ): OSErr; external name '_CreateOffsetDescriptor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -212,7 +218,7 @@ function CreateOffsetDescriptor( theOffset: SIGNEDLONG; var theDescriptor: AEDes
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function CreateCompDescriptor( comparisonOperator: DescType; var operand1: AEDesc; var operand2: AEDesc; disposeInputs: Boolean; var theDescriptor: AEDesc ): OSErr; external name '_CreateCompDescriptor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -227,7 +233,7 @@ function CreateCompDescriptor( comparisonOperator: DescType; var operand1: AEDes
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function CreateLogicalDescriptor( var theLogicalTerms: AEDescList; theLogicOperator: DescType; disposeInputs: Boolean; var theDescriptor: AEDesc ): OSErr; external name '_CreateLogicalDescriptor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -242,7 +248,7 @@ function CreateLogicalDescriptor( var theLogicalTerms: AEDescList; theLogicOpera
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function CreateObjSpecifier( desiredClass: DescType; var theContainer: AEDesc; keyForm: DescType; var keyData: AEDesc; disposeInputs: Boolean; var objSpecifier: AEDesc ): OSErr; external name '_CreateObjSpecifier';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -257,7 +263,7 @@ function CreateObjSpecifier( desiredClass: DescType; var theContainer: AEDesc; k
  *    Non-Carbon CFM:   in ObjectSupportLib 1.0 and later
  }
 function CreateRangeDescriptor( var rangeStart: AEDesc; var rangeStop: AEDesc; disposeInputs: Boolean; var theDescriptor: AEDesc ): OSErr; external name '_CreateRangeDescriptor';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 {$endc} {TARGET_OS_MAC}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}

+ 10 - 2
packages/univint/src/AERegistry.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvents Registry Interface.
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1993-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,6 +14,7 @@
  
 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -728,7 +734,9 @@ const
 	typeHIWindow = FourCharCode('wobj');
 
 const
-	kAEQuitReason = FourCharCode('why?'); { in a kAEQuitApplication event, this property if present is the reason the quit is being sent.  The possible values are kAEQuitAll, kAEShutDown, kAERestart, kAEReallyLogOut }
+	kAEQuitPreserveState = FourCharCode('stat'); { in a kAEQuitApplication event, this optional parameter hints the application as to whether it should write out }
+                                        { persistent state which may be restored on the next launch. The possible values are kAENo ( the default ), or kAEYes }
+	kAEQuitReason = FourCharCode('why?'); { in a kAEQuitApplication event, this parameter if present is the reason the quit is being sent.  The possible values are kAEQuitAll, kAEShutDown, kAERestart, kAEReallyLogOut }
 
 const
 	kBySmallIcon = 0;

+ 7 - 1
packages/univint/src/AEUserTermTypes.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvents AEUT resource format Interfaces.
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1991-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 8 - 9
packages/univint/src/AIFF.pas

@@ -2,18 +2,12 @@
      File:       CarbonCore/AIFF.h
  
      Contains:   Definition of AIFF file format components.
+                 The contents of this header file are deprecated.
  
-     Version:    CarbonCore-859.2~1
- 
-     Copyright:  © 1989-2008 by Apple Computer, Inc., all rights reserved.
- 
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
- 
-                     http://www.freepascal.org/bugs.html
- 
+     Copyright:  © 1989-2011 by Apple Inc. All rights reserved.
 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +83,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +93,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +109,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +119,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +130,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 8 - 3
packages/univint/src/ASDebugging.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleScript Debugging Interfaces.
  
-     Version:    OSA-136~14
+     Version:    OSA-148~28
  
      Copyright:  © 1992-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,8 +14,8 @@
  
 }
 
-{ Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
-
+{  Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -91,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -100,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -115,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -124,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -134,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 8 - 3
packages/univint/src/ASRegistry.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleScript Registry constants.
  
-     Version:    OSA-136~14
+     Version:    OSA-148~28
  
      Copyright:  © 1991-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,8 +14,8 @@
  
 }
 
-{ Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
-
+{  Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -91,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -100,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -115,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -124,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -134,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 115 - 96
packages/univint/src/ATSFont.pas

@@ -3,29 +3,19 @@
  
      Contains:   Public interface to the font access and data management functions of ATS.
  
-     DRI:        Julio Gonzalez
+     Version:    ATS
  
-     Copyright:  © 2000-2008 by Apple Inc., all rights reserved.
+     Copyright:  © 2000-2012 by Apple Inc., all rights reserved.
  
-     Warning:    *** APPLE INTERNAL USE ONLY ***
-                 This file may contain unreleased API's
+     Bugs?:      For bug reports, consult the following page on
+                 the World Wide Web:
  
-     BuildInfo:  Built by:            root
-                 On:                  Fri Jul 24 22:21:51 2009
-                 With Interfacer:     3.0d46   (Mac OS X for PowerPC)
-                 From:                ATSFont.i
-                     Revision:        
-                     Dated:           
-                     Last change by:  
-                     Last comment:    
- 
-     Bugs:       Report bugs to Radar component "System Interfaces", "Latest"
-                 List the version information (from above) in the Problem Description.
+                     http://www.freepascal.org/bugs.html
  
 }
 
-{ Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
-
+{  Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -101,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -110,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -125,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -134,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -144,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -193,15 +188,15 @@ uses MacTypes,CFBase,CFRunLoop,CFPropertyList,ATSTypes,CFString,CFURL,Files,Text
 
 {$ifc TARGET_OS_MAC}
 
-{$ALIGN POWER}
+{$ALIGN MAC68K}
 
 
 const
-	kATSOptionFlagsDefault		= 0;
-	kATSOptionFlagsComposeFontPostScriptName = $01;				{  ATSFontGetPostScriptName  }
-	kATSOptionFlagsUseDataForkAsResourceFork = $0100;			{  ATSFontActivateFromFileSpecification  }
-	kATSOptionFlagsUseResourceFork = $0200;
-	kATSOptionFlagsUseDataFork	= $0300;
+	kATSOptionFlagsDefault = 0;
+	kATSOptionFlagsComposeFontPostScriptName = 1 shl 0; { ATSFontGetPostScriptName }
+	kATSOptionFlagsUseDataForkAsResourceFork = 1 shl 8; { ATSFontActivateFromFileSpecification }
+	kATSOptionFlagsUseResourceFork = 2 shl 8;
+	kATSOptionFlagsUseDataFork = 3 shl 8;
 
 	kATSIterationCompleted		= -980;
 	kATSInvalidFontFamilyAccess	= -981;
@@ -209,7 +204,7 @@ const
 	kATSIterationScopeModified	= -983;
 	kATSInvalidFontTableAccess	= -984;
 	kATSInvalidFontContainerAccess = -985;
-  kATSInvalidGlyphAccess        = -986;
+    kATSInvalidGlyphAccess        = -986;
 
 
 { Activation Option Flags }
@@ -273,6 +268,9 @@ type
 		3: (
 			fontApplierFunctionFilter: ATSFontApplierFunction;
 			);
+		4: (
+			fontFileRefFilter: {const} FSRefPtr;
+			);
 	end;
 { Notification related }
 
@@ -291,7 +289,7 @@ type
  *    options that follow may be used together in order to alter the
  *    default behavior of ATS notifications.
  }
-
+type
 	ATSFontNotifyOption = SInt32;
 const
 {
@@ -372,8 +370,11 @@ type
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{
+  Register for kCTFontManagerRegisteredFontsChangedNotification notifications
+}
 function ATSGetGeneration: ATSGeneration; external name '_ATSGetGeneration';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {$ifc not TARGET_CPU_64}
@@ -425,6 +426,9 @@ function ATSGetGeneration: ATSGeneration; external name '_ATSGetGeneration';
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{
+  Use CTFontManagerRegisterFontsForURL() or CTFontManagerRegisterFontsForURLs()
+}
 function ATSFontActivateFromFileSpecification( const (*var*) iFile: FSSpec; iContext: ATSFontContext; iFormat: ATSFontFormat; iReserved: UnivPtr; iOptions: ATSOptionFlags; var oContainer: ATSFontContainerRef ): OSStatus; external name '_ATSFontActivateFromFileSpecification';
 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
 
@@ -476,8 +480,11 @@ function ATSFontActivateFromFileSpecification( const (*var*) iFile: FSSpec; iCon
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{
+   Use CTFontManagerRegisterFontsForURL() or CTFontManagerRegisterFontsForURLs()
+}
 function ATSFontActivateFromFileReference( const (*var*) iFile: FSRef; iContext: ATSFontContext; iFormat: ATSFontFormat; iRefCon: UnivPtr; iOptions: ATSOptionFlags; var oContainer: ATSFontContainerRef ): OSStatus; external name '_ATSFontActivateFromFileReference';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -491,8 +498,11 @@ function ATSFontActivateFromFileReference( const (*var*) iFile: FSRef; iContext:
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{
+  Use CTFontManagerRegisterFontForData() or CGFontCreateWithDataProvider() w/ CTFontManagerRegisterGraphicsFont()
+}
 function ATSFontActivateFromMemory( iData: LogicalAddress; iLength: ByteCount; iContext: ATSFontContext; iFormat: ATSFontFormat; iReserved: UnivPtr; iOptions: ATSOptionFlags; var oContainer: ATSFontContainerRef ): OSStatus; external name '_ATSFontActivateFromMemory';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -506,8 +516,9 @@ function ATSFontActivateFromMemory( iData: LogicalAddress; iLength: ByteCount; i
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerUnregisterFontsForURL() or CTFontManagerUnregisterFontsForURLs()" }
 function ATSFontDeactivate( iContainer: ATSFontContainerRef; iRefCon: UnivPtr; iOptions: ATSOptionFlags ): OSStatus; external name '_ATSFontDeactivate';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -554,8 +565,9 @@ function ATSFontDeactivate( iContainer: ATSFontContainerRef; iRefCon: UnivPtr; i
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyAttribute() with kCTFontURLAttribute." }
 function ATSFontGetContainerFromFileReference( const (*var*) iFile: FSRef; iContext: ATSFontContext; iOptions: ATSOptionFlags; var oContainer: ATSFontContainerRef ): OSStatus; external name '_ATSFontGetContainerFromFileReference';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -589,8 +601,9 @@ function ATSFontGetContainerFromFileReference( const (*var*) iFile: FSRef; iCont
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyAttribute() with kCTFontURLAttribute." }
 function ATSFontGetContainer( iFont: ATSFontRef; iOptions: ATSOptionFlags; var oContainer: ATSFontContainerRef ): OSStatus; external name '_ATSFontGetContainer';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -624,8 +637,9 @@ function ATSFontGetContainer( iFont: ATSFontRef; iOptions: ATSOptionFlags; var o
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerEnableFontDescriptors()" }
 function ATSFontSetEnabled( iFont: ATSFontRef; iOptions: ATSOptionFlags; iEnabled: Boolean ): OSStatus; external name '_ATSFontSetEnabled';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -650,9 +664,9 @@ function ATSFontSetEnabled( iFont: ATSFontRef; iOptions: ATSOptionFlags; iEnable
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyAttribute() with kCTFontEnabledAttribute" }
 function ATSFontIsEnabled( iFont: ATSFontRef ): Boolean; external name '_ATSFontIsEnabled';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 { ----------------------------------------------------------------------------------------- }
 { Font family                                                                               }
@@ -668,9 +682,9 @@ function ATSFontIsEnabled( iFont: ATSFontRef ): Boolean; external name '_ATSFont
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerCopyAvailableFontFamilyNames()" }
 function ATSFontFamilyApplyFunction( iFunction: ATSFontFamilyApplierFunction; iRefCon: UnivPtr ): OSStatus; external name '_ATSFontFamilyApplyFunction';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFamilyIteratorCreate()
@@ -683,9 +697,9 @@ function ATSFontFamilyApplyFunction( iFunction: ATSFontFamilyApplierFunction; iR
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerCopyAvailableFontFamilyNames()" }
 function ATSFontFamilyIteratorCreate( iContext: ATSFontContext; {const} iFilter: ATSFontFilterPtr { can be NULL }; iRefCon: UnivPtr; iOptions: ATSOptionFlags; var ioIterator: ATSFontFamilyIterator ): OSStatus; external name '_ATSFontFamilyIteratorCreate';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFamilyIteratorRelease()
@@ -699,7 +713,7 @@ function ATSFontFamilyIteratorCreate( iContext: ATSFontContext; {const} iFilter:
  *    Non-Carbon CFM:   not available
  }
 function ATSFontFamilyIteratorRelease( var ioIterator: ATSFontFamilyIterator ): OSStatus; external name '_ATSFontFamilyIteratorRelease';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -714,7 +728,7 @@ function ATSFontFamilyIteratorRelease( var ioIterator: ATSFontFamilyIterator ):
  *    Non-Carbon CFM:   not available
  }
 function ATSFontFamilyIteratorReset( iContext: ATSFontContext; {const} iFilter: ATSFontFilterPtr { can be NULL }; iRefCon: UnivPtr; iOptions: ATSOptionFlags; var ioIterator: ATSFontFamilyIterator ): OSStatus; external name '_ATSFontFamilyIteratorReset';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -729,7 +743,7 @@ function ATSFontFamilyIteratorReset( iContext: ATSFontContext; {const} iFilter:
  *    Non-Carbon CFM:   not available
  }
 function ATSFontFamilyIteratorNext( iIterator: ATSFontFamilyIterator; var oFamily: ATSFontFamilyRef ): OSStatus; external name '_ATSFontFamilyIteratorNext';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -743,9 +757,9 @@ function ATSFontFamilyIteratorNext( iIterator: ATSFontFamilyIterator; var oFamil
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontDescriptorCreateMatchingFontDescriptors() with kCTFontFamilyNameAttribute" }
 function ATSFontFamilyFindFromName( iName: CFStringRef; iOptions: ATSOptionFlags ): ATSFontFamilyRef; external name '_ATSFontFamilyFindFromName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFamilyGetGeneration()
@@ -758,9 +772,9 @@ function ATSFontFamilyFindFromName( iName: CFStringRef; iOptions: ATSOptionFlags
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Register for kCTFontManagerRegisteredFontsChangedNotification notifications" }
 function ATSFontFamilyGetGeneration( iFamily: ATSFontFamilyRef ): ATSGeneration; external name '_ATSFontFamilyGetGeneration';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFamilyGetName()
@@ -773,9 +787,9 @@ function ATSFontFamilyGetGeneration( iFamily: ATSFontFamilyRef ): ATSGeneration;
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyFamilyName()" }
 function ATSFontFamilyGetName( iFamily: ATSFontFamilyRef; iOptions: ATSOptionFlags; var oName: CFStringRef ): OSStatus; external name '_ATSFontFamilyGetName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFamilyGetEncoding()
@@ -788,9 +802,9 @@ function ATSFontFamilyGetName( iFamily: ATSFontFamilyRef; iOptions: ATSOptionFla
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontGetStringEncoding()" }
 function ATSFontFamilyGetEncoding( iFamily: ATSFontFamilyRef ): TextEncoding; external name '_ATSFontFamilyGetEncoding';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 { ----------------------------------------------------------------------------------------- }
 { Font                                                                                      }
@@ -806,9 +820,9 @@ function ATSFontFamilyGetEncoding( iFamily: ATSFontFamilyRef ): TextEncoding; ex
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCollectionCreateFromAvailableFonts()" }
 function ATSFontApplyFunction( iFunction: ATSFontApplierFunction; iRefCon: UnivPtr ): OSStatus; external name '_ATSFontApplyFunction';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontIteratorCreate()
@@ -821,9 +835,9 @@ function ATSFontApplyFunction( iFunction: ATSFontApplierFunction; iRefCon: UnivP
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCollectionCreateFromAvailableFonts()" }
 function ATSFontIteratorCreate( iContext: ATSFontContext; {const} iFilter: ATSFontFilterPtr { can be NULL }; iRefCon: UnivPtr; iOptions: ATSOptionFlags; var ioIterator: ATSFontIterator ): OSStatus; external name '_ATSFontIteratorCreate';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontIteratorRelease()
@@ -837,7 +851,7 @@ function ATSFontIteratorCreate( iContext: ATSFontContext; {const} iFilter: ATSFo
  *    Non-Carbon CFM:   not available
  }
 function ATSFontIteratorRelease( var ioIterator: ATSFontIterator ): OSStatus; external name '_ATSFontIteratorRelease';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -852,7 +866,7 @@ function ATSFontIteratorRelease( var ioIterator: ATSFontIterator ): OSStatus; ex
  *    Non-Carbon CFM:   not available
  }
 function ATSFontIteratorReset( iContext: ATSFontContext; {const} iFilter: ATSFontFilterPtr { can be NULL }; iRefCon: UnivPtr; iOptions: ATSOptionFlags; var ioIterator: ATSFontIterator ): OSStatus; external name '_ATSFontIteratorReset';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -867,7 +881,7 @@ function ATSFontIteratorReset( iContext: ATSFontContext; {const} iFilter: ATSFon
  *    Non-Carbon CFM:   not available
  }
 function ATSFontIteratorNext( iIterator: ATSFontIterator; var oFont: ATSFontRef ): OSStatus; external name '_ATSFontIteratorNext';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -881,9 +895,9 @@ function ATSFontIteratorNext( iIterator: ATSFontIterator; var oFont: ATSFontRef
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCreateWithName()" }
 function ATSFontFindFromName( iName: CFStringRef; iOptions: ATSOptionFlags ): ATSFontRef; external name '_ATSFontFindFromName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFindFromPostScriptName()
@@ -896,9 +910,9 @@ function ATSFontFindFromName( iName: CFStringRef; iOptions: ATSOptionFlags ): AT
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCreateWithName()" }
 function ATSFontFindFromPostScriptName( iName: CFStringRef; iOptions: ATSOptionFlags ): ATSFontRef; external name '_ATSFontFindFromPostScriptName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFindFromContainer()
@@ -911,9 +925,9 @@ function ATSFontFindFromPostScriptName( iName: CFStringRef; iOptions: ATSOptionF
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontDescriptorCreateMatchingFontDescriptors() with kCTFontURLAttribute or use CTFontManagerCreateFontDescriptorsFromURL()" }
 function ATSFontFindFromContainer( iContainer: ATSFontContainerRef; iOptions: ATSOptionFlags; iCount: ItemCount; ioArray: {variable-size-array} ATSFontRefPtr; var oCount: ItemCount ): OSStatus; external name '_ATSFontFindFromContainer';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetGeneration()
@@ -926,9 +940,9 @@ function ATSFontFindFromContainer( iContainer: ATSFontContainerRef; iOptions: AT
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Register for kCTFontManagerRegisteredFontsChangedNotification notifications" }
 function ATSFontGetGeneration( iFont: ATSFontRef ): ATSGeneration; external name '_ATSFontGetGeneration';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetName()
@@ -941,9 +955,9 @@ function ATSFontGetGeneration( iFont: ATSFontRef ): ATSGeneration; external name
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyFullName()" }
 function ATSFontGetName( iFont: ATSFontRef; iOptions: ATSOptionFlags; var oName: CFStringRef ): OSStatus; external name '_ATSFontGetName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetPostScriptName()
@@ -956,9 +970,9 @@ function ATSFontGetName( iFont: ATSFontRef; iOptions: ATSOptionFlags; var oName:
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyPostScriptName()" }
 function ATSFontGetPostScriptName( iFont: ATSFontRef; iOptions: ATSOptionFlags; var oName: CFStringRef ): OSStatus; external name '_ATSFontGetPostScriptName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetTableDirectory()
@@ -971,9 +985,9 @@ function ATSFontGetPostScriptName( iFont: ATSFontRef; iOptions: ATSOptionFlags;
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyAvailableTables()" }
 function ATSFontGetTableDirectory( iFont: ATSFontRef; iBufferSize: ByteCount; ioBuffer: UnivPtr; oSize: ByteCountPtr { can be NULL } ): OSStatus; external name '_ATSFontGetTableDirectory';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetTable()
@@ -986,9 +1000,9 @@ function ATSFontGetTableDirectory( iFont: ATSFontRef; iBufferSize: ByteCount; io
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyTable()" }
 function ATSFontGetTable( iFont: ATSFontRef; iTag: FourCharCode; iOffset: ByteOffset; iBufferSize: ByteCount; ioBuffer: UnivPtr; oSize: ByteCountPtr { can be NULL } ): OSStatus; external name '_ATSFontGetTable';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetHorizontalMetrics()
@@ -1001,9 +1015,9 @@ function ATSFontGetTable( iFont: ATSFontRef; iTag: FourCharCode; iOffset: ByteOf
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontGetXHeight(), CTFontGetAscent(), and friends to find a specific metric." }
 function ATSFontGetHorizontalMetrics( iFont: ATSFontRef; iOptions: ATSOptionFlags; var oMetrics: ATSFontMetrics ): OSStatus; external name '_ATSFontGetHorizontalMetrics';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetVerticalMetrics()
@@ -1016,9 +1030,9 @@ function ATSFontGetHorizontalMetrics( iFont: ATSFontRef; iOptions: ATSOptionFlag
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontGetXHeight(), CTFontGetAscent(), and friends to find a specific metric." }
 function ATSFontGetVerticalMetrics( iFont: ATSFontRef; iOptions: ATSOptionFlags; var oMetrics: ATSFontMetrics ): OSStatus; external name '_ATSFontGetVerticalMetrics';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 { ----------------------------------------------------------------------------------------- }
 { Compatibility                                                                             }
@@ -1034,9 +1048,9 @@ function ATSFontGetVerticalMetrics( iFont: ATSFontRef; iOptions: ATSOptionFlags;
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCreateWithQuickdrawInstance()" }
 function ATSFontFamilyFindFromQuickDrawName( const (*var*) iName: Str255 ): ATSFontFamilyRef; external name '_ATSFontFamilyFindFromQuickDrawName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontFamilyGetQuickDrawName()
@@ -1049,8 +1063,9 @@ function ATSFontFamilyFindFromQuickDrawName( const (*var*) iName: Str255 ): ATSF
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "QuickDraw is deprecated" }
 function ATSFontFamilyGetQuickDrawName( iFamily: ATSFontFamilyRef; var oName: Str255 ): OSStatus; external name '_ATSFontFamilyGetQuickDrawName';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {$ifc TARGET_CPU_64}
@@ -1085,6 +1100,7 @@ function ATSFontFamilyGetQuickDrawName( iFamily: ATSFontFamilyRef; var oName: St
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyAttribute() with kCTFontURLAttribute." }
 function ATSFontGetFileSpecification( iFont: ATSFontRef; var oFile: ATSFSSpec ): OSStatus; external name '_ATSFontGetFileSpecification';
 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
 
@@ -1119,8 +1135,9 @@ function ATSFontGetFileSpecification( iFont: ATSFontRef; var oFile: ATSFSSpec ):
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontCopyAttribute() with kCTFontURLAttribute." }
 function ATSFontGetFileReference( iFont: ATSFontRef; var oFile: FSRef ): OSStatus; external name '_ATSFontGetFileReference';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 {
@@ -1134,9 +1151,9 @@ function ATSFontGetFileReference( iFont: ATSFontRef; var oFile: FSRef ): OSStatu
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  *    Non-Carbon CFM:   not available
  }
+{ "QuickDraw is deprecated" }
 function ATSFontGetFontFamilyResource( iFont: ATSFontRef; iBufferSize: ByteCount; ioBuffer: UnivPtr; oSize: ByteCountPtr { can be NULL } ): OSStatus; external name '_ATSFontGetFontFamilyResource';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 { ----------------------------------------------------------------------------------------- }
 { Notification                                                                              }
@@ -1168,9 +1185,9 @@ function ATSFontGetFontFamilyResource( iFont: ATSFontRef; iBufferSize: ByteCount
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Register for kCTFontManagerRegisteredFontsChangedNotification notifications" }
 function ATSFontNotify( action: ATSFontNotifyAction; info: UnivPtr { can be NULL } ): OSStatus; external name '_ATSFontNotify';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontNotificationSubscribe()
@@ -1210,9 +1227,9 @@ function ATSFontNotify( action: ATSFontNotifyAction; info: UnivPtr { can be NULL
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Register for kCTFontManagerRegisteredFontsChangedNotification notifications" }
 function ATSFontNotificationSubscribe( callback: ATSNotificationCallback; options: ATSFontNotifyOption; iRefcon: UnivPtr { can be NULL }; oNotificationRef: ATSFontNotificationRefPtr { can be NULL } ): OSStatus; external name '_ATSFontNotificationSubscribe';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontNotificationUnsubscribe()
@@ -1241,9 +1258,9 @@ function ATSFontNotificationSubscribe( callback: ATSNotificationCallback; option
  *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  *    Non-Carbon CFM:   not available
  }
+{ "Unregister for kCTFontManagerRegisteredFontsChangedNotification notifications" }
 function ATSFontNotificationUnsubscribe( notificationRef: ATSFontNotificationRef ): OSStatus; external name '_ATSFontNotificationUnsubscribe';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 { ----------------------------------------------------------------------------------------- }
 { Font query message hooks                                                                  }
@@ -1364,8 +1381,9 @@ type
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerCreateFontRequestRunLoopSource()" }
 function ATSCreateFontQueryRunLoopSource( queryOrder: CFIndex; sourceOrder: CFIndex; callout: ATSFontQueryCallback; {const} context: ATSFontQuerySourceContextPtr { can be NULL } ): CFRunLoopSourceRef; external name '_ATSCreateFontQueryRunLoopSource';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 
 { ----------------------------------------------------------------------------------------- }
@@ -1544,9 +1562,9 @@ type
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerSetAutoActivationSetting() with kCTFontManagerBundleIdentifier" }
 function ATSFontSetGlobalAutoActivationSetting( iSetting: ATSFontAutoActivationSetting ): OSStatus; external name '_ATSFontSetGlobalAutoActivationSetting';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetGlobalAutoActivationSetting()
@@ -1566,9 +1584,9 @@ function ATSFontSetGlobalAutoActivationSetting( iSetting: ATSFontAutoActivationS
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerGetAutoActivationSetting() with kCTFontManagerBundleIdentifier" }
 function ATSFontGetGlobalAutoActivationSetting: ATSFontAutoActivationSetting; external name '_ATSFontGetGlobalAutoActivationSetting';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontSetAutoActivationSettingForApplication()
@@ -1607,9 +1625,9 @@ function ATSFontGetGlobalAutoActivationSetting: ATSFontAutoActivationSetting; ex
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerSetAutoActivationSetting()" }
 function ATSFontSetAutoActivationSettingForApplication( iSetting: ATSFontAutoActivationSetting; iApplicationFileURL: CFURLRef ): OSStatus; external name '_ATSFontSetAutoActivationSettingForApplication';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
-
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {
  *  ATSFontGetAutoActivationSettingForApplication()
@@ -1642,8 +1660,9 @@ function ATSFontSetAutoActivationSettingForApplication( iSetting: ATSFontAutoAct
  *    CarbonLib:        not available
  *    Non-Carbon CFM:   not available
  }
+{ "Use CTFontManagerGetAutoActivationSetting()" }
 function ATSFontGetAutoActivationSettingForApplication( iApplicationFileURL: CFURLRef ): ATSFontAutoActivationSetting; external name '_ATSFontGetAutoActivationSettingForApplication';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 *)
 
 {$endc} {TARGET_OS_MAC}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}

+ 15 - 17
packages/univint/src/ATSLayoutTypes.pas

@@ -3,26 +3,19 @@
  
      Contains:   Apple Type Services layout public structures and constants.
  
-     Copyright:  © 1994-2008 by Apple Inc., all rights reserved.
+     Version:    ATS
  
-     Warning:    *** APPLE INTERNAL USE ONLY ***
-                 This file may contain unreleased API's
+     Copyright:  © 1994-2012 by Apple Inc., all rights reserved.
  
-     BuildInfo:  Built by:            root
-                 On:                  Fri Jul 24 22:21:51 2009
-                 With Interfacer:     3.0d46   (Mac OS X for PowerPC)
-                 From:                ATSLayoutTypes.i
-                     Revision:        1.5
-                     Dated:           2007/01/15 23:28:25
-                     Last change by:  kurita
-                     Last comment:    <rdar://problem/4916090> updated copyright.
+     Bugs?:      For bug reports, consult the following page on
+                 the World Wide Web:
  
-     Bugs:       Report bugs to Radar component "System Interfaces", "Latest"
-                 List the version information (from above) in the Problem Description.
+                     http://www.freepascal.org/bugs.html
  
 }
 
 { Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{ Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -99,6 +92,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -108,6 +102,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +118,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -142,6 +139,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -191,7 +189,7 @@ uses MacTypes,SFNTLayoutTypes,ATSTypes;
 
 {$ifc TARGET_OS_MAC}
 
-{$ALIGN POWER}
+{$ALIGN MAC68K}
 
 
 { --------------------------------------------------------------------------- }
@@ -759,7 +757,7 @@ type
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewATSUDirectLayoutOperationOverrideUPP( userRoutine: ATSUDirectLayoutOperationOverrideProcPtr ): ATSUDirectLayoutOperationOverrideUPP; external name '_NewATSUDirectLayoutOperationOverrideUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  DisposeATSUDirectLayoutOperationOverrideUPP()
@@ -770,7 +768,7 @@ function NewATSUDirectLayoutOperationOverrideUPP( userRoutine: ATSUDirectLayoutO
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeATSUDirectLayoutOperationOverrideUPP( userUPP: ATSUDirectLayoutOperationOverrideUPP ); external name '_DisposeATSUDirectLayoutOperationOverrideUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  InvokeATSUDirectLayoutOperationOverrideUPP()
@@ -781,7 +779,7 @@ procedure DisposeATSUDirectLayoutOperationOverrideUPP( userUPP: ATSUDirectLayout
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeATSUDirectLayoutOperationOverrideUPP( iCurrentOperation: ATSULayoutOperationSelector; iLineRef: ATSULineRef; iRefCon: URefCon; iOperationCallbackParameterPtr: UnivPtr; var oCallbackStatus: ATSULayoutOperationCallbackStatus; userUPP: ATSUDirectLayoutOperationOverrideUPP ): OSStatus; external name '_InvokeATSUDirectLayoutOperationOverrideUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
 #if __MACH__

+ 18 - 20
packages/univint/src/ATSTypes.pas

@@ -3,26 +3,19 @@
  
      Contains:   Public interfaces for Apple Type Services components.
  
-     Copyright:  © 1997-2008 by Apple Inc., all rights reserved.
+     Version:    ATS
  
-     Warning:    *** APPLE INTERNAL USE ONLY ***
-                 This file may contain unreleased API's
+     Copyright:  Copyright 1997-2012 by Apple Inc., all rights reserved.
  
-     BuildInfo:  Built by:            root
-                 On:                  Fri Jul 24 22:21:51 2009
-                 With Interfacer:     3.0d46   (Mac OS X for PowerPC)
-                 From:                ATSTypes.i
-                     Revision:        1.14
-                     Dated:           2007/04/24 03:44:18
-                     Last change by:  juliog
-                     Last comment:    <rdar://problem/5152407> File based filter for 64bit causes binary
+     Bugs?:      For bug reports, consult the following page on
+                 the World Wide Web:
  
-     Bugs:       Report bugs to Radar component "System Interfaces", "Latest"
-                 List the version information (from above) in the Problem Description.
+                     http://www.freepascal.org/bugs.html
  
 }
 
-{ Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -99,6 +92,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -108,6 +102,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +118,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -142,6 +139,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -315,7 +313,7 @@ type
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewFMFontFamilyCallbackFilterUPP( userRoutine: FMFontFamilyCallbackFilterProcPtr ): FMFontFamilyCallbackFilterUPP; external name '_NewFMFontFamilyCallbackFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  NewFMFontCallbackFilterUPP()
@@ -326,7 +324,7 @@ function NewFMFontFamilyCallbackFilterUPP( userRoutine: FMFontFamilyCallbackFilt
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewFMFontCallbackFilterUPP( userRoutine: FMFontCallbackFilterProcPtr ): FMFontCallbackFilterUPP; external name '_NewFMFontCallbackFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  DisposeFMFontFamilyCallbackFilterUPP()
@@ -337,7 +335,7 @@ function NewFMFontCallbackFilterUPP( userRoutine: FMFontCallbackFilterProcPtr ):
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeFMFontFamilyCallbackFilterUPP( userUPP: FMFontFamilyCallbackFilterUPP ); external name '_DisposeFMFontFamilyCallbackFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  DisposeFMFontCallbackFilterUPP()
@@ -348,7 +346,7 @@ procedure DisposeFMFontFamilyCallbackFilterUPP( userUPP: FMFontFamilyCallbackFil
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeFMFontCallbackFilterUPP( userUPP: FMFontCallbackFilterUPP ); external name '_DisposeFMFontCallbackFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  InvokeFMFontFamilyCallbackFilterUPP()
@@ -359,7 +357,7 @@ procedure DisposeFMFontCallbackFilterUPP( userUPP: FMFontCallbackFilterUPP ); ex
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeFMFontFamilyCallbackFilterUPP( iFontFamily: FMFontFamily; iRefCon: UnivPtr; userUPP: FMFontFamilyCallbackFilterUPP ): OSStatus; external name '_InvokeFMFontFamilyCallbackFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 
 {
  *  InvokeFMFontCallbackFilterUPP()
@@ -370,7 +368,7 @@ function InvokeFMFontFamilyCallbackFilterUPP( iFontFamily: FMFontFamily; iRefCon
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeFMFontCallbackFilterUPP( iFont: FMFont; iRefCon: UnivPtr; userUPP: FMFontCallbackFilterUPP ): OSStatus; external name '_InvokeFMFontCallbackFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 *)
 {
 #if __MACH__
     #define NewFMFontFamilyCallbackFilterUPP(userRoutine)       ((FMFontFamilyCallbackFilterUPP)userRoutine)

+ 11 - 4
packages/univint/src/ATSUnicodeDirectAccess.pas

@@ -3,7 +3,7 @@
  
      Contains:   Public Interfaces/Types for Low Level ATSUI
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2002-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -303,7 +309,8 @@ const
  *    ATSUStyle plus any cached/set information about that style.
  }
 type
-	ATSUStyleSettingRef = ^SInt32; { an opaque type }
+	ATSUStyleSettingRef = ^LLCStyleInfo; { an opaque type }
+	LLCStyleInfo = record end;
 { ---------------------------------------------------------------------------- }
 { Direct Accessors                                                             }
 { ---------------------------------------------------------------------------- }

+ 9 - 3
packages/univint/src/ATSUnicodeDrawing.pas

@@ -3,7 +3,7 @@
  
      Contains:   ATSUI drawing, measuring, and highlighting functions.
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2003-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 9 - 3
packages/univint/src/ATSUnicodeFlattening.pas

@@ -3,7 +3,7 @@
  
      Contains:   Public interfaces for Apple Type Services for Unicode Imaging
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2002-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 9 - 3
packages/univint/src/ATSUnicodeFonts.pas

@@ -3,7 +3,7 @@
  
      Contains:   ATSUI font handling functions.
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2003-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 10 - 3
packages/univint/src/ATSUnicodeGlyphs.pas

@@ -3,7 +3,7 @@
  
      Contains:   ATSUI glyph handling functions.
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2003-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -184,6 +190,7 @@ uses MacTypes,ATSUnicodeTypes,TextCommon,ATSTypes;
 
 {$ALIGN POWER}
 
+
 { ---------------------------------------------------------------------------- }
 { ATSUI glyph metrics                                                          }
 { ---------------------------------------------------------------------------- }

+ 9 - 3
packages/univint/src/ATSUnicodeObjects.pas

@@ -3,7 +3,7 @@
  
      Contains:   ATSUI object manipulation functions.
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2003-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 14 - 5
packages/univint/src/ATSUnicodeTypes.pas

@@ -3,7 +3,7 @@
  
      Contains:   ATSUI types and constants.
  
-     Version:    Quickdraw-262~1
+     Version:    Quickdraw-285~150
  
      Copyright:  © 2003-2008 by Apple Inc. all rights reserved.
  
@@ -13,8 +13,9 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -206,7 +212,8 @@ uses MacTypes,MacMemory,ATSLayoutTypes,Fonts,QuickdrawTypes,SFNTTypes,SFNTLayout
  *    creating layouts.
  }
 type
-	ATSUTextLayout = ^SInt32; { an opaque type }
+	ATSUTextLayout = ^OpaqueATSUTextLayout; { an opaque type }
+	OpaqueATSUTextLayout = record end;
 
 {
  *  ATSUStyle
@@ -222,7 +229,8 @@ type
  *    manipulating styles.
  }
 type
-	ATSUStyle = ^SInt32; { an opaque type }
+	ATSUStyle = ^OpaqueATSUStyle; { an opaque type }
+	OpaqueATSUStyle = record end;
 	ATSUStylePtr = ^ATSUStyle;
 
 {
@@ -235,7 +243,8 @@ type
  *    for more information about setting up font fallbacks.
  }
 type
-	ATSUFontFallbacks = ^SInt32; { an opaque type }
+	ATSUFontFallbacks = ^OpaqueATSUFontFallbacks; { an opaque type }
+	OpaqueATSUFontFallbacks = record end;
 
 {
  *  ATSUTextMeasurement

File diff suppressed because it is too large
+ 326 - 207
packages/univint/src/AUComponent.pas


+ 29 - 30
packages/univint/src/AVLTree.pas

@@ -2,18 +2,12 @@
      File:       CarbonCore/AVLTree.h
  
      Contains:   Interfaces for AVL balanced trees.
+                 The contents of this header file are deprecated.
  
-     Version:    CarbonCore-859.2~1
- 
-     Copyright:  © 1999-2008 by Apple Computer, Inc., all rights reserved.
- 
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
- 
-                     http://www.freepascal.org/bugs.html
- 
+     Copyright:  © 1999-2011 by Apple Inc. All rights reserved.
 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +83,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +93,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +109,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +119,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +130,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -428,7 +427,7 @@ type
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAVLCompareItemsUPP( userRoutine: AVLCompareItemsProcPtr ): AVLCompareItemsUPP; external name '_NewAVLCompareItemsUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  NewAVLItemSizeUPP()
@@ -439,7 +438,7 @@ function NewAVLCompareItemsUPP( userRoutine: AVLCompareItemsProcPtr ): AVLCompar
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAVLItemSizeUPP( userRoutine: AVLItemSizeProcPtr ): AVLItemSizeUPP; external name '_NewAVLItemSizeUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  NewAVLDisposeItemUPP()
@@ -450,7 +449,7 @@ function NewAVLItemSizeUPP( userRoutine: AVLItemSizeProcPtr ): AVLItemSizeUPP; e
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAVLDisposeItemUPP( userRoutine: AVLDisposeItemProcPtr ): AVLDisposeItemUPP; external name '_NewAVLDisposeItemUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  NewAVLWalkUPP()
@@ -461,7 +460,7 @@ function NewAVLDisposeItemUPP( userRoutine: AVLDisposeItemProcPtr ): AVLDisposeI
  *    Non-Carbon CFM:   available as macro/inline
  }
 function NewAVLWalkUPP( userRoutine: AVLWalkProcPtr ): AVLWalkUPP; external name '_NewAVLWalkUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  DisposeAVLCompareItemsUPP()
@@ -472,7 +471,7 @@ function NewAVLWalkUPP( userRoutine: AVLWalkProcPtr ): AVLWalkUPP; external name
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAVLCompareItemsUPP( userUPP: AVLCompareItemsUPP ); external name '_DisposeAVLCompareItemsUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  DisposeAVLItemSizeUPP()
@@ -483,7 +482,7 @@ procedure DisposeAVLCompareItemsUPP( userUPP: AVLCompareItemsUPP ); external nam
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAVLItemSizeUPP( userUPP: AVLItemSizeUPP ); external name '_DisposeAVLItemSizeUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  DisposeAVLDisposeItemUPP()
@@ -494,7 +493,7 @@ procedure DisposeAVLItemSizeUPP( userUPP: AVLItemSizeUPP ); external name '_Disp
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAVLDisposeItemUPP( userUPP: AVLDisposeItemUPP ); external name '_DisposeAVLDisposeItemUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  DisposeAVLWalkUPP()
@@ -505,7 +504,7 @@ procedure DisposeAVLDisposeItemUPP( userUPP: AVLDisposeItemUPP ); external name
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAVLWalkUPP( userUPP: AVLWalkUPP ); external name '_DisposeAVLWalkUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  InvokeAVLCompareItemsUPP()
@@ -516,7 +515,7 @@ procedure DisposeAVLWalkUPP( userUPP: AVLWalkUPP ); external name '_DisposeAVLWa
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeAVLCompareItemsUPP( tree: AVLTreePtr; i1: {const} UnivPtr; i2: {const} UnivPtr; nd_typ: AVLNodeType; userUPP: AVLCompareItemsUPP ): SInt32; external name '_InvokeAVLCompareItemsUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  InvokeAVLItemSizeUPP()
@@ -527,7 +526,7 @@ function InvokeAVLCompareItemsUPP( tree: AVLTreePtr; i1: {const} UnivPtr; i2: {c
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeAVLItemSizeUPP( tree: AVLTreePtr; itemPtr: {const} UnivPtr; userUPP: AVLItemSizeUPP ): ByteCount; external name '_InvokeAVLItemSizeUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  InvokeAVLDisposeItemUPP()
@@ -538,7 +537,7 @@ function InvokeAVLItemSizeUPP( tree: AVLTreePtr; itemPtr: {const} UnivPtr; userU
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure InvokeAVLDisposeItemUPP( tree: AVLTreePtr; dataP: {const} UnivPtr; userUPP: AVLDisposeItemUPP ); external name '_InvokeAVLDisposeItemUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  InvokeAVLWalkUPP()
@@ -549,7 +548,7 @@ procedure InvokeAVLDisposeItemUPP( tree: AVLTreePtr; dataP: {const} UnivPtr; use
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeAVLWalkUPP( tree: AVLTreePtr; dataPtr: {const} UnivPtr; visitStage: AVLVisitStage; node: AVLNodeType; level: UInt32; balance: SInt32; refCon: UnivPtr; userUPP: AVLWalkUPP ): OSErr; external name '_InvokeAVLWalkUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 {$ifc not TARGET_CPU_64}
 {
@@ -608,7 +607,7 @@ function InvokeAVLWalkUPP( tree: AVLTreePtr; dataPtr: {const} UnivPtr; visitStag
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLInit( flags: UInt32; compareItemsProc: AVLCompareItemsUPP; sizeItemProc: AVLItemSizeUPP; disposeItemProc: AVLDisposeItemUPP; refCon: UnivPtr; var tree: AVLTreePtr ): OSErr; external name '_AVLInit';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -642,7 +641,7 @@ function AVLInit( flags: UInt32; compareItemsProc: AVLCompareItemsUPP; sizeItemP
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLDispose( var tree: AVLTreePtr; order: AVLOrder ): OSErr; external name '_AVLDispose';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -708,7 +707,7 @@ function AVLDispose( var tree: AVLTreePtr; order: AVLOrder ): OSErr; external na
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLWalk( tree: AVLTreePtr; walkProc: AVLWalkUPP; order: AVLOrder; walkRefCon: UnivPtr ): OSErr; external name '_AVLWalk';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -740,7 +739,7 @@ function AVLWalk( tree: AVLTreePtr; walkProc: AVLWalkUPP; order: AVLOrder; walkR
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLCount( tree: AVLTreePtr; var count: UInt32 ): OSErr; external name '_AVLCount';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -788,7 +787,7 @@ function AVLCount( tree: AVLTreePtr; var count: UInt32 ): OSErr; external name '
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLGetIndItem( tree: AVLTreePtr; index: UInt32; dataPtr: UnivPtr; var itemSize: ByteCount ): OSErr; external name '_AVLGetIndItem';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -826,7 +825,7 @@ function AVLGetIndItem( tree: AVLTreePtr; index: UInt32; dataPtr: UnivPtr; var i
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLInsert( tree: AVLTreePtr; data: {const} UnivPtr ): OSErr; external name '_AVLInsert';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -876,7 +875,7 @@ function AVLInsert( tree: AVLTreePtr; data: {const} UnivPtr ): OSErr; external n
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLRemove( tree: AVLTreePtr; key: {const} UnivPtr; dataPtr: UnivPtr; var itemSize: ByteCount ): OSErr; external name '_AVLRemove';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -924,7 +923,7 @@ function AVLRemove( tree: AVLTreePtr; key: {const} UnivPtr; dataPtr: UnivPtr; va
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLFind( tree: AVLTreePtr; key: {const} UnivPtr; dataPtr: UnivPtr; var itemSize: ByteCount ): OSErr; external name '_AVLFind';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -956,7 +955,7 @@ function AVLFind( tree: AVLTreePtr; key: {const} UnivPtr; dataPtr: UnivPtr; var
  *    Non-Carbon CFM:   in InterfaceLib 9.0 and later
  }
 function AVLGetRefcon( tree: AVLTreePtr; var refCon: UnivPtr ): OSErr; external name '_AVLGetRefcon';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {$endc} {not TARGET_CPU_64}

+ 7 - 1
packages/univint/src/AXActionConstants.pas

@@ -7,8 +7,9 @@
  *
  }
 
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 (no changes in 10.6) }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -85,6 +86,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -94,6 +96,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -109,6 +112,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -118,6 +122,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -128,6 +133,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 35 - 5
packages/univint/src/AXAttributeConstants.pas

@@ -7,8 +7,9 @@
  *
  }
 
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -85,6 +86,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -94,6 +96,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -109,6 +112,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -118,6 +122,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -128,6 +133,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -259,7 +265,8 @@ uses MacTypes;
 	kAXMainWindowAttribute
 	kAXFocusedWindowAttribute
 	kAXFocusedUIElementAttribute
-	
+	kAXExtrasMenuBarAttribute
+ 
 	// date/time-specific attributes
 	kAXHourFieldAttribute
 	kAXMinuteFieldAttribute
@@ -827,10 +834,9 @@ uses MacTypes;
 {$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXDescriptionAttribute CFSTRP('AXDescription')}
 {$endc}
-// old name
 {$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXDescription CFSTRP('AXDescription')}
-{$endc}
+{$endc} // old name
 
 
 {
@@ -1051,6 +1057,23 @@ uses MacTypes;
 {$endc}
 
 
+{
+ kAXFullScreenButtonAttribute
+ 
+ A convenience attribute so assistive apps can quickly access a window's full screen
+ button element.
+ 
+ Value: An AXUIElementRef of the window's full screen button element.
+ 
+ Writable? No.
+ 
+ Required for all window elements that have a full screen button.
+ }
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kAXFullScreenButtonAttribute CFSTRP('AXFullScreenButton')}
+{$endc}
+
+
 {
 	kAXProxyAttribute
 	
@@ -1175,9 +1198,11 @@ uses MacTypes;
 {$endc}
 {$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXFocusedUIElementAttribute CFSTRP('AXFocusedUIElement')}
+{$endc} 
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kAXExtrasMenuBarAttribute CFSTRP('AXExtrasMenuBar')}
 {$endc}
 
-
 {
 	kAXHeaderAttribute
 	
@@ -1614,6 +1639,11 @@ uses MacTypes;
 {$definec kAXColumnTitlesAttribute CFSTRP('AXColumnTitles')}
 {$endc}
 
+// UI element identification attributes
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kAXIdentifierAttribute CFSTRP('AXIdentifier')}
+{$endc}
+
 
 {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
 { Parameterized Attributes                                                             }

+ 6 - 0
packages/univint/src/AXConstants.pas

@@ -1,4 +1,5 @@
 {       Pascal Translation:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -74,6 +75,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -83,6 +85,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -98,6 +101,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -107,6 +111,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +122,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 9 - 4
packages/univint/src/AXErrors.pas

@@ -4,9 +4,10 @@
  *  Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  *
  }
-{	  Unit name changed to AXErrors to avoid conflict with AXError type }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Unit name changed to AXErrors to avoid conflict with AXError type }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 
 {
@@ -84,6 +85,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -93,6 +95,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -108,6 +111,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +121,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -127,6 +132,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -176,7 +182,6 @@ uses MacTypes;
 
 {$ifc TARGET_OS_MAC}
 
-{$ALIGN MAC68K}
 const
 	kAXErrorSuccess = 0;
 	kAXErrorFailure = -25200;

+ 10 - 4
packages/univint/src/AXNotificationConstants.pas

@@ -7,8 +7,9 @@
  *
  }
 
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
-{	 Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -85,6 +86,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -94,6 +96,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -109,6 +112,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -118,6 +122,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -128,6 +133,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -273,7 +279,7 @@ uses MacTypes;
 // layout area notifications
 {$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXUnitsChangedNotification CFSTRP('AXUnitsChanged')}
-{$endc}
+{$endc}  
 {$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXSelectedChildrenMovedNotification CFSTRP('AXSelectedChildrenMoved')}
 {$endc}
@@ -301,7 +307,7 @@ uses MacTypes;
 {$definec kAXSelectedTextChangedNotification CFSTRP('AXSelectedTextChanged')}
 {$endc}
 {$ifc USE_CFSTR_CONSTANT_MACROS}
-{$definec kAXTitleChangedNotification CFSTRP('AXTitleChangedNotification')}
+{$definec kAXTitleChangedNotification CFSTRP('AXTitleChanged')}
 {$endc}
 
 {$endc} {TARGET_OS_MAC}

+ 16 - 1
packages/univint/src/AXRoleConstants.pas

@@ -7,8 +7,9 @@
  *
  }
 
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -85,6 +86,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -94,6 +96,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -109,6 +112,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -118,6 +122,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -128,6 +133,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -493,6 +499,9 @@ uses MacTypes;
 {$definec kAXHandleRole CFSTRP('AXHandle')}
 {$endc}
 
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kAXPopoverRole CFSTRP('AXPopover')}
+{$endc}
 
 {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
 { Subroles                                                                                }
@@ -512,6 +521,9 @@ uses MacTypes;
 {$definec kAXToolbarButtonSubrole CFSTRP('AXToolbarButton')}
 {$endc}
 {$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kAXFullScreenButtonSubrole CFSTRP('AXFullScreenButton')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXSecureTextFieldSubrole CFSTRP('AXSecureTextField')}
 {$endc}
 {$ifc USE_CFSTR_CONSTANT_MACROS}
@@ -594,6 +606,9 @@ uses MacTypes;
 {$definec kAXTrashDockItemSubrole CFSTRP('AXTrashDockItem')}
 {$endc}
 {$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kAXSeparatorDockItemSubrole CFSTRP('AXSeparatorDockItem')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
 {$definec kAXProcessSwitcherListSubrole CFSTRP('AXProcessSwitcherList')}
 {$endc}
 

+ 10 - 1
packages/univint/src/AXTextAttributedString.pas

@@ -5,8 +5,9 @@
  *
  }
 
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -83,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -92,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -107,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -116,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -126,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -209,6 +215,9 @@ var kAXReplacementStringTextAttribute: CFStringRef; external name '_kAXReplaceme
 var kAXMisspelledTextAttribute: CFStringRef; external name '_kAXMisspelledTextAttribute'; (* attribute const *)
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)	// AXUIElementRef
 
+var kAXAutocorrectedTextAttribute: CFStringRef; external name '_kAXAutocorrectedTextAttribute'; (* attribute const *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *)	// CFBooleanRef
+
 // kAXFontTextAttribute keys
 var kAXFontNameKey: CFStringRef; external name '_kAXFontNameKey'; (* attribute const *)
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)	// CFStringRef - required

+ 15 - 6
packages/univint/src/AXUIElement.pas

@@ -4,9 +4,10 @@
  *  Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  *
  }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2006 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -83,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -92,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -107,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -116,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -126,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -175,7 +181,8 @@ uses MacTypes,CFBase,CFArray,AXErrors,CFRunLoop,CGRemoteOperation,MacOSXPosix;
 
 {$ifc TARGET_OS_MAC}
 
-{$ALIGN MAC68K}
+{$ALIGN POWER}
+
 
 function AXAPIEnabled: Boolean; external name '_AXAPIEnabled';
 function AXIsProcessTrusted: Boolean; external name '_AXIsProcessTrusted';
@@ -185,7 +192,8 @@ function AXMakeProcessTrusted( executablePath: CFStringRef ): AXError; external
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
 type
-	AXUIElementRef = ^SInt32; { an opaque type }
+	AXUIElementRef = ^__AXUIElement; { an opaque type }
+	__AXUIElement = record end;
 
 const
 	kAXCopyMultipleAttributeOptionStopOnError = $1;
@@ -234,7 +242,8 @@ function AXUIElementPostKeyboardEvent( application: AXUIElementRef; keyChar: CGC
 
 // Notification APIs
 type
-	AXObserverRef = ^SInt32; { an opaque type }
+	AXObserverRef = ^__AXObserver; { an opaque type }
+	__AXObserver = record end;
 
 type
 	AXObserverCallback = procedure( observer: AXObserverRef; element: AXUIElementRef; notification: CFStringRef; refcon: UnivPtr );

+ 11 - 5
packages/univint/src/AXValue.pas

@@ -5,9 +5,10 @@
  *  Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  *
  }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2006 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2006 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -84,6 +85,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -93,6 +95,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -108,6 +111,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -117,6 +121,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -127,6 +132,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -176,7 +182,6 @@ uses MacTypes,CFBase;
 
 {$ifc TARGET_OS_MAC}
 
-{$ALIGN MAC68K}
 type AXValueType = UInt32;
 const
     { Types from CoreGraphics.h }
@@ -194,7 +199,8 @@ const
     kAXValueIllegalType = 0;
 
 type
-	AXValueRef = ^SInt32; { an opaque type }
+	AXValueRef = ^__AXValue; { an opaque type }
+	__AXValue = record end;
 
 function AXValueGetTypeID: CFTypeID; external name '_AXValueGetTypeID';
 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)

+ 6 - 0
packages/univint/src/AXValueConstants.pas

@@ -9,6 +9,7 @@
 
 {	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2006 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 (no changes in 10.6) }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -85,6 +86,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -94,6 +96,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -109,6 +112,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -118,6 +122,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -128,6 +133,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 6 - 0
packages/univint/src/Accessibility.pas

@@ -5,6 +5,7 @@
  *
  }
 {       Pascal Translation:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 49 - 49
packages/univint/src/Aliases.pas

@@ -2,18 +2,13 @@
      File:       CarbonCore/Aliases.h
  
      Contains:   Alias Manager Interfaces.
+                 The contents of this header file are deprecated.
+                 Use Foundation or CoreFoundation URL Bookmarks instead.
  
-     Version:    CarbonCore-859.2~1
- 
-     Copyright:  © 1989-2008 by Apple Computer, Inc., all rights reserved
- 
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
- 
-                     http://www.freepascal.org/bugs.html
- 
+     Copyright:  © 1989-2011 by Apple Inc. All rights reserved.
 }
 {	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +84,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +94,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +110,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +120,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +131,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -271,8 +271,7 @@ type
  }
 { old name was NewAliasFilterProc }
 function NewAliasFilterUPP( userRoutine: AliasFilterProcPtr ): AliasFilterUPP; external name '_NewAliasFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
-
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 {
  *  DisposeAliasFilterUPP()
  *  
@@ -282,7 +281,7 @@ function NewAliasFilterUPP( userRoutine: AliasFilterProcPtr ): AliasFilterUPP; e
  *    Non-Carbon CFM:   available as macro/inline
  }
 procedure DisposeAliasFilterUPP( userUPP: AliasFilterUPP ); external name '_DisposeAliasFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 {
  *  InvokeAliasFilterUPP()
@@ -293,7 +292,7 @@ procedure DisposeAliasFilterUPP( userUPP: AliasFilterUPP ); external name '_Disp
  *    Non-Carbon CFM:   available as macro/inline
  }
 function InvokeAliasFilterUPP( cpbPtr: CInfoPBPtr; var quitFlag: Boolean; myDataPtr: Ptr; userUPP: AliasFilterUPP ): Boolean; external name '_InvokeAliasFilterUPP';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 {#if __MACH__
     #define NewAliasFilterUPP(userRoutine)                      ((AliasFilterUPP)userRoutine)
@@ -319,7 +318,7 @@ type
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSNewAlias( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) target: FSRef; var inAlias: AliasHandle ): OSErr; external name '_FSNewAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -334,7 +333,7 @@ function FSNewAlias( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) t
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSNewAliasMinimal( const (*var*) target: FSRef; var inAlias: AliasHandle ): OSErr; external name '_FSNewAliasMinimal';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -349,7 +348,7 @@ function FSNewAliasMinimal( const (*var*) target: FSRef; var inAlias: AliasHandl
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSIsAliasFile( const (*var*) fileRef: FSRef; var aliasFileFlag: Boolean; var folderFlag: Boolean ): OSErr; external name '_FSIsAliasFile';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -364,7 +363,7 @@ function FSIsAliasFile( const (*var*) fileRef: FSRef; var aliasFileFlag: Boolean
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSResolveAliasWithMountFlags( {const} fromFile: FSRefPtr { can be NULL }; inAlias: AliasHandle; var target: FSRef; var wasChanged: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_FSResolveAliasWithMountFlags';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -379,7 +378,7 @@ function FSResolveAliasWithMountFlags( {const} fromFile: FSRefPtr { can be NULL
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSResolveAlias( {const} fromFile: FSRefPtr { can be NULL }; alias: AliasHandle; var target: FSRef; var wasChanged: Boolean ): OSErr; external name '_FSResolveAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -394,7 +393,7 @@ function FSResolveAlias( {const} fromFile: FSRefPtr { can be NULL }; alias: Alia
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSResolveAliasFileWithMountFlags( var theRef: FSRef; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_FSResolveAliasFileWithMountFlags';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -409,7 +408,7 @@ function FSResolveAliasFileWithMountFlags( var theRef: FSRef; resolveAliasChains
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSResolveAliasFile( var theRef: FSRef; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean ): OSErr; external name '_FSResolveAliasFile';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -424,7 +423,7 @@ function FSResolveAliasFile( var theRef: FSRef; resolveAliasChains: Boolean; var
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSFollowFinderAlias( fromFile: FSRefPtr { can be NULL }; alias: AliasHandle; logon: Boolean; var target: FSRef; var wasChanged: Boolean ): OSErr; external name '_FSFollowFinderAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -439,7 +438,7 @@ function FSFollowFinderAlias( fromFile: FSRefPtr { can be NULL }; alias: AliasHa
  *    Non-Carbon CFM:   in InterfaceLib 9.1 and later
  }
 function FSUpdateAlias( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) target: FSRef; alias: AliasHandle; var wasChanged: Boolean ): OSErr; external name '_FSUpdateAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -483,7 +482,7 @@ function FSUpdateAlias( {const} fromFile: FSRefPtr { can be NULL }; const (*var*
  *    Non-Carbon CFM:   not available
  }
 function FSNewAliasUnicode( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) targetParentRef: FSRef; targetNameLength: UniCharCount; targetName: ConstUniCharPtr; var inAlias: AliasHandle; isDirectory: BooleanPtr { can be NULL } ): OSErr; external name '_FSNewAliasUnicode';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -523,7 +522,7 @@ function FSNewAliasUnicode( {const} fromFile: FSRefPtr { can be NULL }; const (*
  *    Non-Carbon CFM:   not available
  }
 function FSNewAliasMinimalUnicode( const (*var*) targetParentRef: FSRef; targetNameLength: UniCharCount; targetName: ConstUniCharPtr; var inAlias: AliasHandle; isDirectory: BooleanPtr { can be NULL } ): OSErr; external name '_FSNewAliasMinimalUnicode';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -564,7 +563,7 @@ function FSNewAliasMinimalUnicode( const (*var*) targetParentRef: FSRef; targetN
  *    Non-Carbon CFM:   not available
  }
 function FSNewAliasFromPath( fromFilePath: ConstCStringPtr { can be NULL }; targetPath: ConstCStringPtr; flags: OptionBits; var inAlias: AliasHandle; isDirectory: BooleanPtr { can be NULL } ): OSStatus; external name '_FSNewAliasFromPath';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -583,7 +582,7 @@ function FSNewAliasFromPath( fromFilePath: ConstCStringPtr { can be NULL }; targ
  *    Non-Carbon CFM:   not available
  }
 function FSMatchAliasBulk( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UNSIGNEDLONG; inAlias: AliasHandle; var aliasCount: SInt16; var aliasList: FSRef; var needsUpdate: Boolean; aliasFilter: FSAliasFilterProcPtr { can be NULL }; yourDataPtr: UnivPtr { can be NULL } ): OSStatus; external name '_FSMatchAliasBulk';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -626,7 +625,7 @@ function FSMatchAliasBulk( {const} fromFile: FSRefPtr { can be NULL }; rulesMask
  *    Non-Carbon CFM:   not available
  }
 function FSCopyAliasInfo( inAlias: AliasHandle; targetName: HFSUniStr255Ptr { can be NULL }; volumeName: HFSUniStr255Ptr { can be NULL }; pathString: CFStringRefPtr { can be NULL }; whichInfo: FSAliasInfoBitmapPtr { can be NULL }; info: FSAliasInfoPtr { can be NULL } ): OSStatus; external name '_FSCopyAliasInfo';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -655,7 +654,7 @@ function FSCopyAliasInfo( inAlias: AliasHandle; targetName: HFSUniStr255Ptr { ca
  *    Non-Carbon CFM:   not available
  }
 function GetAliasSize( alias: AliasHandle ): Size; external name '_GetAliasSize';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -682,7 +681,7 @@ function GetAliasSize( alias: AliasHandle ): Size; external name '_GetAliasSize'
  *    Non-Carbon CFM:   not available
  }
 function GetAliasUserType( alias: AliasHandle ): OSType; external name '_GetAliasUserType';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -709,7 +708,7 @@ function GetAliasUserType( alias: AliasHandle ): OSType; external name '_GetAlia
  *    Non-Carbon CFM:   not available
  }
 procedure SetAliasUserType( alias: AliasHandle; userType: OSType ); external name '_SetAliasUserType';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -736,7 +735,7 @@ procedure SetAliasUserType( alias: AliasHandle; userType: OSType ); external nam
  *    Non-Carbon CFM:   not available
  }
 function GetAliasSizeFromPtr( const (*var*) alias: AliasRecord ): Size; external name '_GetAliasSizeFromPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -763,7 +762,7 @@ function GetAliasSizeFromPtr( const (*var*) alias: AliasRecord ): Size; external
  *    Non-Carbon CFM:   not available
  }
 function GetAliasUserTypeFromPtr( const (*var*) alias: AliasRecord ): OSType; external name '_GetAliasUserTypeFromPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -790,7 +789,7 @@ function GetAliasUserTypeFromPtr( const (*var*) alias: AliasRecord ): OSType; ex
  *    Non-Carbon CFM:   not available
  }
 procedure SetAliasUserTypeWithPtr( alias: AliasPtr; userType: OSType ); external name '_SetAliasUserTypeWithPtr';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
 
 
 { Functions beyond this point are deprecated}
@@ -815,7 +814,7 @@ procedure SetAliasUserTypeWithPtr( alias: AliasPtr; userType: OSType ); external
  *    Non-Carbon CFM:   not available
  }
 function FSMatchAlias( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UNSIGNEDLONG; inAlias: AliasHandle; var aliasCount: SInt16; var aliasList: FSRef; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_FSMatchAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -836,7 +835,7 @@ function FSMatchAlias( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UN
  *    Non-Carbon CFM:   not available
  }
 function FSMatchAliasNoUI( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UNSIGNEDLONG; inAlias: AliasHandle; var aliasCount: SInt16; var aliasList: FSRef; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_FSMatchAliasNoUI';
-(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -865,7 +864,7 @@ function FSMatchAliasNoUI( {const} fromFile: FSRefPtr { can be NULL }; rulesMask
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function NewAlias( {const} fromFile: FSSpecPtr { can be NULL }; const (*var*) target: FSSpec; var alias: AliasHandle ): OSErr; external name '_NewAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -895,7 +894,7 @@ function NewAlias( {const} fromFile: FSSpecPtr { can be NULL }; const (*var*) ta
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function NewAliasMinimal( const (*var*) target: FSSpec; var alias: AliasHandle ): OSErr; external name '_NewAliasMinimal';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -925,7 +924,7 @@ function NewAliasMinimal( const (*var*) target: FSSpec; var alias: AliasHandle )
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function NewAliasMinimalFromFullPath( fullPathLength: SInt16; fullPath: {const} UnivPtr; const (*var*) zoneName: Str32; const (*var*) serverName: Str31; var alias: AliasHandle ): OSErr; external name '_NewAliasMinimalFromFullPath';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -947,7 +946,7 @@ function NewAliasMinimalFromFullPath( fullPathLength: SInt16; fullPath: {const}
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function ResolveAlias( {const} fromFile: FSSpecPtr { can be NULL }; alias: AliasHandle; var target: FSSpec; var wasChanged: Boolean ): OSErr; external name '_ResolveAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -972,7 +971,7 @@ function ResolveAlias( {const} fromFile: FSSpecPtr { can be NULL }; alias: Alias
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function GetAliasInfo( alias: AliasHandle; itemIndex: AliasInfoType; var theString: Str63 ): OSErr; external name '_GetAliasInfo';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -993,7 +992,7 @@ function GetAliasInfo( alias: AliasHandle; itemIndex: AliasInfoType; var theStri
  *    Non-Carbon CFM:   in InterfaceLib 8.5 and later
  }
 function IsAliasFile( const (*var*) fileFSSpec: FSSpec; var aliasFileFlag: Boolean; var folderFlag: Boolean ): OSErr; external name '_IsAliasFile';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -1017,7 +1016,7 @@ function IsAliasFile( const (*var*) fileFSSpec: FSSpec; var aliasFileFlag: Boole
  *    Non-Carbon CFM:   in InterfaceLib 8.5 and later
  }
 function ResolveAliasWithMountFlags( {const} fromFile: FSSpecPtr { can be NULL }; alias: AliasHandle; var target: FSSpec; var wasChanged: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_ResolveAliasWithMountFlags';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -1041,7 +1040,7 @@ function ResolveAliasWithMountFlags( {const} fromFile: FSSpecPtr { can be NULL }
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function ResolveAliasFile( var theSpec: FSSpec; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean ): OSErr; external name '_ResolveAliasFile';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 { Deprecated: Use FSResolveAliasFileWithMountFlags instead}
@@ -1057,7 +1056,7 @@ function ResolveAliasFile( var theSpec: FSSpec; resolveAliasChains: Boolean; var
  *    Non-Carbon CFM:   in InterfaceLib 8.5 and later
  }
 function ResolveAliasFileWithMountFlags( var theSpec: FSSpec; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_ResolveAliasFileWithMountFlags';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 { Deprecated:  Use FSFollowFinderAlias instead}
@@ -1073,7 +1072,7 @@ function ResolveAliasFileWithMountFlags( var theSpec: FSSpec; resolveAliasChains
  *    Non-Carbon CFM:   in InterfaceLib 8.5 and later
  }
 function FollowFinderAlias( {const} fromFile: FSSpecPtr { can be NULL }; alias: AliasHandle; logon: Boolean; var target: FSSpec; var wasChanged: Boolean ): OSErr; external name '_FollowFinderAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
 
 
 { 
@@ -1099,7 +1098,7 @@ function FollowFinderAlias( {const} fromFile: FSSpecPtr { can be NULL }; alias:
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function UpdateAlias( {const} fromFile: FSSpecPtr { can be NULL }; const (*var*) target: FSSpec; alias: AliasHandle; var wasChanged: Boolean ): OSErr; external name '_UpdateAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -1121,7 +1120,7 @@ function UpdateAlias( {const} fromFile: FSSpecPtr { can be NULL }; const (*var*)
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function MatchAlias( {const} fromFile: FSSpecPtr { can be NULL }; rulesMask: UNSIGNEDLONG; alias: AliasHandle; var aliasCount: SInt16; aliasList: FSSpecArrayPtr; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_MatchAlias';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -1144,7 +1143,7 @@ function MatchAlias( {const} fromFile: FSSpecPtr { can be NULL }; rulesMask: UNS
  *    Non-Carbon CFM:   not available
  }
 function ResolveAliasFileWithMountFlagsNoUI( var theSpec: FSSpec; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_ResolveAliasFileWithMountFlagsNoUI';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
 
 
 {
@@ -1165,7 +1164,8 @@ function ResolveAliasFileWithMountFlagsNoUI( var theSpec: FSSpec; resolveAliasCh
  *    Non-Carbon CFM:   not available
  }
 function MatchAliasNoUI( {const} fromFile: FSSpecPtr { can be NULL }; rulesMask: UNSIGNEDLONG; alias: AliasHandle; var aliasCount: SInt16; aliasList: FSSpecArrayPtr; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_MatchAliasNoUI';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
+
 
 
 {$endc} {not TARGET_CPU_64}

+ 11 - 3
packages/univint/src/Appearance.pas

@@ -3,7 +3,7 @@
  
      Contains:   Appearance Manager Interfaces.
  
-     Version:    HIToolbox-437~1
+     Version:    HIToolbox-624~3
  
      Copyright:  © 1994-2008 by Apple Computer, Inc., all rights reserved
  
@@ -15,6 +15,7 @@
 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -90,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -99,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -114,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -133,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -1653,6 +1659,7 @@ const
 	kThemeWidgetZoomBox = 1;
 	kThemeWidgetCollapseBox = 2;
 	kThemeWidgetDirtyCloseBox = 6;
+	kThemeWidgetToolbarButton = 7;
 
 const
 { Old/Obsolete name to be removed}
@@ -2376,7 +2383,8 @@ type
 { Drawing State                                                                            }
 {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
 type
-	ThemeDrawingState = ^SInt32; { an opaque type }
+	ThemeDrawingState = ^OpaqueThemeDrawingState; { an opaque type }
+	OpaqueThemeDrawingState = record end;
 	ThemeDrawingStatePtr = ^ThemeDrawingState;  { when a var xx:ThemeDrawingState parameter can be nil, it is changed to xx: ThemeDrawingStatePtr }
 {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
 { Callback procs                                                                           }
@@ -3960,7 +3968,7 @@ function GetThemeTrackBounds( const (*var*) drawInfo: ThemeTrackDrawInfo; var bo
  *    On Mac OS X 10.3 and later, use HIThemeGetTrackThumbShape.
  *  
  *  Summary:
- *    Constructs a region that covers the ara of a track thumb.
+ *    Constructs a region that covers the area of a track thumb.
  *  
  *  Mac OS X threading:
  *    Not thread safe

+ 5 - 0
packages/univint/src/AppleDiskPartitions.pas

@@ -89,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 31 - 16
packages/univint/src/AppleEvents.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleEvent Package Interfaces.
  
-     Version:    AppleEvents-496~1
+    
  
      Copyright:  © 1989-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,6 +14,7 @@
  
 }
 {  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -241,6 +247,14 @@ const
 	kAELocalProcess = 3;
 	kAERemoteProcess = 4;
 
+	
+{ if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 }
+const
+	errAETargetAddressNotPermitted = -1742;	{ Mac OS X 10.8 and later, the target of an AppleEvent is not accessible to this process, perhaps due to sandboxing }
+	errAEEventNotPermitted = -1743;			{ Mac OS X 10.8 and later, the target of the AppleEvent does not allow this sender to execute this event }
+{ endif }
+	
+	
 {*************************************************************************
   These calls are used to set up and modify the event dispatch table.
 *************************************************************************}
@@ -256,7 +270,7 @@ const
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEInstallEventHandler( theAEEventClass: AEEventClass; theAEEventID: AEEventID; handler: AEEventHandlerUPP; handlerRefcon: SRefCon; isSysHandler: Boolean ): OSErr; external name '_AEInstallEventHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -271,7 +285,7 @@ function AEInstallEventHandler( theAEEventClass: AEEventClass; theAEEventID: AEE
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AERemoveEventHandler( theAEEventClass: AEEventClass; theAEEventID: AEEventID; handler: AEEventHandlerUPP; isSysHandler: Boolean ): OSErr; external name '_AERemoveEventHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -286,7 +300,7 @@ function AERemoveEventHandler( theAEEventClass: AEEventClass; theAEEventID: AEEv
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetEventHandler( theAEEventClass: AEEventClass; theAEEventID: AEEventID; var handler: AEEventHandlerUPP; var handlerRefcon: SRefCon; isSysHandler: Boolean ): OSErr; external name '_AEGetEventHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -305,7 +319,7 @@ function AEGetEventHandler( theAEEventClass: AEEventClass; theAEEventID: AEEvent
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEInstallSpecialHandler( functionClass: AEKeyword; handler: AEEventHandlerUPP; isSysHandler: Boolean ): OSErr; external name '_AEInstallSpecialHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -320,7 +334,7 @@ function AEInstallSpecialHandler( functionClass: AEKeyword; handler: AEEventHand
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AERemoveSpecialHandler( functionClass: AEKeyword; handler: AEEventHandlerUPP; isSysHandler: Boolean ): OSErr; external name '_AERemoveSpecialHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -335,7 +349,7 @@ function AERemoveSpecialHandler( functionClass: AEKeyword; handler: AEEventHandl
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEGetSpecialHandler( functionClass: AEKeyword; var handler: AEEventHandlerUPP; isSysHandler: Boolean ): OSErr; external name '_AEGetSpecialHandler';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {*************************************************************************
@@ -356,7 +370,7 @@ function AEGetSpecialHandler( functionClass: AEKeyword; var handler: AEEventHand
  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
  }
 function AEManagerInfo( keyWord: AEKeyword; var result: SIGNEDLONG ): OSErr; external name '_AEManagerInfo';
-(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_0, __IPHONE_NA ) *)
 
 
 {
@@ -393,7 +407,7 @@ function AEManagerInfo( keyWord: AEKeyword; var result: SIGNEDLONG ): OSErr; ext
  *    Non-Carbon CFM:   not available
  }
 var kAERemoteProcessURLKey: CFStringRef; external name '_kAERemoteProcessURLKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 {
  *  kAERemoteProcessNameKey
  *  
@@ -407,7 +421,7 @@ var kAERemoteProcessURLKey: CFStringRef; external name '_kAERemoteProcessURLKey'
  *    Non-Carbon CFM:   not available
  }
 var kAERemoteProcessNameKey: CFStringRef; external name '_kAERemoteProcessNameKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 {
  *  kAERemoteProcessUserIDKey
  *  
@@ -421,7 +435,7 @@ var kAERemoteProcessNameKey: CFStringRef; external name '_kAERemoteProcessNameKe
  *    Non-Carbon CFM:   not available
  }
 var kAERemoteProcessUserIDKey: CFStringRef; external name '_kAERemoteProcessUserIDKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 {
  *  kAERemoteProcessProcessIDKey
  *  
@@ -435,7 +449,7 @@ var kAERemoteProcessUserIDKey: CFStringRef; external name '_kAERemoteProcessUser
  *    Non-Carbon CFM:   not available
  }
 var kAERemoteProcessProcessIDKey: CFStringRef; external name '_kAERemoteProcessProcessIDKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 
 {
  *  AERemoteProcessResolverContext
@@ -519,7 +533,7 @@ type
  *    Non-Carbon CFM:   not available
  }
 function AECreateRemoteProcessResolver( allocator: CFAllocatorRef; url: CFURLRef ): AERemoteProcessResolverRef; external name '_AECreateRemoteProcessResolver';
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 
 
 {
@@ -544,7 +558,7 @@ function AECreateRemoteProcessResolver( allocator: CFAllocatorRef; url: CFURLRef
  *    Non-Carbon CFM:   not available
  }
 procedure AEDisposeRemoteProcessResolver( ref: AERemoteProcessResolverRef ); external name '_AEDisposeRemoteProcessResolver';
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 
 
 {
@@ -585,7 +599,7 @@ procedure AEDisposeRemoteProcessResolver( ref: AERemoteProcessResolverRef ); ext
  *    Non-Carbon CFM:   not available
  }
 function AERemoteProcessResolverGetProcesses( ref: AERemoteProcessResolverRef; var outError: CFStreamError ): CFArrayRef; external name '_AERemoteProcessResolverGetProcesses';
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
 
 
 {
@@ -638,7 +652,8 @@ type
  *    Non-Carbon CFM:   not available
  }
 procedure AERemoteProcessResolverScheduleWithRunLoop( ref: AERemoteProcessResolverRef; runLoop: CFRunLoopRef; runLoopMode: CFStringRef; callback: AERemoteProcessResolverCallback; {const} ctx: AERemoteProcessResolverContextPtr { can be NULL } ); external name '_AERemoteProcessResolverScheduleWithRunLoop';
-(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+(* __OSX_AVAILABLE_STARTING( __MAC_10_3, __IPHONE_NA ) *)
+
 
 
 {$endc} {TARGET_OS_MAC}

+ 5 - 0
packages/univint/src/AppleHelp.pas

@@ -89,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 8 - 3
packages/univint/src/AppleScript.pas

@@ -3,7 +3,7 @@
  
      Contains:   AppleScript Specific Interfaces.
  
-     Version:    OSA-136~14
+     Version:    OSA-148~28
  
      Copyright:  © 1992-2008 by Apple Computer, Inc., all rights reserved
  
@@ -14,8 +14,8 @@
  
 }
 
-{ Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
-
+{  Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -91,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -100,6 +101,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -115,6 +117,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -124,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -134,6 +138,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 117 - 29
packages/univint/src/AudioCodecs.pas

@@ -3,7 +3,7 @@
 
      Contains:   A component API for encoding/decoding audio data.
 
-     Copyright:  (c) 1985-2008 by Apple Inc., all rights reserved.
+     Copyright:  (c) 1985-2008 by Apple, Inc., all rights reserved.
 
      Bugs?:      For bug reports, consult the following page on
                  the World Wide Web:
@@ -11,7 +11,8 @@
                      http://www.freepascal.org/bugs.html
 
 ==================================================================================================}
-{	  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -178,8 +184,6 @@ uses MacTypes,CoreAudioTypes,AudioComponents;
 {$endc} {not MACOSALLINCLUDE}
 
 
-{$ifc TARGET_OS_MAC}
-
 {$ALIGN POWER}
 
 {!
@@ -219,7 +223,7 @@ uses MacTypes,CoreAudioTypes,AudioComponents;
 	output using the AudioCodecAppendInputData and AudioCodecProduceOutputData
 	routines. Input data can be fed into an encoder and some decoders in any size (even 
 	byte by byte). Input data fed to a decoder should be in terms of whole packets in the 
-	encoded format if the format is variable bit rate and is not self framing (e.g. MPEG 4 AAC). 
+	encoded format if the format is variable bit rate and is not self framing (e.g. MPEG-4 AAC). 
 	Output data can only be produced in whole packet sizes. Both routines will return 
 	the amount of data they consume/produce.
  
@@ -281,6 +285,7 @@ type
 //=============================================================================
 
 
+{$ifc not TARGET_OS_IPHONE}
 {!
 	@enum           AudioCodecComponentType
  
@@ -300,6 +305,7 @@ const
 	kAudioDecoderComponentType = FourCharCode('adec');
 	kAudioEncoderComponentType = FourCharCode('aenc');
 	kAudioUnityCodecComponentType = FourCharCode('acdc');
+{$endc} {TARGET_OS_IPHONE}
 
 
 //=============================================================================
@@ -318,15 +324,6 @@ const
 				
 				These properties can be read at any time the codec is open.
 
-	@constant	kAudioCodecPropertyNameCFString
-					The name of the codec component as a CFStringRef. The CFStringRef
-					retrieved via this property must be released by the caller.
-	@constant	kAudioCodecPropertyManufacturerCFString
-					The manufacturer of the codec as a CFStringRef. The CFStringRef 
-					retrieved via this property must be released by the caller.
-	@constant	kAudioCodecPropertyFormatCFString
-					The name of the codec's format as a CFStringRef. The CFStringRef
-					retrieved via this property must be released by the caller.
 	@constant	kAudioCodecPropertySupportedInputFormats
 					An array of AudioStreamBasicDescription structs describing what formats 
 					the codec supports for input data
@@ -389,10 +386,6 @@ const
 					wildcards are overwritten with default values.
 }
 const
-	kAudioCodecPropertyNameCFString = FourCharCode('lnam');
-	kAudioCodecPropertyManufacturerCFString = FourCharCode('lmak');
-	kAudioCodecPropertyFormatCFString = FourCharCode('lfor');
-	kAudioCodecPropertyHasVariablePacketByteSizes = FourCharCode('vpk?');
 	kAudioCodecPropertySupportedInputFormats = FourCharCode('ifm#');
 	kAudioCodecPropertySupportedOutputFormats = FourCharCode('ofm#');
 	kAudioCodecPropertyAvailableInputSampleRates = FourCharCode('aisr');
@@ -486,7 +479,7 @@ const
 	@constant		kAudioCodecPropertyIsInitialized
 						A UInt32 where 0 means the codec is uninitialized and anything
 						else means the codec is initialized. This should never be settable directly.
-						Must be set by AudioCodecInitialize and AudioCodecUnitialize.
+						Must be set by AudioCodecInitialize and AudioCodecUninitialize.
 	@constant		kAudioCodecPropertyCurrentTargetBitRate
 						A UInt32 containing the number of bits per second to aim for when encoding
 						data. This property is usually only relevant to encoders, but if a decoder
@@ -579,16 +572,14 @@ const
 						The property value is between [0 - 0x7F].
 						See also kAudioCodecPropertyQualitySetting
 						Writable if supported.
-	@constant		kAudioCodecPropertyMinimumDelayMode
-						A UInt32 equal 1 sets the encoder, where applicable, in it's lowest possible delay mode. An encoder
-						may prepend zero valued samples to the input signal in order to make additional delays, like e.g.
-						from a filter, coincide on a block boundary. This operation, however, results in an increased
-						encoding/ decoding delay which may be undesired and turned off with this property.
-						Writable if supported.
+    @constant		kAudioCodecPropertyDelayMode
+                        A UInt32 specifying the delay mode. See enum below.                        
+                        Encoders only, writable if supported.
  }
 const
 	kAudioCodecPropertyInputBufferSize = FourCharCode('tbuf');
 	kAudioCodecPropertyPacketFrameSize = FourCharCode('pakf');
+	kAudioCodecPropertyHasVariablePacketByteSizes = FourCharCode('vpk?');
 	kAudioCodecPropertyMaximumPacketByteSize = FourCharCode('pakb');
 	kAudioCodecPropertyCurrentInputFormat = FourCharCode('ifmt');
 	kAudioCodecPropertyCurrentOutputFormat = FourCharCode('ofmt');
@@ -611,7 +602,7 @@ const
 	kAudioCodecPropertyFormatList = FourCharCode('acfl');
 	kAudioCodecPropertyBitRateControlMode = FourCharCode('acbf');
 	kAudioCodecPropertySoundQualityForVBR = FourCharCode('vbrq');
-	kAudioCodecPropertyMinimumDelayMode = FourCharCode('mdel');
+	kAudioCodecPropertyDelayMode = FourCharCode('dmod');
 
 
 {!
@@ -692,6 +683,28 @@ const
 	kAudioCodecBitRateControlMode_VariableConstrained = 2;
 	kAudioCodecBitRateControlMode_Variable = 3;
 
+{!
+    @enum			AudioCodecDelayMode
+ 
+    @discussion		Constants defining various delay modes to be used with kAudioCodecPropertyDelayMode.
+                    The resulting priming frames are reflected in the kAudioCodecPropertyPrimeInfo property.
+                    Note that for layered streams like aach and aacp, the priming information always refers
+                    to the base layer.
+    @constant		kAudioCodecDelayMode_Compatibility
+                        In compatibility delay mode, the resulting priming corresponds to the default value defined by the
+                        underlying codecs. For aac this number equals 2112 regardless of the sample rate and other settings.
+    @constant		kAudioCodecDelayMode_Minimum
+                        Sets the encoder, where applicable, in it's lowest possible delay mode. Any additional delays, like the one
+                        introduced by filters/sample rate converters etc, aren't compensated by the encoder.
+    @constant		kAudioCodecDelayMode_Optimal
+                        In this mode, the resulting bitstream has the minimum amount of priming necessary for the decoder.
+                        For aac this number is 1024 which corresponds to exactly one packet.
+ }
+const
+	kAudioCodecDelayMode_Compatibility = 0;
+	kAudioCodecDelayMode_Minimum = 1;
+	kAudioCodecDelayMode_Optimal = 2;
+
 {!
 	@struct			AudioCodecPrimeInfo 
  
@@ -822,6 +835,8 @@ const
 	@constant		kAudioCodecAppendInputDataSelect
 	@constant		kAudioCodecProduceOutputDataSelect
 	@constant		kAudioCodecResetSelect
+	@constant		kAudioCodecAppendInputBufferListSelect
+	@constant		kAudioCodecProduceOutputBufferListSelect
 }
 const
 	kAudioCodecGetPropertyInfoSelect = $0001;
@@ -832,6 +847,8 @@ const
 	kAudioCodecAppendInputDataSelect = $0006;
 	kAudioCodecProduceOutputDataSelect = $0007;
 	kAudioCodecResetSelect = $0008;
+	kAudioCodecAppendInputBufferListSelect = $0009;
+	kAudioCodecProduceOutputBufferListSelect = $000A;
 
 
 //=============================================================================
@@ -950,7 +967,7 @@ function AudioCodecSetProperty( inCodec: AudioCodec; inPropertyID: AudioCodecPro
 						An AudioCodec instance
 	@param			inInputFormat
 						Pointer to an input format structure
-	@param			inInputFormat
+	@param			inOutputFormat
 						Pointer to an output format structure
 	@param			inMagicCookie
 						Pointer to the magic cookie
@@ -1043,6 +1060,14 @@ function AudioCodecAppendInputData( inCodec: AudioCodec; inInputData: {const} Un
 function AudioCodecProduceOutputPackets( inCodec: AudioCodec; outOutputData: UnivPtr; var ioOutputDataByteSize: UInt32; var ioNumberPackets: UInt32; var outPacketDescription: AudioStreamPacketDescription; var outStatus: UInt32 ): OSStatus; external name '_AudioCodecProduceOutputPackets';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0) *)
 
+{$ifc not TARGET_OS_IPHONE}
+function AudioCodecAppendInputBufferList( inCodec: AudioCodec; const (*var*) inBufferList: AudioBufferList; var ioNumberPackets: UInt32; const (*var*) inPacketDescription: AudioStreamPacketDescription; var outBytesConsumed: UInt32 ): OSStatus; external name '_AudioCodecAppendInputBufferList';
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_NA) *)
+
+function AudioCodecProduceOutputBufferList( inCodec: AudioCodec; var ioBufferList: AudioBufferList; var ioNumberPackets: UInt32; var outPacketDescription: AudioStreamPacketDescription; var outStatus: UInt32 ): OSStatus; external name '_AudioCodecProduceOutputBufferList';
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_NA) *)
+{$endc} {not TARGET_OS_IPHONE}
+
 {!
 	@function		AudioCodecReset
 
@@ -1057,11 +1082,75 @@ function AudioCodecProduceOutputPackets( inCodec: AudioCodec; outOutputData: Uni
 function AudioCodecReset( inCodec: AudioCodec ): OSStatus; external name '_AudioCodecReset';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0) *)
 
+//=====================================================================================================================
+type
+	AudioCodecGetPropertyInfoProc = function( self: UnivPtr; inPropertyID: AudioCodecPropertyID; var outSize: UInt32; var outWritable: Boolean ): OSStatus;
+
+type
+	AudioCodecGetPropertyProc = function( self: UnivPtr; inPropertyID: AudioCodecPropertyID; var ioPropertyDataSize: UInt32; outPropertyData: UnivPtr ): OSStatus;
+
+type
+	AudioCodecSetPropertyProc = function( self: UnivPtr; inPropertyID: AudioCodecPropertyID; inPropertyDataSize: UInt32; inPropertyData: {const} UnivPtr ): OSStatus;
+
+type
+	AudioCodecInitializeProc = function( self: UnivPtr; const (*var*) inInputFormat: AudioStreamBasicDescription; const (*var*) inOutputFormat: AudioStreamBasicDescription; inMagicCookie: {const} UnivPtr; inMagicCookieByteSize: UInt32 ): OSStatus;
+
+type
+	AudioCodecUninitializeProc = function( self: UnivPtr ): OSStatus;
+
+type
+	AudioCodecAppendInputDataProc = function( self: UnivPtr; inInputData: {const} UnivPtr; var ioInputDataByteSize: UInt32; var ioNumberPackets: UInt32; const (*var*) inPacketDescription: AudioStreamPacketDescription ): OSStatus;
+
+type
+	AudioCodecProduceOutputPacketsProc = function( self: UnivPtr; outOutputData: UnivPtr; var ioOutputDataByteSize: UInt32; var ioNumberPackets: UInt32; var outPacketDescription: AudioStreamPacketDescription; var outStatus: UInt32 ): OSStatus;
+
+type
+	AudioCodecResetProc = function( self: UnivPtr ): OSStatus;
+
+type
+	AudioCodecAppendInputBufferListProc = function( self: UnivPtr; const (*var*) ioBufferList: AudioBufferList; var inNumberPackets: UInt32; const (*var*) inPacketDescription: AudioStreamPacketDescription; var outBytesConsumed: UInt32 ): OSStatus;
+
+type
+	AudioCodecProduceOutputBufferListProc = function( self: UnivPtr; var ioBufferList: AudioBufferList; var ioNumberPackets: UInt32; var outPacketDescription: AudioStreamPacketDescription; var outStatus: UInt32 ): OSStatus;
+
 
 //=====================================================================================================================
 //#pragma mark -
 //#pragma mark Deprecated Properties
 
+{!
+    @enum		AudioCodecProperty
+    @deprecated
+ 
+    @constant	kAudioCodecPropertyMinimumDelayMode
+                    A UInt32 equal 1 sets the encoder, where applicable, in it's lowest possible delay mode. An encoder
+                    may prepend zero valued samples to the input signal in order to make additional delays, like e.g.
+                    from a filter, coincide on a block boundary. This operation, however, results in an increased
+                    encoding/ decoding delay which may be undesired and turned off with this property.
+                    Use the kAudioCodecPropertyDelayMode property instead with the value set to kAudioCodecDelayMode_Minimum
+}
+const
+	kAudioCodecPropertyMinimumDelayMode = FourCharCode('mdel');
+
+{!
+	@enum		AudioCodecProperty
+	@deprecated	in version 10.7
+
+	@constant	kAudioCodecPropertyNameCFString
+					The name of the codec component as a CFStringRef. The CFStringRef
+					retrieved via this property must be released by the caller.
+	@constant	kAudioCodecPropertyManufacturerCFString
+					The manufacturer of the codec as a CFStringRef. The CFStringRef 
+					retrieved via this property must be released by the caller.
+	@constant	kAudioCodecPropertyFormatCFString
+					The name of the codec's format as a CFStringRef. The CFStringRef
+					retrieved via this property must be released by the caller.
+
+}
+const
+	kAudioCodecPropertyNameCFString = FourCharCode('lnam');
+	kAudioCodecPropertyManufacturerCFString = FourCharCode('lmak');
+	kAudioCodecPropertyFormatCFString = FourCharCode('lfor');		
 
 {!
 	@enum		AudioCodecProperty
@@ -1140,7 +1229,7 @@ const
 
 	@discussion	Constants to be used with kAudioCodecBitRateFormat.
 					This is deprecated. 
-					Use kAudioCodecVariablePacketSizeBitRateControlMode instead.
+					Use kAudioCodecPropertyBitRateControlMode instead.
  
 	@constant	kAudioCodecBitRateFormat_CBR is mapped to kAudioCodecBitRateControlMode_Constant
 	@constant	kAudioCodecBitRateFormat_ABR is mapped to kAudioCodecBitRateControlMode_LongTermAverage
@@ -1201,7 +1290,6 @@ const
 	kHintAdvanced = 1;
 	kHintHidden = 2;
 
-{$endc} {TARGET_OS_MAC}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 325 - 70
packages/univint/src/AudioComponents.pas

@@ -3,14 +3,15 @@
  
      Contains:  API for finding and opening audio components
   
-     Copyright: (c) 2007 - 2008 by Apple Inc., all rights reserved.
+     Copyright: (c) 2007 - 2010 by Apple, Inc., all rights reserved.
  
      Bugs?:      For bug reports, consult the following page on
                  the World Wide Web:
  
                      http://www.freepascal.org/bugs.html
 }
-{	  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -87,6 +88,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -96,6 +98,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +114,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -120,6 +124,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -130,6 +135,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -173,38 +179,170 @@ interface
 {$setc TYPE_BOOL := FALSE}
 {$setc TYPE_EXTENDED := FALSE}
 {$setc TYPE_LONGLONG := TRUE}
-uses MacTypes,CoreAudioTypes,Components,CFBase;
+uses MacTypes,CoreAudioTypes,Components,CFBase,CFDictionary;
 {$endc} {not MACOSALLINCLUDE}
 
 {$ALIGN POWER}
 
 
 //=====================================================================================================================
-////#pragma mark Overview
+//#pragma mark Overview
 
 {!
     @header AudioComponent
 
 	@discussion
-	This file defines a collection of APIs that are designed to be used when finding and opening audio components
-	(such as audio units, audio codecs, audio file components).
 	
-	Traditionally, the ComponentManager has been used for the registration, discovery, and packaging of these loadable
-	code modules. However, this may not always be the case. In order to provide an API that will be supported going forward
-	from SnowLeopard (10.6) and iPhone 2.0, it is advised that applications use the AudioComponent APIs to find and load(open)
+    This file defines a collection of APIs that are designed to be used when finding and opening
+    audio components (such as audio units, audio codecs, and audio file components).
+    
+    Traditionally, the Component Manager has been used for the registration, discovery, and
+    packaging of these loadable code modules. However, this may not always be the case. In order
+    to provide an API that will be supported going forward from SnowLeopard (10.6) and iPhone
+    2.0, it is advised that applications use the Audio Component APIs to find and load (open)
 	audio components such as audio units. 
 	
-	The type "AudioComponent" or "AudioComponentInstance" should be seen and used as a distinct type from the Component Manager
-	types of "Component" and "ComponentInstance". It is not the case that it is safe to assume a direct cast is compatible between
-	this type and the other.
-	
-	The AudioComponent APIs provide a general, and mostly complete service for doing the basic task of finding and using audio components. 
-	If however, you find that you need functionality that is not provided by this API that was previously supported by the ComponentMgr then
-	you should use the ComponentMgr APIs exclusively to find and open the Component Mgr components. In other words, you should not assume that
-	an audio component instance is always interchangeable with the existing Component Instance type.
+    The type "AudioComponent" or "AudioComponentInstance" should be seen and used as a distinct
+    type from the Component Manager types of "Component" and "ComponentInstance". It is not the
+    case that it is safe to assume a direct cast is compatible between this type and the other.
+
+    The AudioComponent APIs provide a general, and mostly complete service for doing the basic
+    task of finding and using audio components. If however, you find that you need functionality
+    that is not provided by this API that was previously supported by the Component Manager then
+    you should use the ComponentMgr APIs exclusively to find and open the Component Manager
+    components. In other words, you should not assume that an audio component instance is always
+    interchangeable with the existing ComponentInstance type.
+    
+    
+    Beginning with Mac OS X 10.7, AudioComponents can be registered and used directly without
+    involving the Component Manager. The system scans certain directories for bundles with names
+    ending in ".audiocomp" or ".component" (the latter permits registering plug-ins in a single
+    bundle with both the Component Manager and the Audio Component system). These directories
+    are scanned non-recursively:
+    
+        ~/Library/Audio/Plug-Ins/Components
+        /Library/Audio/Plug-Ins/Components
+        /System/Library/Components
+
+    Bundles' Info.plist dictionaries should contain an "AudioComponents" item whose value
+    is an array of dictionaries, e.g.
+
+        <key>AudioComponents</key>
+        <array>
+            <dict>
+                <key>type</key>
+                <string>aufx</string>
+                <key>subtype</key>
+                <string>XMPL</string>
+                <key>manufacturer</key>
+                <string>ACME</string>
+                <key>name</key>
+                <string>AUExample</string>
+                <key>version</key>
+                <integer>12345</integer>
+                <key>factoryFunction</key>
+                <string>AUExampleFactory</string>
+                
+                <!-- An AudioComponent is sandbox safe -->
+                
+                <key>sandboxSafe</key>
+                <true/>
+                
+                <!-- or it can describe it's resource usage -->
+                
+                <key>resourceUsage</key>
+                <dict>
+                    <key>iokit.user-client</key>
+                    <array>
+                        <string>CustomUserClient1</string>
+                        <string>CustomUserClient2</string>
+                    </array>
+                    <key>mach-lookup.global-name</key>
+                    <array>
+                        <string>MachServiceName1</string>
+                        <string>MachServiceName2</string>
+                    </array>
+                    <key>network.client</key>
+                    <true/>
+                    <key>temporary-exception.files.all.read-write</key>
+                    </true>
+                </dict>
+            </dict>
+        </array>
+
+    The type, subtype and manufacturer keys correspond to the OSType fields of the 
+    AudioComponentDescription structure. They can be strings if they are 4 ASCII characters; 
+    otherwise they must be 32-bit integers.
+    
+    The "factoryFunction" is the name of a AudioComponentFactoryFunction in the bundle's binary.
+    
+    The "sandboxSafe" key is used to indicate whether or not an AudioComponent can be loaded
+    directly into a sandboxed process. This key is reflected in the componentFlags field of the the
+    AudioComponentDescription for the AudioComponent with the constant, kAudioComponentFlag_SandboxSafe.
+    Note that if this key is not present, it is assumed that the AudioComponent is not sandbox safe.
+    
+    The "resourceUsage" key describes the system resources used by an AudioComponent that is not
+    sandobox safe. The keys for this dictionary are described below. If the "sandboxSafe" key is
+    true, this dictionary should not be included.
+    
+    The "iokit.user-client" key is a "resourceUsage" key that describes the IOKit user-client
+    objects the AudioComponent will open. It is an array of the user-clients' class names.
+    
+    The "mach-lookup.global-name" key is a "resourceUsage" key that describes the mach services the
+    AudioComponent needs to connect to. It is an array of the names of the services. Note that these
+    services can be direct mach services found via bootstrap_look_up() or XPC services found via
+    xpc_connection_create_mach_service().
+    
+    The "network.client" key is a "resourceUsage" key that indicates that the AudioComponent will
+    receive data from the network.
+    
+    The "temporary-exception.files.all.read-write" key is a "resourceUsage" key that indicates that
+    the AudioComponent needs arbitrary access to the file system. This is for backward compatibility
+    for AudioComponents that have not yet adopted the usage of security scope bookmarks and/or the
+    usage of the standard file dialog for discovering, accessing and storing persistent references
+    to files on the file system. In a future OS release, this key will not be supported.
+    
+    Note that a sandbox safe AudioComponent can function correctly in even the most severely
+    sandboxed process. This means that the process will have curtailed or no access to common system
+    resources like the file system, device drivers, the network, and communication with other
+    processes.
+    
+    When instantiating a sandbox unsafe AudioComponent in a sandboxed process, the system evaluates
+    the "resourceUsage" information against the restrictions the process is under. If the
+    "resourceUsage" will not violate those restrictions, the AudioComponent will be instantiated and
+    can be used as normal. Note that the system will set kAudioComponentFlag_SandboxSafe in the
+    AudioComponentDescription in this case.
+    
+    If the "resourceUsage" information includes things that can't be accessed from the process and
+    the process has the entitlement, "com.apple.security.temporary-exception.audio-unit-host", the
+    system will ask the user whether or not it is acceptable for the process to open the unsafe
+    AudioComponent. If the user says yes, the system will suspend the process's sandbox and allow
+    the unsafe AudioComponent to be opened and used.
 }
 
 
+//=====================================================================================================================
+//#pragma mark Constants
+
+{!
+	@constant	kAudioComponentFlag_Unsearchable
+
+	When this bit in AudioComponentDescription's componentFlags is set, AudioComponentFindNext
+	will only return this component when performing a specific, non-wildcard search for the
+	component, i.e. with non-zero values of componentType, componentSubType, and
+	componentManufacturer. This can be useful when privately registering a component.
+	Available starting in Mac OS X 10.7 and iOS 5.0
+	
+	@constant	kAudioComponentFlag_SandboxSafe
+	
+	An AudioComponent sets this bit in it's componentFlags to indicate to the system that the
+	AudioComponent is safe to open in a sandboxed process.
+	Available starting in Mac OS X 10.8.
+}
+const
+	kAudioComponentFlag_Unsearchable = 1;
+	kAudioComponentFlag_SandboxSafe = 2;
+
 //=====================================================================================================================
 //#pragma mark Data Types
 
@@ -212,7 +350,7 @@ uses MacTypes,CoreAudioTypes,Components,CFBase;
 	@struct			AudioComponentDescription
 	@discussion		A structure used to describe the unique and identifying IDs of an audio component 
 	@field			componentType
-						A unique 4-byte code indentifying the generic type of an audio component
+                        A unique 4-byte code identifying the generic type of an audio component
 	@field			componentSubType
 						the particular flavor of this instance
 	@field			componentManufacturer
@@ -235,40 +373,48 @@ type
 	AudioComponentDescriptionPtr = ^AudioComponentDescription;
 //#pragma pack(pop)
 
-
 {!
 	@typedef		AudioComponent
 	@abstract		The type used to represent a class of particular audio components
-	@discussion		An audio component is usually found through a search and is then uniquely identified by the triple of
-					an audio component's type, subtype and manufacturer. 
+    @discussion     An audio component is usually found through a search and is then uniquely
+                    identified by the triple of an audio component's type, subtype and
+                    manufacturer.
 					
 					It can have properties associated with it (such as a name, a version).
 					
-					It is then used as a factory (like a class in an OO language) from which to create particular instances. The
-					instances are used to do the actualy work.
+                    It is then used as a factory (like a class in an object-oriented programming
+                    language) from which to create particular instances. The instances are used
+                    to do the actual work.
 					
 					For example:
-					'aufx', 'dely', 'appl' describes the digital delay, audio unit effect from Apple Inc. You can find this component
-					through searching explicitly for the audio component that matches this pattern (this is an unique identifier - there is
-					only one match to this triple ID). Then once found, the Apple delay effect audio unit can be created from its audio component
-					and used to apply that effect to an audio signal. While the audio component is a singleton, you can of course create as many
-					instances of a given audio component that you need to do the work you need to do.
+                    'aufx', 'dely', 'appl' describes the digital delay, audio unit effect from
+                    Apple, Inc. You can find this component through searching explicitly for the
+                    audio component that matches this pattern (this is an unique identifier -
+                    there is only one match to this triple ID). Then once found, the Apple delay
+                    effect audio unit can be created from its audio component and used to apply
+                    that effect to an audio signal. While the audio component is a singleton,
+                    you can of course create as many instances of a given audio component that
+                    you need to do the work you need to do.
 }
 type
-	AudioComponent = ^SInt32; { an opaque type }
+	AudioComponent = ^OpaqueAudioComponent; { an opaque type }
+	OpaqueAudioComponent = record end;
 
 {!
 	@typedef		AudioComponentInstance
 	@abstract		The type used to represent an instance of a particular audio component
-	@discussion		An audio component instance is created from its factory/producer audio component. It is the body of code that does the work.
+    @discussion     An audio component instance is created from its factory/producer audio
+                    component. It is the body of code that does the work.
 	
-					A special note: While on the desktop this is typedef'd to a ComponentInstanceRecord *, you should not always assume that this
-					will always be compatible and usable with ComponentMgr calls. 
+                    A special note: While on the desktop this is typedef'd to a
+                    ComponentInstanceRecord *, you should not assume that this will always be
+                    compatible and usable with Component Manager calls.
 }
 //#if TARGET_OS_IPHONE
 {$ifc TARGET_OS_IPHONE}
 type
-	AudioComponentInstance = ^SInt32; { an opaque type }
+	AudioComponentInstance = ^OpaqueAudioComponentInstance; { an opaque type }
+	OpaqueAudioComponentInstance = record end;
 //#else
 {$elsec}
 type
@@ -276,6 +422,59 @@ type
 //#endif
 {$endc}
 
+{!
+    @typedef        AudioComponentMethod
+    @abstract       The broad prototype for an audio plugin method
+    @discussion     Every audio plugin will implement a collection of methods that match a particular
+					selector. For example, the AudioUnitInitialize API call is implemented by a
+					plugin implementing the kAudioUnitInitializeSelect selector. Any function implementing
+					an audio plugin selector conforms to the basic pattern where the first argument
+					is a pointer to the plugin instance structure, has 0 or more specific arguments,  
+					and returns an OSStatus.
+}
+type
+	AudioComponentMethod = function( self: UnivPtr; ... ): OSStatus;
+
+{!
+    @struct         AudioComponentPlugInInterface
+    @discussion     A structure used to represent an audio plugin's routines 
+    @field          Open
+                        the function used to open (or create) an audio plugin instance
+    @field          Close
+                        the function used to close (or dispose) an audio plugin instance
+    @field          Lookup
+                        this is used to return a function pointer for a given selector, 
+						or NULL if that selector is not implemented
+    @field          reserved
+                        must be NULL
+}
+type
+	AudioComponentPlugInInterface = record
+	  Open: function (self: UnivPtr; mInstance: AudioComponentInstance): OSStatus;
+	  Close: function (self: UnivPtr): OSStatus;
+	  Lookup: function (selector: SInt16): AudioComponentMethod;
+	  reserved: UnivPtr; // set to NULL
+	end;
+	AudioComponentPlugInInterfacePtr = ^AudioComponentPlugInInterface;
+
+{!
+    @typedef        AudioComponentFactoryFunction
+    @abstract       A function that creates AudioComponentInstances.
+    @discussion
+                    Authors of AudioComponents may register them from bundles as described
+                    above in the discussion of this header file, or dynamically within a single
+                    process, using AudioComponentRegister.
+    
+    @param          inDesc
+                        The AudioComponentDescription specifying the component to be instantiated.
+    @result         A pointer to a structure whose first member is a pointer to an
+                    AudioComponentPlugInInterface. Thus the return type could be considered
+                    AudioComponentPlugInInterface **, but since in practice it is never
+                    this basic type, but rather, AudioUnitPlugInInterface, AudioCodecPlugInInterface,
+                    etc., it is declared void * for simplicity.
+}
+type
+	AudioComponentFactoryFunction = function( const (*var*) inDesc: AudioComponentDescription ): AudioComponentPlugInInterfacePtr;
 
 //=====================================================================================================================
 //#pragma mark Functions
@@ -283,41 +482,48 @@ type
 
 {!
     @function       AudioComponentFindNext
-    @abstract       find an audio component
-    @discussion     This function is used to find an audio component that is the closest match to the provide values.
+    @abstract       Finds an audio component.
+    @discussion     This function is used to find an audio component that is the closest match
+                    to the provided values.
     @param          inComponent
-						If NULL, then the search starts from the beginning until an audio component is found that matches
-						the description provided by inDesc
-						If not-NULL, then the search starts (continues) from the previously found audio component specified
-						by inComponent, and will return the nextfound audio component
+                        If NULL, then the search starts from the beginning until an audio
+                        component is found that matches the description provided by inDesc.
+                        If non-NULL, then the search starts (continues) from the previously
+                        found audio component specified by inComponent, and will return the next
+                        found audio component.
 	@param			inDesc
-						The type, subtype and manufacturer fields are used to specify the audio component to search for.
-						A value of 0 (zero) for any of these fiels is a wildcard, so the first match found is returned
-	@result			An audio component that matches the search parameters, or NULL if none found
+                        The type, subtype and manufacturer fields are used to specify the audio
+                        component to search for. A value of 0 (zero) for any of these fields is
+                        a wildcard, so the first match found is returned.
+    @result         An audio component that matches the search parameters, or NULL if none found.
 }
 function AudioComponentFindNext( inComponent: AudioComponent; const (*var*) inDesc: AudioComponentDescription ): AudioComponent; external name '_AudioComponentFindNext';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_2_0) *)
 
 {!
     @function       AudioComponentCount
-    @abstract       number of audio components
-    @discussion     the number of AudioComponenents that match the specified AudioComponentDescription. 
+    @abstract       Counts audio components.
+    @discussion     Returns the number of AudioComponents that match the specified
+                    AudioComponentDescription.
 	@param			inDesc
-						The type, subtype and manufacturer fields are used to specify the audio components to count
-						A value of 0 (zero) for any of these fiels is a wildcard, so will match any value for this field
-	@result			a UInt32. 0 (zero) means no audio components were found that matched the search parameters.
+                        The type, subtype and manufacturer fields are used to specify the audio
+                        components to count A value of 0 (zero) for any of these fields is a
+                        wildcard, so will match any value for this field
+    @result         a UInt32. 0 (zero) means no audio components were found that matched the
+                    search parameters.
 }
 function AudioComponentCount( const (*var*) inDesc: AudioComponentDescription ): UInt32; external name '_AudioComponentCount';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_2_0) *)
 
 {!
     @function       AudioComponentCopyName
-    @abstract       used to retrieve the name of an audio component
+    @abstract       Retrieves the name of an audio component.
     @discussion     the name of an audio component
 	@param			inComponent
 						the audio component (must not be NULL)
 	@param			outName
-						a CFString that is the name of the audio component. This string should be released by the caller.
+                        a CFString that is the name of the audio component. This string should
+                        be released by the caller.
     @result			an OSStatus result code.
 }
 function AudioComponentCopyName( inComponent: AudioComponent; var outName: CFStringRef ): OSStatus; external name '_AudioComponentCopyName';
@@ -325,8 +531,9 @@ function AudioComponentCopyName( inComponent: AudioComponent; var outName: CFStr
 
 {!
     @function       AudioComponentGetDescription
-    @abstract       used to retrieve the audio component's description
-    @discussion     will return the fully specified audio component description for the provided audio component
+    @abstract       Retrieve an audio component's description.
+    @discussion     This will return the fully specified audio component description for the
+                    provided audio component.
 	@param			inComponent
 						the audio component (must not be NULL)
 	@param			outDesc
@@ -338,8 +545,8 @@ function AudioComponentGetDescription( inComponent: AudioComponent; var outDesc:
 
 {!
     @function       AudioComponentGetVersion
-    @abstract       used to retrieve the audio component's version
-    @discussion     will return the version number of a given audio component
+    @abstract       Retrieve an audio component's version.
+    @discussion
 	@param			inComponent
 						the audio component (must not be NULL)
 	@param			outVersion
@@ -351,12 +558,15 @@ function AudioComponentGetVersion( inComponent: AudioComponent; var outVersion:
 
 {!
     @function       AudioComponentInstanceNew
-    @abstract       used to create an audio component instance
-    @discussion     this call creates an instance of a given audio component. The audio component instance is the object
-					that does all of the work, whereas the audio component is the way that a program finds and then makes this object
-					to do this work. For example, an audio unit is a type of audio component instance, so to use an audio unit, one
-					finds its audio component, and then creates a new instance of that component. This instance is then used
-					to process, mix, synthesise, etc the audio tasks for which it was designed.
+    @abstract       Creates an audio component instance.
+    @discussion     This function creates an instance of a given audio component. The audio
+                    component instance is the object that does all of the work, whereas the
+                    audio component is the way an application finds and then creates this object
+                    to do this work. For example, an audio unit is a type of audio component
+                    instance, so to use an audio unit, one finds its audio component, and then
+                    creates a new instance of that component. This instance is then used to
+                    perform the audio tasks for which it was designed (process, mix, synthesise,
+                    etc.).
 	@param			inComponent
 						the audio component (must not be NULL)
 	@param			outInstance
@@ -368,9 +578,9 @@ function AudioComponentInstanceNew( inComponent: AudioComponent; var outInstance
 
 {!
     @function       AudioComponentInstanceDispose
-    @abstract       used to dispose of an audio component instance
-    @discussion     this call will dispose the audio component instance that was created with the New call. It will deallocate any resources
-					that the instance was using.
+    @abstract       Disposes of an audio component instance.
+    @discussion     This function will dispose the audio component instance that was created
+                    with the New call. It will deallocate any resources that the instance was using.
 	@param			inInstance
 						the audio component instance to dispose (must not be NULL)
     @result			an OSStatus result code.
@@ -378,14 +588,16 @@ function AudioComponentInstanceNew( inComponent: AudioComponent; var outInstance
 function AudioComponentInstanceDispose( inInstance: AudioComponentInstance ): OSStatus; external name '_AudioComponentInstanceDispose';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_2_0) *)
 
-// retrieves the class object assosciated with the instance
+// retrieves the class object associated with the instance
 {!
     @function       AudioComponentInstanceGetComponent
-    @abstract       used to retrieve the audio component from its instance
-    @discussion     allows the application at any time to retrieve the audio component that is the factory object of a given instance 
-					(ie, the audio component that was used to create the instnace in the first place). This allows the application to
-					retrieve general information about a particular audio component (its name, version, etc) when one just has an
-					audio component instance to work with 
+    @abstract       Retrieve the audio component from its instance
+    @discussion     Allows the application at any time to retrieve the audio component that is
+                    the factory object of a given instance (i.e., the audio component that was
+                    used to create the instance in the first place). This allows the application
+                    to retrieve general information about a particular audio component (its
+                    name, version, etc) when one just has an audio component instance to work
+                    with
 	@param			inInstance
 						the audio component instance (must not be NULL, and instance must be valid - that is, not disposed)
     @result			a valid audio component or NULL if no component was found.
@@ -395,8 +607,8 @@ function AudioComponentInstanceGetComponent( inInstance: AudioComponentInstance
 
 {!
     @function       AudioComponentInstanceCanDo
-    @discussion     this call is used to determine if an audio component instance implements a particular component API call
-					as signified by the specified selector identifier token.
+    @discussion     Determines if an audio component instance implements a particular component
+                    API call as signified by the specified selector identifier token.
 	@param			inInstance
 						the audio component instance
 	@param			inSelectorID
@@ -406,6 +618,49 @@ function AudioComponentInstanceGetComponent( inInstance: AudioComponentInstance
 function AudioComponentInstanceCanDo( inInstance: AudioComponentInstance; inSelectorID: SInt16 ): Boolean; external name '_AudioComponentInstanceCanDo';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_3_0) *)
 
+{!
+    @function       AudioComponentRegister
+    @abstract       Dynamically registers an AudioComponent within the current process
+    @discussion
+        AudioComponents are registered either when found in appropriate bundles in the filesystem,
+        or via this call. AudioComponents registered via this call are available only within
+        the current process.
+    
+    @param          inDesc
+                        The AudioComponentDescription that describes the AudioComponent. Note that
+                        the registrar needs to be sure to set the flag kAudioComponentFlag_SandboxSafe
+                        in the componentFlags field of the AudioComponentDescription to indicate that
+                        the AudioComponent can be loaded directly into a sandboxed process.
+    @param          inName
+                        the AudioComponent's name
+    @param          inVersion
+                        the AudioComponent's version
+    @param          inFactory
+                        an AudioComponentFactoryFunction which will create instances of your
+                        AudioComponent
+    @result         an AudioComponent object
+}
+function AudioComponentRegister( const (*var*) inDesc: AudioComponentDescription; inName: CFStringRef; inVersion: UInt32; inFactory: AudioComponentFactoryFunction ): AudioComponent; external name '_AudioComponentRegister';
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_5_0) *)
+
+{$ifc TARGET_OS_MAC}
+{!
+    @function       AudioComponentCopyConfigurationInfo
+    @abstract       Fetches the basic configuration info about a given AudioComponent
+    @discussion     Currently, only AudioUnits can supply this information.
+    @param          inComponent
+                        The AudioComponent whose info is being fetched.
+    @param          outConfigurationInfo
+                        On exit, this is CFDictionaryRef that contains information describing the
+                        capabilities of the AudioComoponent. The specific information depends on the
+                        type of AudioComponent. The keys for the dictionary are defined in
+                        AudioUnitProperties.h (or other headers as appropriate for the component type).
+    @result         An OSStatus indicating success or failure.
+}
+function AudioComponentCopyConfigurationInfo( inComponent: AudioComponent; var outConfigurationInfo: CFDictionaryRef ): OSStatus; external name '_AudioComponentCopyConfigurationInfo';
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_NA) *)
+{$endc}
+
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

File diff suppressed because it is too large
+ 102 - 743
packages/univint/src/AudioHardware.pas


+ 1329 - 0
packages/univint/src/AudioHardwareBase.pas

@@ -0,0 +1,1329 @@
+{==================================================================================================
+     File:       CoreAudio/AudioHardwareBase.h
+
+     Copyright:  (c) 1985-2011 by Apple, Inc., all rights reserved.
+
+     Bugs?:      For bug reports, consult the following page on
+                 the World Wide Web:
+
+                     http://www.freepascal.org/bugs.html
+
+==================================================================================================}
+{  Initial Pascal Translation:  Jonas Maebe, <[email protected]>, October 2012 }
+{
+    Modified for use with Free Pascal
+    Version 308
+    Please report any bugs to <[email protected]>
+}
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$calling mwpascal}
+
+unit AudioHardwareBase;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0400}
+{$setc GAP_INTERFACES_VERSION := $0308}
+
+{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
+    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
+{$endc}
+
+{$ifc defined CPUPOWERPC and defined CPUI386}
+	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
+{$endc}
+{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
+	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
+{$endc}
+
+{$ifc not defined __ppc__ and defined CPUPOWERPC32}
+	{$setc __ppc__ := 1}
+{$elsec}
+	{$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __ppc64__ and defined CPUPOWERPC64}
+	{$setc __ppc64__ := 1}
+{$elsec}
+	{$setc __ppc64__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+	{$setc __i386__ := 1}
+{$elsec}
+	{$setc __i386__ := 0}
+{$endc}
+{$ifc not defined __x86_64__ and defined CPUX86_64}
+	{$setc __x86_64__ := 1}
+{$elsec}
+	{$setc __x86_64__ := 0}
+{$endc}
+{$ifc not defined __arm__ and defined CPUARM}
+	{$setc __arm__ := 1}
+{$elsec}
+	{$setc __arm__ := 0}
+{$endc}
+
+{$ifc defined cpu64}
+  {$setc __LP64__ := 1}
+{$elsec}
+  {$setc __LP64__ := 0}
+{$endc}
+
+
+{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
+	{$error Conflicting definitions for __ppc__ and __i386__}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__}
+	{$setc TARGET_CPU_PPC := TRUE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __ppc64__ and __ppc64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := TRUE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __i386__ and __i386__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := TRUE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+{$ifc defined(iphonesim)}
+ 	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
+{$elsec}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+{$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __x86_64__ and __x86_64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := TRUE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __arm__ and __arm__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := TRUE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elsec}
+	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
+{$endc}
+
+{$ifc defined __LP64__ and __LP64__ }
+  {$setc TARGET_CPU_64 := TRUE}
+{$elsec}
+  {$setc TARGET_CPU_64 := FALSE}
+{$endc}
+
+{$ifc defined FPC_BIG_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
+{$elifc defined FPC_LITTLE_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
+{$elsec}
+	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
+{$endc}
+{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
+{$setc CALL_NOT_IN_CARBON := FALSE}
+{$setc OLDROUTINENAMES := FALSE}
+{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
+{$setc OPAQUE_UPP_TYPES := TRUE}
+{$setc OTCARBONAPPLICATION := TRUE}
+{$setc OTKERNEL := FALSE}
+{$setc PM_USE_SESSION_APIS := TRUE}
+{$setc TARGET_API_MAC_CARBON := TRUE}
+{$setc TARGET_API_MAC_OS8 := FALSE}
+{$setc TARGET_API_MAC_OSX := TRUE}
+{$setc TARGET_CARBON := TRUE}
+{$setc TARGET_CPU_68K := FALSE}
+{$setc TARGET_CPU_MIPS := FALSE}
+{$setc TARGET_CPU_SPARC := FALSE}
+{$setc TARGET_OS_UNIX := FALSE}
+{$setc TARGET_OS_WIN32 := FALSE}
+{$setc TARGET_RT_MAC_68881 := FALSE}
+{$setc TARGET_RT_MAC_CFM := FALSE}
+{$setc TARGET_RT_MAC_MACHO := TRUE}
+{$setc TYPED_FUNCTION_POINTERS := TRUE}
+{$setc TYPE_BOOL := FALSE}
+{$setc TYPE_EXTENDED := FALSE}
+{$setc TYPE_LONGLONG := TRUE}
+uses MacTypes,CoreAudioTypes;
+{$endc} {not MACOSALLINCLUDE}
+
+{$ALIGN POWER}
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark Overview
+{!
+    @header AudioHardwareBase
+    
+    This file defines the HAL's object model including the properties and their needed types and
+    constants that describe the proeprty values.
+}
+
+//==================================================================================================
+//  Includes
+
+
+//==================================================================================================
+
+//#if PRAGMA_ENUM_ALWAYSINT
+//    #pragma enumsalwaysint off
+//#endif
+
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark Basic Types
+
+{!
+    @typedef        AudioObjectID
+    @abstract       A UInt32 that provides a handle on a specific AudioObject.
+}
+type
+	AudioObjectID = UInt32;
+
+{!
+    @typedef        AudioClassID
+    @abstract       AudioClassIDs are used to identify the class of an AudioObject.
+}
+type
+	AudioClassID = UInt32;
+
+{!
+    @typedef        AudioObjectPropertySelector
+    @abstract       An AudioObjectPropertySelector is a four char code that identifies, along with
+                    the AudioObjectPropertyScope and AudioObjectPropertyElement, a specific piece of
+                    information about an AudioObject.
+    @discussion     The property selector specifies the general classification of the property such
+                    as volume, stream format, latency, etc. Note that each class has a different set
+                    of selectors. A subclass inherits it's super class's set of selectors, although
+                    it may not implement them all.
+}
+type
+	AudioObjectPropertySelector = UInt32;
+
+{!
+    @typedef        AudioObjectPropertyScope
+    @abstract       An AudioObjectPropertyScope is a four char code that identifies, along with the
+                    AudioObjectPropertySelector and AudioObjectPropertyElement, a specific piece of
+                    information about an AudioObject.
+    @discussion     The scope specifies the section of the object in which to look for the property,
+                    such as input, output, global, etc. Note that each class has a different set of
+                    scopes. A subclass inherits it's superclass's set of scopes.
+}
+type
+	AudioObjectPropertyScope = UInt32;
+
+{!
+    @typedef        AudioObjectPropertyElement
+    @abstract       An AudioObjectPropertyElement is an integer that identifies, along with the
+                    AudioObjectPropertySelector and AudioObjectPropertyScope, a specific piece of
+                    information about an AudioObject.
+    @discussion     The element selects one of possibly many items in the section of the object in
+                    which to look for the property. Elements are number sequentially where 0
+                    represents the master element. Elements are particular to an instance of a
+                    class, meaning that two instances can have different numbers of elements in the
+                    same scope. There is no inheritance of elements.
+}
+type
+	AudioObjectPropertyElement = UInt32;
+
+{!
+    @struct         AudioObjectPropertyAddress
+    @abstract       An AudioObjectPropertyAddress collects the three parts that identify a specific
+                    property together in a struct for easy transmission.
+    @field          mSelector
+                        The AudioObjectPropertySelector for the property.
+    @field          mScope
+                        The AudioObjectPropertyScope for the property.
+    @field          mElement
+                        The AudioObjectPropertyElement for the property.
+}
+type
+	AudioObjectPropertyAddress = record
+		mSelector: AudioObjectPropertySelector;
+		mScope: AudioObjectPropertyScope;
+		mElement: AudioObjectPropertyElement;
+	end;
+	AudioObjectPropertyAddressPtr = ^AudioObjectPropertyAddress;
+
+//==================================================================================================
+//#pragma mark Basic Constants
+
+{!
+    @enum           Error Constants
+    @abstract       The error constants unique to the HAL.
+    @discussion     These are the error constants that are unique to the HAL. Note that the HAL's
+                    functions can and will return other codes that are not listed here. While these
+                    constants give a general idea of what might have gone wrong during the execution
+                    of an API call, if an API call returns anything other than kAudioHardwareNoError
+                    it is to be viewed as the same failure regardless of what constant is actually
+                    returned.
+    @constant       kAudioHardwareNoError
+                        The function call completed successfully.
+    @constant       kAudioHardwareNotRunningError
+                        The function call requires that the hardware be running but it isn't.
+    @constant       kAudioHardwareUnspecifiedError
+                        The function call failed while doing something that doesn't provide any
+                        error messages.
+    @constant       kAudioHardwareUnknownPropertyError
+                        The AudioObject doesn't know about the property at the given address.
+    @constant       kAudioHardwareBadPropertySizeError
+                        An improperly sized buffer was provided when accessing the data of a
+                        property.
+    @constant       kAudioHardwareIllegalOperationError
+                        The requested operation couldn't be completed.
+    @constant       kAudioHardwareBadObjectError
+                        The AudioObjectID passed to the function doesn't map to a valid AudioObject.
+    @constant       kAudioHardwareBadDeviceError
+                        The AudioObjectID passed to the function doesn't map to a valid AudioDevice.
+    @constant       kAudioHardwareBadStreamError
+                        The AudioObjectID passed to the function doesn't map to a valid AudioStream.
+    @constant       kAudioHardwareUnsupportedOperationError
+                        The AudioObject doesn't support the requested operation.
+    @constant       kAudioDeviceUnsupportedFormatError
+                        The AudioStream doesn't support the requested format.
+    @constant       kAudioDevicePermissionsError
+                        The requested operation can't be completed because the process doesn't have
+                        permission.
+}
+const
+	kAudioHardwareNoError = 0;
+	kAudioHardwareNotRunningError = FourCharCode('stop');
+	kAudioHardwareUnspecifiedError = FourCharCode('what');
+	kAudioHardwareUnknownPropertyError = FourCharCode('who?');
+	kAudioHardwareBadPropertySizeError = FourCharCode('!siz');
+	kAudioHardwareIllegalOperationError = FourCharCode('nope');
+	kAudioHardwareBadObjectError = FourCharCode('!obj');
+	kAudioHardwareBadDeviceError = FourCharCode('!dev');
+	kAudioHardwareBadStreamError = FourCharCode('!str');
+	kAudioHardwareUnsupportedOperationError = FourCharCode('unop');
+	kAudioDeviceUnsupportedFormatError = FourCharCode('!dat');
+	kAudioDevicePermissionsError = FourCharCode('!hog');
+
+{!
+    @enum           Predefined AudioObjectID values 
+    @abstract       ObjectIDs that are always the same
+    @constant       kAudioObjectUnknown
+                        This is the sentinel value. No object will have an ID whose value is 0.
+}
+const
+	kAudioObjectUnknown = 0;
+
+{!
+    @enum           Property Address Constants
+    @abstract       The valid values for the scope in a property address.
+    @constant       kAudioObjectPropertyScopeGlobal
+                        The AudioObjectPropertyScope for properties that apply to the object as a
+                        whole. All objects have a global scope and for most it is their only scope.
+    @constant       kAudioObjectPropertyScopeInput
+                        The AudioObjectPropertyScope for properties that apply to the input side of
+                        an object.
+    @constant       kAudioObjectPropertyScopeOutput
+                        The AudioObjectPropertyScope for properties that apply to the output side of
+                        an object.
+    @constant       kAudioObjectPropertyScopePlayThrough
+                        The AudioObjectPropertyScope for properties that apply to the play through
+                        side of an object.
+    @constant       kAudioObjectPropertyElementMaster
+                        The AudioObjectPropertyElement value for properties that apply to the master
+                        element or to the entire scope.
+}
+const
+	kAudioObjectPropertyScopeGlobal = FourCharCode('glob');
+	kAudioObjectPropertyScopeInput = FourCharCode('inpt');
+	kAudioObjectPropertyScopeOutput = FourCharCode('outp');
+	kAudioObjectPropertyScopePlayThrough = FourCharCode('ptru');
+	kAudioObjectPropertyElementMaster = 0;
+
+{!
+    @enum           Wildcard Constants
+    @abstract       Constants that are used as wildcards.
+    @discussion     Wildcards match any and all values for thier associated type. They are useful
+                    when registering to receive notificationss.
+    @constant       kAudioObjectPropertySelectorWildcard
+                        The wildcard value for AudioObjectPropertySelectors.
+    @constant       kAudioObjectPropertyScopeWildcard
+                        The wildcard value for AudioObjectPropertyScopes.
+    @constant       kAudioObjectPropertyElementWildcard
+                        The wildcard value for AudioObjectPropertyElements.
+    @constant       kAudioObjectClassIDWildcard
+                        The wildcard value for AudioClassIDs.
+}
+const
+	kAudioObjectPropertySelectorWildcard = FourCharCode('****');
+	kAudioObjectPropertyScopeWildcard = FourCharCode('****');
+	kAudioObjectPropertyElementWildcard = $FFFFFFFF;
+	kAudioObjectClassIDWildcard = FourCharCode('****');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioObject Constants
+
+{!
+    @enum           AudioObject Class Constants
+    @abstract       Various constants related to the AudioObject class.
+    @discussion     The AudioObject class is the base class for all classes.
+    @constant       kAudioObjectClassID
+                        The AudioClassID that identifies the AudioObject class.
+}
+const
+	kAudioObjectClassID = FourCharCode('aobj');
+
+//==================================================================================================
+//#pragma mark AudioObject Properties
+
+{!
+    @enum           AudioObject Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by objects of the AudioObject class.
+    @discussion     The AudioObject class is the base class for all classes. As such, all classes
+                    inherit this set of properties.
+    @constant       kAudioObjectPropertyBaseClass
+                        An AudioClassID that identifies the class from which the clase of the
+                        AudioObject is derived. This value must always be one of the standard
+                        classes.
+    @constant       kAudioObjectPropertyClass
+                        An AudioClassID that identifies the class of the AudioObject.
+    @constant       kAudioObjectPropertyOwner
+                        An AudioObjectID that identifies the the AudioObject that owns the given
+                        AudioObject. Note that all AudioObjects are owned by some other AudioObject.
+                        The only exception is the AudioSystemObject, for which the value of this
+                        property is kAudioObjectUnknown.
+    @constant       kAudioObjectPropertyName
+                        A CFString that contains the human readable name of the object. The caller
+                        is responsible for releasing the returned CFObject.
+    @constant       kAudioObjectPropertyModelName
+                        A CFString that contains the human readable model name of the object. The
+                        model name differs from kAudioObjectPropertyName in that two objects of the
+                        same model will have the same value for this property but may have different
+                        values for kAudioObjectPropertyName.
+    @constant       kAudioObjectPropertyManufacturer
+                        A CFString that contains the human readable name of the manufacturer of the
+                        hardware the AudioObject is a part of. The caller is responsible for
+                        releasing the returned CFObject.
+    @constant       kAudioObjectPropertyElementName
+                        A CFString that contains a human readable name for the given element in the
+                        given scope. The caller is responsible for releasing the returned CFObject.
+    @constant       kAudioObjectPropertyElementCategoryName
+                        A CFString that contains a human readable name for the category of the given
+                        element in the given scope. The caller is responsible for releasing the
+                        returned CFObject.
+    @constant       kAudioObjectPropertyElementNumberName
+                        A CFString that contains a human readable name for the number of the given
+                        element in the given scope. The caller is responsible for releasing the
+                        returned CFObject.
+    @constant       kAudioObjectPropertyOwnedObjects
+                        An array of AudioObjectIDs that represent all the AudioObjects owned by the
+                        given object. The qualifier is an array of AudioClassIDs. If it is
+                        non-empty, the returned array of AudioObjectIDs will only refer to objects
+                        whose class is in the qualifier array or whose is a subclass of one in the
+                        qualifier array.
+}
+const
+	kAudioObjectPropertyBaseClass = FourCharCode('bcls');
+	kAudioObjectPropertyClass = FourCharCode('clas');
+	kAudioObjectPropertyOwner = FourCharCode('stdv');
+	kAudioObjectPropertyName = FourCharCode('lnam');
+	kAudioObjectPropertyModelName = FourCharCode('lmod');
+	kAudioObjectPropertyManufacturer = FourCharCode('lmak');
+	kAudioObjectPropertyElementName = FourCharCode('lchn');
+	kAudioObjectPropertyElementCategoryName = FourCharCode('lccn');
+	kAudioObjectPropertyElementNumberName = FourCharCode('lcnn');
+	kAudioObjectPropertyOwnedObjects = FourCharCode('ownd');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioPlugIn Constants
+
+{!
+    @enum           AudioPlugIn Class Constants
+    @abstract       Various constants related to the AudioPlugIn class.
+    @constant       kAudioPlugInClassID
+                        The AudioClassID that identifies the AudioPlugIn class.
+}
+const
+	kAudioPlugInClassID = FourCharCode('aplg');
+
+//==================================================================================================
+//#pragma mark AudioPlugIn Properties
+
+{!
+    @enum           AudioPlugIn Properties
+    @abstract       AudioObjectPropertySelector values provided by the AudioPlugIn class.
+    @discussion     The AudioPlugIn class is a subclass of the AudioObject class. The class has just
+                    the global scope, kAudioObjectPropertyScopeGlobal, and only a master element.
+    @constant       kAudioPlugInPropertyBundleID
+                        A CFString that contains the bundle identifier for the AudioPlugIn. The
+                        caller is responsible for releasing the returned CFObject.
+    @constant       kAudioPlugInPropertyDeviceList
+                        An array of AudioObjectIDs that represent all the AudioDevices currently
+                        provided by the plug-in.
+    @constant       kAudioPlugInPropertyTranslateUIDToDevice
+                        This property fetches the AudioObjectID that corresponds to the AudioDevice
+                        that has the given UID. The UID is passed in via the qualifier as a CFString
+                        while the AudioObjectID for the AudioDevice is returned to the caller as the
+                        property's data. Note that an error is not returned if the UID doesn't refer
+                        to any AudioDevices. Rather, this property will return kAudioObjectUnknown
+                        as the value of the property.
+}
+const
+	kAudioPlugInPropertyBundleID = FourCharCode('piid');
+	kAudioPlugInPropertyDeviceList = FourCharCode('dev#');
+	kAudioPlugInPropertyTranslateUIDToDevice = FourCharCode('uidd');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioTransportManager Constants
+
+{!
+    @enum           AudioTransportManager Class Constants
+    @abstract       Various constants related to the AudioTransportManager class.
+    @discussion     The AudioTransportManager class is a subclass of the AudioPlugIn class.
+                    Instances manage an entire tranport mechanism such as AirPlay or an AVB network
+                    of devices. AudioTransportManagers present a list of AudioEndPoints that
+                    represent all the devices that they manage. They can combine AudioEndPoints into
+                    an AudioEndPointDevice that can be used by the system the same as any other
+                    AudioDevice.
+    @constant       kAudioTransportManagerClassID
+                        The AudioClassID that identifies the AudioTransportManager class.
+}
+const
+	kAudioTransportManagerClassID = FourCharCode('trpm');
+
+//==================================================================================================
+//#pragma mark AudioTransportManager Properties
+
+{!
+    @enum           AudioTransportManager Properties
+    @abstract       AudioObjectPropertySelector values provided by the AudioTransportManager class.
+    @discussion     The AudioTransportManager class is a subclass of the AudioPlugIn class. The
+                    class has just the global scope, kAudioObjectPropertyScopeGlobal, and only a
+                    master element.
+    @constant       kAudioTransportManagerPropertyEndPointList
+                        An array of AudioObjectIDs for all the AudioEndPoint objects the transport
+                        manager is tracking.
+    @constant       kAudioTransportManagerPropertyTranslateUIDToEndPoint
+                        This property fetches the AudioObjectID that corresponds to the
+                        AudioEndpoint that has the given UID. The UID is passed in via the qualifier
+                        as a CFString while the AudioObjectID for the AudioEndpoint is returned to
+                        the caller as the property's data. Note that an error is not returned if the
+                        UID doesn't refer to any AudioEndpoints. Rather, this property will return
+                        kAudioObjectUnknown as the value of the property.
+    @constant       kAudioTransportManagerPorpertyTransportType
+                        A UInt32 whose value indicates how the transport manager's endpoints and 
+						endpoint devices are connected to the CPU. Constants for some of the values
+						for this property can be found in the enum in the AudioDevice Constants
+						section of this file.
+}
+const
+	kAudioTransportManagerPropertyEndPointList = FourCharCode('end#');
+	kAudioTransportManagerPropertyTranslateUIDToEndPoint = FourCharCode('uide');
+	kAudioTransportManagerPropertyTransportType = FourCharCode('tran');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioDevice Constants
+
+{!
+    @enum           AudioDevice Class Constants
+    @abstract       Various constants related to the AudioDevice class.
+    @constant       kAudioDeviceClassID
+                        The AudioClassID that identifies the AudioDevice class.
+}
+const
+	kAudioDeviceClassID = FourCharCode('adev');
+
+{!
+    @enum           Transport Type IDs
+    @abstract       Commonly used values for kAudioDevicePropertyTransportType and
+					kAudioTransportManagerPropertyTransportType
+    @constant       kAudioDeviceTransportTypeUnknown
+                        The transport type ID returned when a device doesn't provide a transport
+                        type.
+    @constant       kAudioDeviceTransportTypeBuiltIn
+                        The transport type ID for AudioDevices built into the system.
+    @constant       kAudioDeviceTransportTypeAggregate
+                        The transport type ID for aggregate devices.
+    @constant       kAudioDeviceTransportTypeAutoAggregate
+                        The transport type ID for automatically generated aggregate devices.
+    @constant       kAudioDeviceTransportTypeVirtual
+                        The transport type ID for AudioDevices that don't correspond to real audio
+                        hardware.
+    @constant       kAudioDeviceTransportTypePCI
+                        The transport type ID for AudioDevices connected via the PCI bus.
+    @constant       kAudioDeviceTransportTypeUSB
+                        The transport type ID for AudioDevices connected via USB.
+    @constant       kAudioDeviceTransportTypeFireWire
+                        The transport type ID for AudioDevices connected via FireWire.
+    @constant       kAudioDeviceTransportTypeBluetooth
+                        The transport type ID for AudioDevices connected via Bluetooth.
+    @constant       kAudioDeviceTransportTypeHDMI
+                        The transport type ID for AudioDevices connected via HDMI.
+    @constant       kAudioDeviceTransportTypeDisplayPort
+                        The transport type ID for AudioDevices connected via DisplayPort.
+    @constant       kAudioDeviceTransportTypeAirPlay
+                        The transport type ID for AudioDevices connected via AirPlay.
+    @constant       kAudioDeviceTransportTypeAVB
+                        The transport type ID for AudioDevices connected via AVB.
+    @constant       kAudioDeviceTransportTypeThunderbolt
+                        The transport type ID for AudioDevices connected via Thunderbolt.
+}
+const
+	kAudioDeviceTransportTypeUnknown = 0;
+	kAudioDeviceTransportTypeBuiltIn = FourCharCode('bltn');
+	kAudioDeviceTransportTypeAggregate = FourCharCode('grup');
+	kAudioDeviceTransportTypeAutoAggregate = FourCharCode('fgrp');
+	kAudioDeviceTransportTypeVirtual = FourCharCode('virt');
+	kAudioDeviceTransportTypePCI = FourCharCode('pci ');
+	kAudioDeviceTransportTypeUSB = FourCharCode('usb ');
+	kAudioDeviceTransportTypeFireWire = FourCharCode('1394');
+	kAudioDeviceTransportTypeBluetooth = FourCharCode('blue');
+	kAudioDeviceTransportTypeHDMI = FourCharCode('hdmi');
+	kAudioDeviceTransportTypeDisplayPort = FourCharCode('dprt');
+	kAudioDeviceTransportTypeAirPlay = FourCharCode('airp');
+	kAudioDeviceTransportTypeAVB = FourCharCode('eavb');
+	kAudioDeviceTransportTypeThunderbolt = FourCharCode('thun');
+
+//==================================================================================================
+//#pragma mark AudioDevice Properties
+
+{!
+    @enum           AudioDevice Properties
+    @abstract       AudioObjectPropertySelector values provided by the AudioDevice class.
+    @discussion     The AudioDevice class is a subclass of the AudioObjectClass. The class has four
+                    scopes, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyScopeInput,
+                    kAudioObjectPropertyScopeOutput, and kAudioObjectPropertyScopePlayThrough. The
+                    class has a master element and an element for each channel in each stream
+                    numbered according to the starting channel number of each stream.
+    @constant       kAudioDevicePropertyConfigurationApplication
+                        A CFString that contains the bundle ID for an application that provides a
+                        GUI for configuring the AudioDevice. By default, the value of this property
+                        is the bundle ID for Audio MIDI Setup. The caller is responsible for
+                        releasing the returned CFObject.
+    @constant       kAudioDevicePropertyDeviceUID
+                        A CFString that contains a persistent identifier for the AudioDevice. An
+                        AudioDevice's UID is persistent across boots. The content of the UID string
+                        is a black box and may contain information that is unique to a particular
+                        instance of an AudioDevice's hardware or unique to the CPU. Therefore they
+                        are not suitable for passing between CPUs or for identifying similar models
+                        of hardware. The caller is responsible for releasing the returned CFObject.
+    @constant       kAudioDevicePropertyModelUID
+                        A CFString that contains a persistent identifier for the model of an
+                        AudioDevice. The identifier is unique such that the identifier from two
+                        AudioDevices are equal if and only if the two AudioDevices are the exact
+                        same model from the same manufacturer. Further, the identifier has to be the
+                        same no matter on what machine the AudioDevice appears. The caller is
+                        responsible for releasing the returned CFObject.
+    @constant       kAudioDevicePropertyTransportType
+                        A UInt32 whose value indicates how the AudioDevice is connected to the CPU.
+                        Constants for some of the values for this property can be found in the enum
+                        in the AudioDevice Constants section of this file.
+    @constant       kAudioDevicePropertyRelatedDevices
+                        An array of AudioDeviceIDs for devices related to the AudioDevice. For
+                        IOAudio-based devices, a AudioDevices are related if they share the same
+                        IOAudioDevice object.
+    @constant       kAudioDevicePropertyClockDomain
+                        A UInt32 whose value indicates the clock domain to which this AudioDevice
+                        belongs. AudioDevices that have the same value for this property are able to
+                        be synchronized in hardware. However, a value of 0 indicates that the clock
+                        domain for the device is unspecified and should be assumed to be separate
+                        from every other device's clock domain, even if they have the value of 0 as
+                        their clock domain as well.
+    @constant       kAudioDevicePropertyDeviceIsAlive
+                        A UInt32 where a value of 1 means the device is ready and available and 0
+                        means the device is usable and will most likely go away shortly.
+    @constant       kAudioDevicePropertyDeviceIsRunning
+                        A UInt32 where a value of 0 means the AudioDevice is not performing IO and
+                        a value of 1 means that it is. Note that the device can be running even if
+                        there are no active IOProcs such as by calling AudioDeviceStart() and
+                        passing a NULL IOProc. Note that the notification for this property is
+                        usually sent from the AudioDevice's IO thread.
+    @constant       kAudioDevicePropertyDeviceCanBeDefaultDevice
+                        A UInt32 where 1 means that the AudioDevice is a possible selection for
+                        kAudioHardwarePropertyDefaultInputDevice or
+                        kAudioHardwarePropertyDefaultOutputDevice depending on the scope.
+    @constant       kAudioDevicePropertyDeviceCanBeDefaultSystemDevice
+                        A UInt32 where 1 means that the AudioDevice is a possible selection for
+                        kAudioHardwarePropertyDefaultSystemOutputDevice.
+    @constant       kAudioDevicePropertyLatency
+                        A UInt32 containing the number of frames of latency in the AudioDevice. Note
+                        that input and output latency may differ. Further, the AudioDevice's
+                        AudioStreams may have additional latency so they should be queried as well.
+                        If both the device and the stream say they have latency, then the total
+                        latency for the stream is the device latency summed with the stream latency.
+    @constant       kAudioDevicePropertyStreams
+                        An array of AudioStreamIDs that represent the AudioStreams of the
+                        AudioDevice. Note that if a notification is received for this property, any
+                        cached AudioStreamIDs for the device become invalid and need to be
+                        re-fetched.
+    @constant       kAudioObjectPropertyControlList
+                        An array of AudioObjectIDs that represent the AudioControls of the
+                        AudioDevice. Note that if a notification is received for this property, any
+                        cached AudioObjectIDs for the device become invalid and need to be
+                        re-fetched.
+    @constant       kAudioDevicePropertySafetyOffset
+                        A UInt32 whose value indicates the number for frames in ahead (for output)
+                        or behind (for input the current hardware position that is safe to do IO.
+    @constant       kAudioDevicePropertyNominalSampleRate
+                        A Float64 that indicates the current nominal sample rate of the AudioDevice.
+    @constant       kAudioDevicePropertyAvailableNominalSampleRates
+                        An array of AudioValueRange structs that indicates the valid ranges for the
+                        nominal sample rate of the AudioDevice.
+    @constant       kAudioDevicePropertyIcon
+                        A CFURLRef that indicates an image file that can be used to represent the
+                        device visually. The caller is responsible for releasing the returned
+                        CFObject.
+    @constant       kAudioDevicePropertyIsHidden
+                        A UInt32 where a non-zero value indicates that the device is not included
+                        in the normal list of devices provided by kAudioHardwarePropertyDevices nor
+                        can it be the default device. Hidden devices can only be discovered by
+                        knowing their UID and using kAudioHardwarePropertyDeviceForUID.
+    @constant       kAudioDevicePropertyPreferredChannelsForStereo
+                        An array of two UInt32s, the first for the left channel, the second for the
+                        right channel, that indicate the channel numbers to use for stereo IO on the
+                        device. The value of this property can be different for input and output and
+                        there are no restrictions on the channel numbers that can be used.
+    @constant       kAudioDevicePropertyPreferredChannelLayout
+                        An AudioChannelLayout that indicates how each channel of the AudioDevice
+                        should be used.
+}
+const
+	kAudioDevicePropertyConfigurationApplication = FourCharCode('capp');
+	kAudioDevicePropertyDeviceUID = FourCharCode('uid ');
+	kAudioDevicePropertyModelUID = FourCharCode('muid');
+	kAudioDevicePropertyTransportType = FourCharCode('tran');
+	kAudioDevicePropertyRelatedDevices = FourCharCode('akin');
+	kAudioDevicePropertyClockDomain = FourCharCode('clkd');
+	kAudioDevicePropertyDeviceIsAlive = FourCharCode('livn');
+	kAudioDevicePropertyDeviceIsRunning = FourCharCode('goin');
+	kAudioDevicePropertyDeviceCanBeDefaultDevice = FourCharCode('dflt');
+	kAudioDevicePropertyDeviceCanBeDefaultSystemDevice = FourCharCode('sflt');
+	kAudioDevicePropertyLatency = FourCharCode('ltnc');
+	kAudioDevicePropertyStreams = FourCharCode('stm#');
+	kAudioObjectPropertyControlList = FourCharCode('ctrl');
+	kAudioDevicePropertySafetyOffset = FourCharCode('saft');
+	kAudioDevicePropertyNominalSampleRate = FourCharCode('nsrt');
+	kAudioDevicePropertyAvailableNominalSampleRates = FourCharCode('nsr#');
+	kAudioDevicePropertyIcon = FourCharCode('icon');
+	kAudioDevicePropertyIsHidden = FourCharCode('hidn');
+	kAudioDevicePropertyPreferredChannelsForStereo = FourCharCode('dch2');
+	kAudioDevicePropertyPreferredChannelLayout = FourCharCode('srnd');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioEndPointDevice Constants
+
+{!
+    @enum           AudioEndPointDevice Class Constants
+    @abstract       Various constants related to the AudioEndPointDevice class.
+    @constant       kAudioEndPointDeviceClassID
+                        The AudioClassID that identifies the AudioEndPointDevice class.
+}
+const
+	kAudioEndPointDeviceClassID = FourCharCode('edev');
+
+{!
+    @defined        kAudioEndPointDeviceUIDKey
+    @discussion     The key used in a CFDictionary that describes the composition of an
+                    AudioEndPointDevice. The value for this key is a CFString that contains the UID
+                    of the AudioEndPointDevice.
+}
+const
+	kAudioEndPointDeviceUIDKey = 'uid';
+
+{!
+    @defined        kAudioEndPointDeviceNameKey
+    @discussion     The key used in a CFDictionary that describes the composition of an
+                    AudioEndPointDevice. The value for this key is a CFString that contains the
+                    human readable name of the AudioEndPointDevice.
+}
+const
+	kAudioEndPointDeviceNameKey = 'name';
+
+{!
+    @defined        kAudioEndPointDeviceEndPointListKey
+    @discussion     The key used in a CFDictionary that describes the composition of an
+                    AudioEndPointDevice. The value for this key is a CFArray of CFDictionaries that
+                    describe each AudioEndPoint in the AudioEndPointDevice. The keys for this
+                    CFDictionary are defined in the AudioEndPoint Constants section.
+}
+const
+	kAudioEndPointDeviceEndPointListKey = 'endpoints';
+
+{!
+    @defined        kAudioEndPointDeviceMasterEndPointKey
+    @discussion     The key used in a CFDictionary that describes the composition of an
+                    AudioEndPointDevice. The value for this key is a CFString that contains the UID
+                    for the AudioEndPoint that is the master time source for the
+                    AudioEndPointDevice.
+}
+const
+	kAudioEndPointDeviceMasterEndPointKey = 'master';
+
+{!
+    @defined        kAudioEndPointDeviceIsPrivateKey
+    @discussion     The key used in a CFDictionary that describes the composition of an
+                    AudioEndPointDevice. The value for this key is a CFNumber where a value of 0
+                    means that the AudioEndPointDevice is to be published to the entire system and a
+                    value of 1 means that the AudioEndPointDevice is private to the process that
+                    created it. Note that a private AudioEndPointDevice is not persistent across
+                    launches of the process that created it. Note that if this key is not present,
+                    it implies that the AudioEndPointDevice is published to the entire system.
+}
+const
+	kAudioEndPointDeviceIsPrivateKey = 'private';
+
+//==================================================================================================
+//#pragma mark AudioEndPointDevice Properties
+
+{!
+    @enum           AudioEndPointDevice Properties
+    @abstract       AudioObjectPropertySelector values provided by the AudioEndPointDevice class.
+    @discussion     AudioEndPointDevice is a subclass of AudioDevice and has the same scope and
+                    element structure.
+    @constant       kAudioEndPointDevicePropertyComposition
+                        A CFDictionary that describes the composition of the AudioEndPointDevice.
+                        The keys for this CFDicitionary are defined in the AudioEndPointDevice
+                        Constants section. The caller is responsible for releasing the returned
+                        CFObject.
+    @constant       kAudioEndPointDevicePropertyEndPointList
+                        An array of AudioObjectIDs for all the AudioEndPoints in the device.
+    @constant       kAudioEndPointDevicePropertyIsPrivate
+                        A pid_t where a value of 0 idicates that the device is public and a non-zero
+                        value indicates the pid of the process that owns the device.
+}
+const
+	kAudioEndPointDevicePropertyComposition = FourCharCode('acom');
+	kAudioEndPointDevicePropertyEndPointList = FourCharCode('agrp');
+	kAudioEndPointDevicePropertyIsPrivate = FourCharCode('priv');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioEndPoint Constants
+
+{!
+    @enum           AudioEndPoint Class Constants
+    @abstract       Various constants related to the AudioEndPoint class.
+    @discussion     The AudioEndPoint class is a subclass of AudioDevice class and has the same
+                    scope and element structure. However, AudioEndPoint objects do not implement an
+                    IO path of their own and as such do not implmenent any  AudioDevice properties
+                    associated with the IO path.
+    @constant       kAudioEndPointDeviceClassID
+                        The AudioClassID that identifies the AudioEndPointDevice class.
+}
+const
+	kAudioEndPointClassID = FourCharCode('endp');
+
+{!
+    @defined        kAudioEndPointUIDKey
+    @discussion     The key used in a CFDictionary that describes the state of an AudioEndPoint in a
+                    description dictionary for an AudioEndPointDevice. The value for this key is a
+                    CFString that contains the UID for the AudioEndPoint.
+}
+const
+	kAudioEndPointUIDKey = 'uid';
+
+{!
+    @defined        kAudioEndPointNameKey
+    @discussion     The key used in a CFDictionary that describes the state of an AudioEndPoint in a
+                    description dictionary for an AudioEndPointDevice. The value for this key is a
+                    CFString that contains the human readable name of the AudioEndPoint.
+}
+const
+	kAudioEndPointNameKey = 'name';
+
+{!
+    @defined        kAudioEndPointInputChannelsKey
+    @discussion     The key used in a CFDictionary that describes the state of an AudioEndPoint in a
+                    description dictionary for an AudioEndPointDevice. The value for this key is a
+                    CFNumber that indicates the total number of input channels for the
+                    AudioEndPoint.
+}
+const
+	kAudioEndPointInputChannelsKey = 'channels-in';
+
+{!
+    @defined        kAudioEndPointOutputChannelsKey
+    @discussion     The key used in a CFDictionary that describes the state of an AudioEndPoint in a
+                    description dictionary for an AudioEndPointDevice. The value for this key is a
+                    CFNumber that indicates the total number of output channels for the
+                    AudioEndPoint.
+}
+const
+	kAudioEndPointOutputChannelsKey = 'channels-out';
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioStream Types
+
+{!
+    @struct         AudioStreamRangedDescription
+    @abstract       This structure allows a specific sample rate range to be associated with an
+                    AudioStreamBasicDescription that specifies it's sample rate as
+                    kAudioStreamAnyRate.
+    @discussion     Note that this structure is only used to desicribe the the available formats
+                    for a stream. It is not used for the current format.
+    @field          mFormat
+                        The AudioStreamBasicDescription that describes the format of the stream.
+                        Note that the mSampleRate field of the structure will be the same as the
+                        the values in mSampleRateRange when only a single sample rate is supported.
+                        It will be kAudioStreamAnyRate when there is a range with more elements. 
+    @field          mSampleRateRange
+                        The AudioValueRange that describes the minimum and maximum sample rate for
+                        the stream. If the mSampleRate field of mFormat is kAudioStreamAnyRate the
+                        format supports the range of sample rates described by this structure.
+                        Otherwise, the minimum will be the same as the maximum which will be the
+                        same as the mSampleRate field of mFormat.
+}
+type
+	AudioStreamRangedDescription = record
+		mFormat: AudioStreamBasicDescription;
+		mSampleRateRange: AudioValueRange;
+	end;
+
+//==================================================================================================
+//#pragma mark AudioStream Constants
+
+{!
+    @enum           AudioStream Class Constants
+    @abstract       Various constants related to the AudioStream class.
+    @constant       kAudioStreamClassID
+                        The AudioClassID that identifies the AudioStream class.
+}
+const
+	kAudioStreamClassID = FourCharCode('astr');
+
+{!
+    @enum           AudioStream Terminal Types
+    @abstract       Various constants that describe the terminal type of an AudioStream.
+    @constant       kAudioStreamTerminalTypeUnknown
+                        The ID used when the terminal type for the AudioStream is non known.
+    @constant       kAudioStreamTerminalTypeLine
+                        The ID for a terminal type of a line level stream. Note that this applies to
+                        both input streams and output streams
+    @constant       kAudioStreamTerminalTypeDigitalAudioInterface
+                        The ID for a terminal type of stream from/to a digital audio interface as
+                        defined by ISO 60958 (aka SPDIF or AES/EBU). Note that this applies to both
+                        input streams and output streams
+    @constant       kAudioStreamTerminalTypeSpeaker
+                        The ID for a terminal type of a speaker.
+    @constant       kAudioStreamTerminalTypeHeadphones
+                        The ID for a terminal type of headphones.
+    @constant       kAudioStreamTerminalTypeLFESpeaker
+                        The ID for a terminal type of a speaker for low frequency effects.
+    @constant       kAudioStreamTerminalTypeReceiverSpeaker
+                        The ID for a terminal type of a speaker on a telephone handset receiver.
+    @constant       kAudioStreamTerminalTypeMicrophone
+                        The ID for a terminal type of a microphone.
+    @constant       kAudioStreamTerminalTypeHeadsetMicrophone
+                        The ID for a terminal type of a microphone attached to an headset.
+    @constant       kAudioStreamTerminalTypeReceiverMicrophone
+                        The ID for a terminal type of a microhpone on a telephone handset recevier.
+    @constant       kAudioStreamTerminalTypeTTY
+                        The ID for a terminal type of a device providing a TTY signal.
+    @constant       kAudioStreamTerminalTypeHDMI
+                        The ID for a terminal type of a stream from/to an HDMI port.
+    @constant       kAudioStreamTerminalTypeDisplayPort
+                        The ID for a terminal type of a stream from/to an DisplayPort port.
+}
+const
+	kAudioStreamTerminalTypeUnknown = 0;
+	kAudioStreamTerminalTypeLine = FourCharCode('line');
+	kAudioStreamTerminalTypeDigitalAudioInterface = FourCharCode('spdf');
+	kAudioStreamTerminalTypeSpeaker = FourCharCode('spkr');
+	kAudioStreamTerminalTypeHeadphones = FourCharCode('hdph');
+	kAudioStreamTerminalTypeLFESpeaker = FourCharCode('lfes');
+	kAudioStreamTerminalTypeReceiverSpeaker = FourCharCode('rspk');
+	kAudioStreamTerminalTypeMicrophone = FourCharCode('micr');
+	kAudioStreamTerminalTypeHeadsetMicrophone = FourCharCode('hmic');
+	kAudioStreamTerminalTypeReceiverMicrophone = FourCharCode('rmic');
+	kAudioStreamTerminalTypeTTY = FourCharCode('tty_');
+	kAudioStreamTerminalTypeHDMI = FourCharCode('hdmi');
+	kAudioStreamTerminalTypeDisplayPort = FourCharCode('dprt');
+
+//==================================================================================================
+//#pragma mark AudioStream Properties
+
+{!
+    @enum           AudioStream Properties
+    @abstract       AudioObjectPropertySelector values provided by the AudioStream class.
+    @discussion     AudioStream is a subclass of AudioObject and has only the single scope,
+                    kAudioObjectPropertyScopeGlobal. They have a master element and an element for
+                    each channel in the stream numbered upward from 1.
+    @constant       kAudioStreamPropertyIsActive
+                        A UInt32 where a non-zero value indicates that the stream is enabled and
+                        doing IO.
+    @constant       kAudioStreamPropertyDirection
+                        A UInt32 where a value of 0 means that this AudioStream is an output stream
+                        and a value of 1 means that it is an input stream.
+    @constant       kAudioStreamPropertyTerminalType
+                        A UInt32 whose value describes the general kind of functionality attached
+                        to the AudioStream.
+    @constant       kAudioStreamPropertyStartingChannel
+                        A UInt32 that specifies the first element in the owning device that
+                        corresponds to element one of this stream.
+    @constant       kAudioStreamPropertyLatency
+                        A UInt32 containing the number of frames of latency in the AudioStream. Note
+                        that the owning AudioDevice may have additional latency so it should be
+                        queried as well. If both the device and the stream say they have latency,
+                        then the total latency for the stream is the device latency summed with the
+                        stream latency.
+    @constant       kAudioStreamPropertyVirtualFormat
+                        An AudioStreamBasicDescription that describes the current data format for
+                        the AudioStream. The virtual format refers to the data format in which all
+                        IOProcs for the owning AudioDevice will perform IO transactions.
+    @constant       kAudioStreamPropertyAvailableVirtualFormats
+                        An array of AudioStreamRangedDescriptions that describe the available data
+                        formats for the AudioStream. The virtual format refers to the data format in
+                        which all IOProcs for the owning AudioDevice will perform IO transactions.
+    @constant       kAudioStreamPropertyPhysicalFormat
+                        An AudioStreamBasicDescription that describes the current data format for
+                        the AudioStream. The physical format refers to the data format in which the
+                        hardware for the owning AudioDevice performs it's IO transactions.
+    @constant       kAudioStreamPropertyAvailablePhysicalFormats
+                        An array of AudioStreamRangedDescriptions that describe the available data
+                        formats for the AudioStream. The physical format refers to the data format
+                        in which the hardware for the owning AudioDevice performs it's IO
+                        transactions.
+}
+const
+	kAudioStreamPropertyIsActive = FourCharCode('sact');
+	kAudioStreamPropertyDirection = FourCharCode('sdir');
+	kAudioStreamPropertyTerminalType = FourCharCode('term');
+	kAudioStreamPropertyStartingChannel = FourCharCode('schn');
+	kAudioStreamPropertyLatency = kAudioDevicePropertyLatency;
+	kAudioStreamPropertyVirtualFormat = FourCharCode('sfmt');
+	kAudioStreamPropertyAvailableVirtualFormats = FourCharCode('sfma');
+	kAudioStreamPropertyPhysicalFormat = FourCharCode('pft ');
+	kAudioStreamPropertyAvailablePhysicalFormats = FourCharCode('pfta');
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioControl Constants
+
+{!
+    @enum           AudioControl Class Constants
+    @abstract       Various constants related to the AudioControl class.
+    @constant       kAudioControlClassID
+                        The AudioClassID that identifies the AudioControl class.
+}
+const
+	kAudioControlClassID = FourCharCode('actl');
+
+{!
+    @enum           AudioControl Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by the AudioControl class.
+    @discussion     The AudioControl class is a subclass of the AudioObject class. The class has
+                    just the global scope, kAudioObjectPropertyScopeGlobal, and only a master
+                    element.
+    @constant       kAudioControlPropertyScope
+                        An AudioServerPlugIn_PropertyScope that indicates which part of a device the
+                        control applies to.
+    @constant       kAudioControlPropertyElement
+                        An AudioServerPlugIn_PropertyElement that indicates which element of the
+                        device the control applies to.
+}
+const
+	kAudioControlPropertyScope = FourCharCode('cscp');
+	kAudioControlPropertyElement = FourCharCode('celm');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioSliderControl Constants
+
+{!
+    @enum           AudioSliderControl Class Constants
+    @abstract       Various constants related to the AudioSliderControl class.
+    @constant       kAudioSliderControlClassID
+                        The AudioClassID that identifies the AudioSliderControl class.
+}
+const
+	kAudioSliderControlClassID = FourCharCode('sldr');
+
+{!
+    @enum           AudioSliderControl Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by the AudioSliderControl class.
+    @discussion     The AudioSliderControl class is a subclass of the AudioControl class and has the
+                    same scope and element structure.
+    @constant       kAudioSliderControlPropertyValue
+                        A UInt32 that represents the value of the slider control.
+    @constant       kAudioSliderControlPropertyRange
+                        An array of two UInt32s that represents the inclusive range of values the
+                        slider control can take.
+}
+const
+	kAudioSliderControlPropertyValue = FourCharCode('sdrv');
+	kAudioSliderControlPropertyRange = FourCharCode('sdrr');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioLevelControl Constants
+
+{!
+    @enum           AudioLevelControl Class Constants
+    @abstract       Various constants related to the AudioLevelControl class.
+    @constant       kAudioLevelControlClassID
+                        The AudioClassID that identifies the LevelControl class.
+    @constant       kAudioVolumeControlClassID
+                        A subclass of the LevelControl class that implements a general
+                        gain/attenuation stage.
+    @constant       kAudioLFEVolumeControlClassID
+                        A subclass of the LevelControl class for an LFE channel that results from
+                        bass management. Note that LFE channels that are represented as normal audio
+                        channels must use kAudioVolumeControlClassID to manipulate the level.
+}
+const
+	kAudioLevelControlClassID = FourCharCode('levl');
+	kAudioVolumeControlClassID = FourCharCode('vlme');
+	kAudioLFEVolumeControlClassID = FourCharCode('subv');
+
+{!
+    @enum           AudioLevelControl Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by the AudioLevelControl class.
+    @discussion     The AudioLevelControl class is a subclass of the AudioControl class and has the
+                    same scope and element structure.
+    @constant       kAudioLevelControlPropertyScalarValue
+                        A Float32 that represents the value of the volume control. The range is
+                        between 0.0 and 1.0 (inclusive). Note that the set of all Float32 values
+                        between 0.0 and 1.0 inclusive is much larger than the set of actual values
+                        that the hardware can select. This means that the Float32 range has a many
+                        to one mapping with the underlying hardware values. As such, setting a
+                        scalar value will result in the control taking on the value nearest to what
+                        was set.
+    @constant       kAudioLevelControlPropertyDecibelValue
+                        A Float32 that represents the value of the volume control in dB. Note that
+                        the set of all Float32 values in the dB range for the control is much larger
+                        than the set of actual values that the hardware can select. This means that
+                        the Float32 range has a many to one mapping with the underlying hardware
+                        values. As such, setting a dB value will result in the control taking on the
+                        value nearest to what was set.
+    @constant       kAudioLevelControlPropertyDecibelRange
+                        An AudioValueRange that contains the minimum and maximum dB values the
+                        control can have.
+    @constant       kAudioLevelControlPropertyConvertScalarToDecibels
+                        A Float32 that on input contains a scalar volume value for the and on exit
+                        contains the equivalent dB value.
+    @constant       kAudioLevelControlPropertyConvertDecibelsToScalar
+                        A Float32 that on input contains a dB volume value for the and on exit
+                        contains the equivalent scalar value.
+}
+const
+	kAudioLevelControlPropertyScalarValue = FourCharCode('lcsv');
+	kAudioLevelControlPropertyDecibelValue = FourCharCode('lcdv');
+	kAudioLevelControlPropertyDecibelRange = FourCharCode('lcdr');
+	kAudioLevelControlPropertyConvertScalarToDecibels = FourCharCode('lcsd');
+	kAudioLevelControlPropertyConvertDecibelsToScalar = FourCharCode('lcds');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioBooleanControl Constants
+
+{!
+    @enum           AudioBooleanControl Class Constants
+    @abstract       Various constants related to the AudioBooleanControl class.
+    @constant       kAudioBooleanControlClassID
+                        The AudioClassID that identifies the BooleanControl class.
+    @constant       kAudioMuteControlClassID
+                        A subclass of the AudioBooleanControl class where a true value means that
+                        mute is enabled making that element inaudible.
+    @constant       kAudioSoloControlClassID
+                        A subclass of the AudioBooleanControl class where a true value means that
+                        solo is enabled making just that element audible and the other elements
+                        inaudible.
+    @constant       kAudioJackControlClassID
+                        A subclass of the AudioBooleanControl class where a true value means
+                        something is plugged into that element.
+    @constant       kAudioLFEMuteControlClassID
+                        A subclass of the AudioBooleanControl class where true means that mute is
+                        enabled making that LFE element inaudible. This control is for LFE channels
+                        that result from bass management. Note that LFE channels that are
+                        represented as normal audio channels must use an AudioMuteControl.
+    @constant       kAudioPhantomPowerControlClassID
+                        A subclass of the AudioBooleanControl class where true means that the
+                        element's hardware has phantom power enabled.
+    @constant       kAudioPhaseInvertControlClassID
+                        A subclass of the AudioBooleanControl class where true means that the phase
+                        of the signal on the given element is being inverted by 180 degrees.
+    @constant       kAudioClipLightControlClassID
+                        A subclass of the AudioBooleanControl class where true means that the signal
+                        for the element has exceeded the sample range. Once a clip light is turned
+                        on, it is to stay on until either the value of the control is set to false
+                        or the current IO session stops and a new IO session starts.
+    @constant       kAudioTalkbackControlClassID
+                        An AudioBooleanControl where true means that the talkback channel is
+                        enabled. This control is for talkback channels that are handled outside of 
+                        the regular IO channels. If the talkback channel is among the normal IO
+                        channels, it will use AudioMuteControl.
+    @constant       kAudioListenbackControlClassID
+                        An AudioBooleanControl where true means that the listenback channel is
+                        audible. This control is for listenback channels that are handled outside of 
+                        the regular IO channels. If the listenback channel is among the normal IO
+                        channels, it will use AudioMuteControl.
+}
+const
+	kAudioBooleanControlClassID = FourCharCode('togl');
+	kAudioMuteControlClassID = FourCharCode('mute');
+	kAudioSoloControlClassID = FourCharCode('solo');
+	kAudioJackControlClassID = FourCharCode('jack');
+	kAudioLFEMuteControlClassID = FourCharCode('subm');
+	kAudioPhantomPowerControlClassID = FourCharCode('phan');
+	kAudioPhaseInvertControlClassID = FourCharCode('phsi');
+	kAudioClipLightControlClassID = FourCharCode('clip');
+	kAudioTalkbackControlClassID = FourCharCode('talb');
+	kAudioListenbackControlClassID = FourCharCode('lsnb');
+
+{!
+    @enum           AudioBooleanControl Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by the AudioBooleanControl class.
+    @discussion     The AudioBooleanControl class is a subclass of the AudioControl class and has
+                    the same scope and element structure.
+    @constant       kAudioBooleanControlPropertyValue
+                        A UInt32 where 0 means off/false and non-zero means on/true.
+}
+const
+	kAudioBooleanControlPropertyValue = FourCharCode('bcvl');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioSelectorControl Constants
+
+{!
+    @enum           AudioSelectorControl Class Constants
+    @abstract       Various constants related to the AudioSelectorControl class.
+    @constant       kAudioSelectorControlClassID
+                        The AudioClassID that identifies the AudioSelectorControl class.
+    @constant       kAudioDataSourceControlClassID
+                        A subclass of the AudioSelectorControl class that identifies where the data
+                        for the element is coming from.
+    @constant       kAudioDataDestinationControlClassID
+                        A subclass of the AudioSelectorControl class that identifies where the data
+                        for the element is going.
+    @constant       kAudioClockSourceControlClassID
+                        A subclass of the AudioSelectorControl class that identifies where the
+                        timing info for the object is coming from.
+    @constant       kAudioLineLevelControlClassID
+                        A subclass of the AudioSelectorControl class that identifies the nominal
+                        line level for the element. Note that this is not a gain stage but rather
+                        indicating the voltage standard (if any) used for the element, such as
+                        +4dBu, -10dBV, instrument, etc.
+    @constant       kAudioHighPassFilterControlClassID
+                        A subclass of the AudioSelectorControl class that indicates the setting for
+                        the high pass filter on the given element.
+}
+const
+	kAudioSelectorControlClassID = FourCharCode('slct');
+	kAudioDataSourceControlClassID = FourCharCode('dsrc');
+	kAudioDataDestinationControlClassID = FourCharCode('dest');
+	kAudioClockSourceControlClassID = FourCharCode('clck');
+	kAudioLineLevelControlClassID = FourCharCode('nlvl');
+	kAudioHighPassFilterControlClassID = FourCharCode('hipf');
+
+{!
+    @enum           AudioSelectorControl Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by the AudioSelectorControl class.
+    @discussion     The AudioSelectorControl class is a subclass of the AudioControl class and has
+                    the same scope and element structure.
+    @constant       kAudioSelectorControlPropertyCurrentItem
+                        An array of UInt32s that are the IDs of the items currently selected.
+    @constant       kAudioSelectorControlPropertyAvailableItems
+                        An array of UInt32s that represent the IDs of all the items available.
+    @constant       kAudioSelectorControlPropertyItemName
+                        This property translates the given item ID into a human readable name. The
+                        qualifier contains the ID of the item to be translated and name is returned
+                        as a CFString as the property data. The caller is responsible for releasing
+                        the returned CFObject.
+    @constant       kAudioSelectorControlPropertyItemKind
+                        This property returns a UInt32 that identifies the kind of selector item the
+                        item ID refers to. The qualifier contains the ID of the item. Note that this
+                        property is optional for selector controls and that the meaning of the value
+                        depends on the specifc subclass being queried.
+}
+const
+	kAudioSelectorControlPropertyCurrentItem = FourCharCode('scci');
+	kAudioSelectorControlPropertyAvailableItems = FourCharCode('scai');
+	kAudioSelectorControlPropertyItemName = FourCharCode('scin');
+	kAudioSelectorControlPropertyItemKind = FourCharCode('clkk');
+
+{!
+    @enum           Constants for the value of the property, kAudioSelectorControlPropertyItemKind 
+                    for any selector control item
+    @constant       kAudioSelectorControlItemKindSpacer
+                        This ID represents an item in a selector control's range that represents a
+                        spacer item in a pop-up menu. Items with this kind are not be selectable.
+}
+const
+	kAudioSelectorControlItemKindSpacer = FourCharCode('spcr');
+
+{!
+    @enum           Constants for the value of the property, kAudioSelectorControlPropertyItemKind
+                    for AudioClockSourceControls.
+    @constant       kAudioClockSourceItemKindInternal
+                        This ID represents the device's internal clock.
+}
+const
+	kAudioClockSourceItemKindInternal = FourCharCode('int ');
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioStereoPanControl Constants
+
+{!
+    @enum           AudioStereoPanControl Class Constants
+    @abstract       Various constants related to the AudioStereoPanControl class.
+    @constant       kAudioStereoPanControlClassID
+                        The AudioClassID that identifies the StereoPanControl class.
+}
+const
+	kAudioStereoPanControlClassID = FourCharCode('span');
+
+{!
+    @enum           AudioStereoPanControl Property Selectors
+    @abstract       AudioObjectPropertySelector values provided by the AudioStereoPanControl class.
+    @discussion     The AudioStereoPanControl class is a subclass of the AudioControl class and has
+                    the same scope and element structure.
+    @constant       kAudioStereoPanControlPropertyValue
+                        A Float32 where 0.0 is full left, 1.0 is full right, and 0.5 is center.
+    @constant       kAudioStereoPanControlPropertyPanningChannels
+                        An array of two UInt32s that indicate which elements of the device the
+                        signal is being panned between.
+}
+const
+	kAudioStereoPanControlPropertyValue = FourCharCode('spcv');
+	kAudioStereoPanControlPropertyPanningChannels = FourCharCode('spcc');
+
+//==================================================================================================
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+
+end.
+{$endc} {not MACOSALLINCLUDE}

+ 1248 - 0
packages/univint/src/AudioHardwareDeprecated.pas

@@ -0,0 +1,1248 @@
+{==================================================================================================
+     File:       CoreAudio/AudioHardwareDeprecated.h
+
+     Copyright:  (c) 1985-2011 by Apple, Inc., all rights reserved.
+
+     Bugs?:      For bug reports, consult the following page on
+                 the World Wide Web:
+
+                     http://www.freepascal.org/bugs.html
+
+==================================================================================================}
+{  Initial Pascal Translation:  Jonas Maebe, <[email protected]>, October 2012 }
+{
+    Modified for use with Free Pascal
+    Version 308
+    Please report any bugs to <[email protected]>
+}
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$calling mwpascal}
+
+unit AudioHardwareDeprecated;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0400}
+{$setc GAP_INTERFACES_VERSION := $0308}
+
+{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
+    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
+{$endc}
+
+{$ifc defined CPUPOWERPC and defined CPUI386}
+	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
+{$endc}
+{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
+	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
+{$endc}
+
+{$ifc not defined __ppc__ and defined CPUPOWERPC32}
+	{$setc __ppc__ := 1}
+{$elsec}
+	{$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __ppc64__ and defined CPUPOWERPC64}
+	{$setc __ppc64__ := 1}
+{$elsec}
+	{$setc __ppc64__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+	{$setc __i386__ := 1}
+{$elsec}
+	{$setc __i386__ := 0}
+{$endc}
+{$ifc not defined __x86_64__ and defined CPUX86_64}
+	{$setc __x86_64__ := 1}
+{$elsec}
+	{$setc __x86_64__ := 0}
+{$endc}
+{$ifc not defined __arm__ and defined CPUARM}
+	{$setc __arm__ := 1}
+{$elsec}
+	{$setc __arm__ := 0}
+{$endc}
+
+{$ifc defined cpu64}
+  {$setc __LP64__ := 1}
+{$elsec}
+  {$setc __LP64__ := 0}
+{$endc}
+
+
+{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
+	{$error Conflicting definitions for __ppc__ and __i386__}
+{$endc}
+
+{$ifc defined __ppc__ and __ppc__}
+	{$setc TARGET_CPU_PPC := TRUE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __ppc64__ and __ppc64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := TRUE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __i386__ and __i386__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := TRUE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := FALSE}
+{$ifc defined(iphonesim)}
+ 	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
+{$elsec}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+{$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __x86_64__ and __x86_64__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := TRUE}
+	{$setc TARGET_CPU_ARM := FALSE}
+	{$setc TARGET_OS_MAC := TRUE}
+	{$setc TARGET_OS_IPHONE := FALSE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
+{$elifc defined __arm__ and __arm__}
+	{$setc TARGET_CPU_PPC := FALSE}
+	{$setc TARGET_CPU_PPC64 := FALSE}
+	{$setc TARGET_CPU_X86 := FALSE}
+	{$setc TARGET_CPU_X86_64 := FALSE}
+	{$setc TARGET_CPU_ARM := TRUE}
+	{ will require compiler define when/if other Apple devices with ARM cpus ship }
+	{$setc TARGET_OS_MAC := FALSE}
+	{$setc TARGET_OS_IPHONE := TRUE}
+	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
+{$elsec}
+	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
+{$endc}
+
+{$ifc defined __LP64__ and __LP64__ }
+  {$setc TARGET_CPU_64 := TRUE}
+{$elsec}
+  {$setc TARGET_CPU_64 := FALSE}
+{$endc}
+
+{$ifc defined FPC_BIG_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
+{$elifc defined FPC_LITTLE_ENDIAN}
+	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
+	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
+{$elsec}
+	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
+{$endc}
+{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
+{$setc CALL_NOT_IN_CARBON := FALSE}
+{$setc OLDROUTINENAMES := FALSE}
+{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
+{$setc OPAQUE_UPP_TYPES := TRUE}
+{$setc OTCARBONAPPLICATION := TRUE}
+{$setc OTKERNEL := FALSE}
+{$setc PM_USE_SESSION_APIS := TRUE}
+{$setc TARGET_API_MAC_CARBON := TRUE}
+{$setc TARGET_API_MAC_OS8 := FALSE}
+{$setc TARGET_API_MAC_OSX := TRUE}
+{$setc TARGET_CARBON := TRUE}
+{$setc TARGET_CPU_68K := FALSE}
+{$setc TARGET_CPU_MIPS := FALSE}
+{$setc TARGET_CPU_SPARC := FALSE}
+{$setc TARGET_OS_UNIX := FALSE}
+{$setc TARGET_OS_WIN32 := FALSE}
+{$setc TARGET_RT_MAC_68881 := FALSE}
+{$setc TARGET_RT_MAC_CFM := FALSE}
+{$setc TARGET_RT_MAC_MACHO := TRUE}
+{$setc TYPED_FUNCTION_POINTERS := TRUE}
+{$setc TYPE_BOOL := FALSE}
+{$setc TYPE_EXTENDED := FALSE}
+{$setc TYPE_LONGLONG := TRUE}
+uses MacTypes, CFRunLoop, CoreAudioTypes, AudioHardwareBase, AudioHardware;
+{$endc} {not MACOSALLINCLUDE}
+
+
+{$ALIGN POWER}
+
+//==================================================================================================
+//  Includes
+
+
+//==================================================================================================
+
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark Property Support Constants
+
+{!
+    @enum           Property Address Constants
+    @abstract       The valid values for the scope in a property address.
+    @constant       kAudioDevicePropertyScopeInput
+                        The AudioObjectPropertyScope for properties that apply to the input side of
+                        an object.
+    @constant       kAudioDevicePropertyScopeOutput
+                        The AudioObjectPropertyScope for properties that apply to the output side of
+                        an object.
+    @constant       kAudioDevicePropertyScopePlayThrough
+                        The AudioObjectPropertyScope for properties that apply to the play through
+                        side of an object.
+}
+const
+	kAudioDevicePropertyScopeInput = kAudioObjectPropertyScopeInput;
+	kAudioDevicePropertyScopeOutput = kAudioObjectPropertyScopeOutput;
+	kAudioDevicePropertyScopePlayThrough = kAudioObjectPropertyScopePlayThrough;
+
+{!
+    @enum           Property Wildcard Constants
+    @abstract       Constants that are used as wildcards in an AudioObjectPropertyAddress.
+    @discussion     Wildcards match any and all values for there associated type. They are
+                    especially useful for registering listener procs to receive notifications and
+                    for querying an AudioObject's list of AudioControls.
+    @constant       kAudioPropertyWildcardPropertyID
+                        A synonym for kAudioObjectPropertySelectorWildcard.
+    @constant       kAudioPropertyWildcardSection
+                        The wildcard value for the isInput argument of AudioDeviceGetPropertyInfo(),
+                        AudioDeviceGetProperty(), and AudioDeviceSetProperty().
+    @constant       kAudioPropertyWildcardChannel
+                        A synonym for kAudioObjectPropertyElementWildcard.
+}
+const
+	kAudioPropertyWildcardPropertyID = kAudioObjectPropertySelectorWildcard;
+	kAudioPropertyWildcardSection = $FF;
+	kAudioPropertyWildcardChannel = kAudioObjectPropertyElementWildcard;
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioControl Constants
+
+{!
+    @enum           AudioBooleanControl Subclass IDs
+    @abstract       The four char codes that identify the various standard subclasses of
+                    AudioBooleanControl.
+    @constant       kAudioISubOwnerClassID
+                        An AudioBooleanControl where true means that the AudioDevice that
+                        ultimately owns the control also owns any iSub attached to the CPU.
+}
+const
+	kAudioISubOwnerControlClassID = FourCharCode('atch');
+
+//==================================================================================================
+//#pragma mark AudioControl Properties
+
+{!
+    @enum           AudioLevelControl Properties
+    @abstract       AudioObjectPropertySelector values that apply to all AudioLevelControls.
+    @discussion     AudioLevelControl is a subclass of AudioControl and has only the single scope,
+                    kAudioObjectPropertyScopeGlobal, and only a master element.
+    @constant       kAudioLevelControlPropertyDecibelsToScalarTransferFunction
+                        A UInt32 whose value indicates the transfer function the HAL uses to convert
+                        between decibel values and scalar values.
+}
+const
+	kAudioLevelControlPropertyDecibelsToScalarTransferFunction = FourCharCode('lctf');
+
+{!
+    @enum           Values for kAudioLevelControlPropertyDecibelsToScalarTransferFunction
+    @abstract       The following constants are the only supported values for a volume control's
+                    transfer function.
+    @discussion     The transfer function implemented in the volume control works by raising the
+                    scalar value to an exponent to map it into the decibel range. The constants
+                    in this enum express the exponent used in the name as a quotient. For example,
+                    kAudioLevelControlTranferFunction3Over4 represents the exponent 0.75.
+}
+const
+	kAudioLevelControlTranferFunctionLinear = 0;
+	kAudioLevelControlTranferFunction1Over3 = 1;
+	kAudioLevelControlTranferFunction1Over2 = 2;
+	kAudioLevelControlTranferFunction3Over4 = 3;
+	kAudioLevelControlTranferFunction3Over2 = 4;
+	kAudioLevelControlTranferFunction2Over1 = 5;
+	kAudioLevelControlTranferFunction3Over1 = 6;
+	kAudioLevelControlTranferFunction4Over1 = 7;
+	kAudioLevelControlTranferFunction5Over1 = 8;
+	kAudioLevelControlTranferFunction6Over1 = 9;
+	kAudioLevelControlTranferFunction7Over1 = 10;
+	kAudioLevelControlTranferFunction8Over1 = 11;
+	kAudioLevelControlTranferFunction9Over1 = 12;
+	kAudioLevelControlTranferFunction10Over1 = 13;
+	kAudioLevelControlTranferFunction11Over1 = 14;
+	kAudioLevelControlTranferFunction12Over1 = 15;
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioSystemObject Types
+
+{!
+    @typedef        AudioHardwarePropertyID
+    @abstract       An AudioHardwarePropertyID is a integer that identifies a specific piece of
+                    information about the AudioSystemObject.
+}
+type
+	AudioHardwarePropertyID = AudioObjectPropertySelector;
+
+{!
+    @typedef        AudioHardwarePropertyListenerProc
+    @abstract       Clients register an AudioHardwarePropertyListenerProc with the AudioSystemObject
+                    in order to receive notifications when the properties of the object change.
+    @discussion     Note that the same functionality is provided by AudioObjectPropertyListenerProc.
+    @param          inPropertyID
+                        The AudioHardwarePropertyID of the property that changed.
+    @param          inClientData
+                        A pointer to client data established when the listener proc was registered
+                        with the AudioSystemObject.
+    @result         The return value is currently unused and should always be 0.
+}
+type
+	AudioHardwarePropertyListenerProc = function( inPropertyID: AudioHardwarePropertyID; inClientData: UnivPtr ): OSStatus;
+
+//==================================================================================================
+//#pragma mark AudioSystemObject Constants
+
+{!
+    @defined        kAudioHardwareRunLoopMode
+    @discussion     The name of the run loop mode to which only HAL run loop sources and sources
+                    added via AudioHardwareAddRunLoopSource() belong. This is the mode in which to
+                    task a run loop in order to ensure that just HAL related events are handled.
+}
+const
+	kAudioHardwareRunLoopMode = 'com.apple.audio.CoreAudio';
+
+//==================================================================================================
+//#pragma mark AudioSystemObject Properties
+
+{!
+    @enum           AudioSystemObject Properties
+    @abstract       AudioObjectPropertySelector values that apply to the AudioSystemObject.
+    @discussion     The AudioSystemObject has one scope, kAudioObjectPropertyScopeGlobal, and only a
+                    master element.
+    @constant       kAudioHardwarePropertyRunLoop
+                        The CFRunLoopRef the HAL is currently attaching all of it's system
+                        notification handlers to. In 10.6 and later, the HAL will use the process's
+                        run loop (as defined by CFRunLoopGetMain()) for this task. Whereas in
+                        previous releases, the HAL created and managed it's own thread for the task.
+                        Clients can set this property to tell the HAL to use a thread of the
+                        client's choosing. If the value for this property is set to NULL, the HAL
+                        will return to it's pre-10.6 behavior of creating and managing it's own
+                        thread for notifications. The caller is responsible for releasing the
+                        returned CFObject.
+    @constant       kAudioHardwarePropertyDeviceForUID
+                        Using an AudioValueTranslation structure, this property translates the input
+                        CFStringRef containing a UID into the AudioDeviceID that refers to the
+                        AudioDevice with that UID. This property will return kAudioDeviceUnknown if
+                        the given UID does not match any currently available AudioDevice.
+}
+const
+	kAudioHardwarePropertyRunLoop = FourCharCode('rnlp');
+	kAudioHardwarePropertyDeviceForUID = FourCharCode('duid');
+
+{!
+    @enum           AudioSystemObject Properties Implemented via AudioControl objects
+    @abstract       AudioObjectPropertySelector values for AudioSystemObject properties that are
+                    implemented by AudioControl objects.
+    @discussion     These properties are also accessible by locating the AudioControl object
+                    attached to the AudioSystemObject and using that object to access the properties
+                    of the control.
+    @constant       kAudioHardwarePropertyBootChimeVolumeScalar
+                        A Float32 that represents the value of the boot chime volume control. The
+                        range is between 0.0 and 1.0 (inclusive). This property is implemented by an
+                        AudioControl object that is a subclass of AudioBootChimeVolumeControl.
+    @constant       kAudioHardwarePropertyBootChimeVolumeDecibels
+                        A Float32 that represents the value of the boot chime volume control in dB.
+                        This property is implemented by an AudioControl object that is a subclass
+                        of AudioBootChimeVolumeControl.
+    @constant       kAudioHardwarePropertyBootChimeVolumeRangeDecibels
+                        An AudioValueRange that contains the minimum and maximum dB values the
+                        boot chime control can have. This property is implemented by an AudioControl
+                        object that is a subclass of AudioBootChimeVolumeControl.
+    @constant       kAudioHardwarePropertyBootChimeVolumeScalarToDecibels
+                        A Float32 that on input contains a scalar volume value for the boot chime
+                        and on exit contains the equivalent dB value. This property is implemented
+                        by an AudioControl object that is a subclass of AudioBootChimeVolumeControl.
+    @constant       kAudioHardwarePropertyBootChimeVolumeDecibelsToScalar
+                        A Float32 that on input contains a dB volume value for the boot chime and on
+                        exit contains the equivalent scalar value. This property is implemented by
+                        an AudioControl object that is a subclass of AudioBootChimeVolumeControl.
+    @constant       kAudioHardwarePropertyBootChimeVolumeDecibelsToScalarTransferFunction
+                        A UInt32 whose value indicates the transfer function the HAL uses to convert
+                        between decibel values and scalar values. This property is implemented by an
+                        AudioControl object that is a subclass of AudioBootChimeVolumeControl.
+}
+const
+	kAudioHardwarePropertyBootChimeVolumeScalar = FourCharCode('bbvs');
+	kAudioHardwarePropertyBootChimeVolumeDecibels = FourCharCode('bbvd');
+	kAudioHardwarePropertyBootChimeVolumeRangeDecibels = FourCharCode('bbd#');
+	kAudioHardwarePropertyBootChimeVolumeScalarToDecibels = FourCharCode('bv2d');
+	kAudioHardwarePropertyBootChimeVolumeDecibelsToScalar = FourCharCode('bd2v');
+	kAudioHardwarePropertyBootChimeVolumeDecibelsToScalarTransferFunction = FourCharCode('bvtf');
+
+//==================================================================================================
+//#pragma mark AudioSystemObject Functions
+
+{!
+    @functiongroup  AudioSystemObject
+}
+
+{!
+    @function       AudioHardwareAddRunLoopSource
+    @abstract       Add the given CFRunLoopSource to the the HAL's notification CFRunLoop.
+    @discussion     The CFRunLoop the HAL uses for notifications is specified by
+                    kAudioHardwarePropertyRunLoop. If kAudioHardwarePropertyRunLoop changes,
+                    CFRunLoopSources added with this function will automatically be transferred to
+                    the new CFRunLoop.
+                    Usage of the HAL's notification run loop is deprecated. Please use libdispatch
+                    instead.
+    @param          inRunLoopSource
+                        The CFRunLoopSource to add.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareAddRunLoopSource( inRunLoopSource: CFRunLoopSourceRef ): OSStatus; external name '_AudioHardwareAddRunLoopSource';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_7, __IPHONE_2_0, __IPHONE_4_1) *)
+
+{!
+    @function       AudioHardwareRemoveRunLoopSource
+    @abstract       Remove the given CFRunLoopSource from the the HAL's notification CFRunLoop.
+    @discussion     The CFRunLoop the HAL uses for notifications is specified by
+                    kAudioHardwarePropertyRunLoop.
+                    Usage of the HAL's notification run loop is deprecated. Please use libdispatch
+                    instead.
+    @param          inRunLoopSource
+                        The CFRunLoopSource to remove.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareRemoveRunLoopSource( inRunLoopSource: CFRunLoopSourceRef ): OSStatus; external name '_AudioHardwareRemoveRunLoopSource';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_7, __IPHONE_2_0, __IPHONE_4_1) *)
+
+{!
+    @function       AudioHardwareGetPropertyInfo
+    @abstract       Retrieve information about the given property.
+    @discussion     Note that the same functionality is provided by the functions
+                    AudioObjectHasProperty(), AudioObjectIsPropertySettable(), and
+                    AudioObjectGetPropertyDataSize().
+    @param          inPropertyID
+                        The AudioHardwarePropertyID of the property to query.
+    @param          outSize
+                        A pointer to a UInt32 that receives the size of the property data in bytes
+                        on exit. This can be NULL if the size information is not being requested.
+    @param          outWritable
+                        A pointer to a Boolean that receives indication of whether or not the given
+                        property can be set. This can be NULL if the writability is not being
+                        requested.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareGetPropertyInfo( inPropertyID: AudioHardwarePropertyID; outSize: UInt32Ptr; outWritable: BooleanPtr ): OSStatus; external name '_AudioHardwareGetPropertyInfo';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioHardwareGetProperty
+    @abstract       Queries an the AudioSystemObject to get the data of the given property and
+                    places it in the provided buffer.
+    @discussion     Note that the same functionality is provided by the function
+                    AudioObjectGetPropertyData().
+    @param          inPropertyID
+                        The AudioHardwarePropertyID of the property to query.
+    @param          ioDataSize
+                        A UInt32 which on entry indicates the size of the buffer pointed to by
+                        outData and on exit indicates how much of the buffer was used.
+    @param          outData
+                        The buffer into which the AudioSystemObject will put the data for the given
+                        property.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareGetProperty( inPropertyID: AudioHardwarePropertyID; var ioPropertyDataSize: UInt32; outPropertyData: UnivPtr ): OSStatus; external name '_AudioHardwareGetProperty';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioHardwareSetProperty
+    @abstract       Tells the AudioSystemObject to change the value of the given property using the
+                    provided data.
+    @discussion     Note that the value of the property should not be considered changed until the
+                    HAL has called the listeners as many properties values are changed
+                    asynchronously. Also note that the same functionality is provided by the
+                    function AudioObjectGetPropertyData().
+    @param          inPropertyID
+                        The AudioHardwarePropertyID of the property to change.
+    @param          inDataSize
+                        A UInt32 indicating the size of the buffer pointed to by inData.
+    @param          inData
+                        The buffer containing the data to be used to change the property's value.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareSetProperty( inPropertyID: AudioHardwarePropertyID; inPropertyDataSize: UInt32; inPropertyData: {const} UnivPtr ): OSStatus; external name '_AudioHardwareSetProperty';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioHardwareAddPropertyListener
+    @abstract       Registers the given AudioHardwarePropertyListenerProc to receive notifications
+                    when the given property changes.
+    @discussion     Note that the same functionality is provided by AudioObjectAddPropertyListener
+                    in conjunction with AudioObjectPropertyListenerProc.
+    @param          inPropertyID
+                        The AudioHardwarePropertyID of the property to listen to.
+    @param          inProc
+                        AudioHardwarePropertyListenerProc to call.
+    @param          inClientData
+                        A pointer to client data that is passed to the listener when it is called.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareAddPropertyListener( inPropertyID: AudioHardwarePropertyID; inProc: AudioHardwarePropertyListenerProc; inClientData: UnivPtr ): OSStatus; external name '_AudioHardwareAddPropertyListener';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioHardwareRemovePropertyListener
+    @abstract       Unregisters the given AudioHardwarePropertyListenerProc from receive
+                    notifications when the given property changes.
+    @discussion     Note that the same functionality is provided by
+                    AudioObjectRemovePropertyListener in conjunction with
+                    AudioObjectPropertyListenerProc.
+    @param          inPropertyID
+                        The AudioHardwarePropertyID of the property to stop listening to.
+    @param          inProc
+                        AudioHardwarePropertyListenerProc to unregister.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioHardwareRemovePropertyListener( inPropertyID: AudioHardwarePropertyID; inProc: AudioHardwarePropertyListenerProc ): OSStatus; external name '_AudioHardwareRemovePropertyListener';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioDevice Types
+
+{!
+    @typedef        AudioDeviceID
+    @abstract       AudioDevice is the base class for all objects that represent an audio device.
+    @discussion     AudioDevice is a subclass of AudioObject. AudioDevices normally contain
+                    AudioStreams and AudioControls, but may contain other things depending on the
+                    kind of AudioDevice (e.g. aggregate devices contain other AudioDevices).
+}
+type
+	AudioDeviceID = AudioObjectID;
+
+{!
+    @typedef        AudioDevicePropertyID
+    @abstract       An AudioDevicePropertyID is an integer that identifies a specific piece of
+                    information about the object.
+}
+type
+	AudioDevicePropertyID = AudioObjectPropertySelector;
+
+{!
+    @typedef        AudioDevicePropertyListenerProc
+    @abstract       Clients register an AudioDevicePropertyListenerProc with the AudioDevice object
+                    in order to receive notifications when the properties of the object change.
+    @discussion     Note that the same functionality is provided by AudioObjectPropertyListenerProc.
+    @param          inDevice
+                        The AudioDevice whose property has changed.
+    @param          inChannel
+                        The channel of the property that changed where 0 is the master channel.
+    @param          isInput
+                        Which section of the AudioDevice changed.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property that changed.
+    @param          inClientData
+                        A pointer to client data established when the listener proc was registered
+                        with the object.
+    @result         The return value is currently unused and should always be 0.
+}
+type
+	AudioDevicePropertyListenerProc = function( inDevice: AudioDeviceID; inChannel: UInt32; isInput: Boolean; inPropertyID: AudioDevicePropertyID; inClientData: UnivPtr ): OSStatus;
+
+//==================================================================================================
+//#pragma mark AudioDevice Constants
+
+{!
+    @enum           AudioDevice Class Constants
+    @abstract       Various constants related to AudioDevices.
+    @constant       kAudioDeviceUnknown
+                        The AudioObjectID for a nonexistent AudioObject.
+}
+const
+	kAudioDeviceUnknown = kAudioObjectUnknown;
+
+//==================================================================================================
+//#pragma mark AudioDevice Properties
+
+{!
+    @enum           AudioDevice Properties Implemented via AudioControl objects
+    @abstract       AudioObjectPropertySelector values for AudioDevice properties that are
+                    implemented by AudioControl objects.
+    @discussion     These properties are also accessible by locating the AudioControl object
+                    attached to the AudioDevice and using that object to access the properties of
+                    the control.
+    @constant       kAudioDevicePropertyVolumeDecibelsToScalarTransferFunction
+                        A UInt32 whose value indicates the transfer function the HAL uses to convert
+                        between decibel values and scalar values. This property is implemented by an
+                        AudioControl object that is a subclass of AudioVolumeControl.
+    @constant       kAudioDevicePropertyPlayThruVolumeDecibelsToScalarTransferFunction
+                        A UInt32 whose value indicates the transfer function the HAL uses to convert
+                        between decibel values and scalar values. This property is implemented by an
+                        AudioControl object that is a subclass of AudioVolumeControl. Further, the
+                        control that implements this property is only available through
+                        kAudioDevicePropertyScopePlayThrough.
+    @constant       kAudioDevicePropertyDriverShouldOwniSub
+                        A UInt32 where a value of 0 means that the AudioDevice should not claim
+                        ownership of any attached iSub and a value of 1 means that it should. Note
+                        that this property is only available for built-in devices and for USB Audio
+                        devices that use the standard class compliant driver. This property is
+                        implemented by an AudioControl object that is a subclass of
+                        AudioISubOwnerControl.
+    @constant       kAudioDevicePropertySubVolumeDecibelsToScalarTransferFunction
+                        A UInt32 whose value indicates the transfer function the HAL uses to convert
+                        between decibel values and scalar values. This property is implemented by an
+                        AudioControl object that is a subclass of AudioLFEVolumeControl.
+}
+const
+	kAudioDevicePropertyVolumeDecibelsToScalarTransferFunction = FourCharCode('vctf');
+	kAudioDevicePropertyPlayThruVolumeDecibelsToScalarTransferFunction = FourCharCode('mvtf');
+	kAudioDevicePropertyDriverShouldOwniSub = FourCharCode('isub');
+	kAudioDevicePropertySubVolumeDecibelsToScalarTransferFunction = FourCharCode('svtf');
+
+{!
+    @enum           AudioDevice Properties That Ought To Some Day Be Deprecated
+    @abstract       AudioObjectPropertySelector values whose functionality is better provided by
+                    other selectors.
+    @discussion     These selectors are still provided for backward compatibility. The description
+                    of the property will indicate in parentheses the better selectors to use and
+                    why.
+    @constant       kAudioDevicePropertyDeviceName
+                        A C-string that contains the human readable name of the AudioDevice.
+                        (kAudioObjectPropertyName: CFStrings are better for localization.)
+    @constant       kAudioDevicePropertyDeviceNameCFString
+                        A CFStringRef that contains the human readable name of the AudioDevice. The
+                        caller is responsible for releasing the returned CFObject.
+                        (kAudioObjectPropertyName: This is just another name for the inherited
+                        selector.)
+    @constant       kAudioDevicePropertyDeviceManufacturer
+                        A C-string that contains the human readable name of the manufacturer of the
+                        AudioDevice.
+                        (kAudioObjectPropertyManufacturer: CFStrings are better for localization.)
+    @constant       kAudioDevicePropertyDeviceManufacturerCFString
+                        A CFString that contains the human readable name of the manufacturer of the
+                        AudioDevice. The caller is responsible for releasing the returned CFObject.
+                        (kAudioObjectPropertyManufacturer: This is just another name for the
+                        inherited selector.)
+    @constant       kAudioDevicePropertyRegisterBufferList
+                        This property allows clients to register a fully populated AudioBufferList
+                        that matches the topology described by
+                        kAudioDevicePropertyStreamConfiguration for doing input using
+                        AudioDeviceRead(). The AudioBufferList will be registered with the call the
+                        AudioDeviceSetProperty() and will be unregistered with the call to
+                        AudioDeviceGetProperty(). If this property isn't implemented by the
+                        AudioDevice, it implies that the AudioDevice also doesn't support
+                        AudioDeviceRead().
+                        (Aggregate devices make AudioDeviceRead() obsolete for the most part.)
+    @constant       kAudioDevicePropertyBufferSize
+                        A UInt32 containing the size in bytes of the IO buffer for the AudioStream
+                        containing the element.
+                        (kAudioDevicePropertyBufferFrameSize: with multiple AudioStreams and the
+                        requirement that all streams' buffers represent the same amount of time, it
+                        doesn't make sense to set the buffer size in bytes since it will be
+                        different for each stream.)
+    @constant       kAudioDevicePropertyBufferSizeRange
+                        An AudioValueRange specifying the minimum and maximum bytes size for the
+                        IO buffer for the AudioStream containing the given element.
+                        (kAudioDevicePropertyBufferFrameSizeRange: see
+                        kAudioDevicePropertyBufferSize.)
+    @constant       kAudioDevicePropertyChannelName
+                        A C-string that contains a human readable name for the given element in the
+                        given scope. The caller is responsible for releasing the returned CFObject.
+                        (kAudioObjectPropertyElementName: CFStrings are better for
+                        localization.)
+    @constant       kAudioDevicePropertyChannelNameCFString
+                        A CFString that contains a human readable name for the given element in the
+                        given scope. The caller is responsible for releasing the returned CFObject.
+                        (kAudioObjectPropertyElementName: This is just another name for the
+                        inherited selector.)
+    @constant       kAudioDevicePropertyChannelCategoryName
+                        A C-string that contains a human readable name for the category of the given
+                        element in the given scope. The caller is responsible for releasing the
+                        returned CFObject.
+                        (kAudioObjectPropertyElementCategoryName: CFStrings are better for
+                        localization.)
+    @constant       kAudioDevicePropertyChannelCategoryNameCFString
+                        A CFString that contains a human readable name for the category of the given
+                        element in the given scope. The caller is responsible for releasing the
+                        returned CFObject.
+                        (kAudioObjectPropertyElementCategoryName: This is just another name for the
+                        inherited selector.)
+    @constant       kAudioDevicePropertyChannelNumberName
+                        A C-string that contains a human readable name for the number of the given
+                        element in the given scope. The caller is responsible for releasing the
+                        returned CFObject.
+                        (kAudioObjectPropertyElementNumberName: CFStrings are better for
+                        localization.)
+    @constant       kAudioDevicePropertyChannelNumberNameCFString
+                        A CFString that contains a human readable name for the number of the given
+                        element in the given scope. The caller is responsible for releasing the
+                        returned CFObject.
+                        (kAudioObjectPropertyElementNumberName: This is just another name for the
+                        inherited selector.)
+    @constant       kAudioDevicePropertySupportsMixing
+                        A UInt32 where a value of 1 means the AudioDevice supports mixing and a
+                        value of 0 means that it doesn't and that all IO is performed in each
+                        AudioStream's current physical format. This property is changed indirectly
+                        by changing to a format that doesn't support mixing, such as AC-3. (The HAL
+                        now vends it's format information with a flag indicating the mixability in
+                        order to better support devices with streams that are both mixable and non-
+                        mixable.)
+    @constant       kAudioDevicePropertyStreamFormat
+                        An AudioStreamBasicDescription that describes the current data format for
+                        the AudioStream that contains the channel referred to by the element number.
+                        (kAudioStreamPropertyVirtualFormat: Managing format information is
+                        inherently an operation on AudioStreams, rather than AudioDevices. It is
+                        confusing for the client to work with formats at the AudioDevice level and
+                        has been shown to lead to programming mistakes by clients when working with
+                        devices that have multiple streams.)
+    @constant       kAudioDevicePropertyStreamFormats
+                        An array of AudioStreamBasicDescriptions that describe the available data
+                        formats for the AudioStream that contains the channel referred to by the
+                        element number.
+                        (kAudioStreamPropertyAvailableVirtualFormats: Managing format information is
+                        inherently an operation on AudioStreams, rather than AudioDevices. It is
+                        confusing for the client to work with formats at the AudioDevice level and
+                        has been shown to lead to programming mistakes by clients when working with
+                        devices that have multiple streams.)
+    @constant       kAudioDevicePropertyStreamFormatSupported
+                        An AudioStreamBasicDescription is passed in to query whether or not the
+                        format is supported. A kAudioDeviceUnsupportedFormatError will be returned
+                        if the format is not supported and kAudioHardwareNoError will be returned if
+                        it is supported. AudioStreamBasicDescription fields set to 0 will be ignored
+                        in the query, but otherwise values must match exactly.
+                        (kAudioStreamPropertyAvailableVirtualFormats: The proper and most robust way
+                        to find a format that the AudioStream can support is to get the list of
+                        available formats and look through that rather than using this property.)
+    @constant       kAudioDevicePropertyStreamFormatMatch
+                        An AudioStreamBasicDescription is passed in and the AudioStream will modify
+                        it to describe the best match, in the AudioDevice's opinion, for the given
+                        format.
+                        (kAudioStreamPropertyAvailableVirtualFormats: The proper and most robust way
+                        to find a format that the AudioStream can support is to get the list of
+                        available formats and look through that rather than using this property.)
+    @constant       kAudioDevicePropertyDataSourceNameForID
+                        This property translates the given data source item ID into a human readable
+                        name using an AudioValueTranslation structure. The input data is the UInt32
+                        holding the item ID to be translated and the output data is a buffer to hold
+                        the name as a null terminated C-string.
+                        (kAudioDevicePropertyDataSourceNameForIDCFString: CFStrings are better for
+                        localization.)
+    @constant       kAudioDevicePropertyClockSourceNameForID
+                        This property translates the given clock source item ID into a human
+                        readable name using an AudioValueTranslation structure. The input data is
+                        the UInt32 holding the item ID to be translated and the output data is a
+                        buffer to hold the name as a null terminated C-string.
+                        (kAudioDevicePropertyClockSourceNameForIDCFString: CFStrings are better for
+                        localization.)
+    @constant       kAudioDevicePropertyPlayThruDestinationNameForID
+                        This property translates the given play through destination item ID into a
+                        human readable name using an AudioValueTranslation structure. The input data
+                        is the UInt32 holding the item ID to be translated and the output data is a
+                        buffer to hold the name as a null terminated C-string.
+                        (kAudioDevicePropertyPlayThruDestinationNameForIDCFString: CFStrings are
+                        better for localization.)
+    @constant       kAudioDevicePropertyChannelNominalLineLevelNameForID
+                        This property translates the given nominal line level item ID into a human
+                        readable name using an AudioValueTranslation structure. The input data is
+                        the UInt32 holding the item ID to be translated and the output data is a
+                        buffer to hold the name as a null terminated C-string.
+                        (kAudioDevicePropertyChannelNominalLineLevelNameForIDCFString: CFStrings are
+                        better for localization.)
+    @constant       kAudioDevicePropertyHighPassFilterSettingNameForID
+                        This property translates the given high pass filter setting item ID into a
+                        human readable name using an AudioValueTranslation structure. The input data
+                        is the UInt32 holding the item ID to be translated and the output data is a
+                        buffer to hold the name as a null terminated C-string.
+                        (kAudioDevicePropertyHighPassFilterSettingNameForIDCFString: CFStrings are
+                        better for localization.)
+}
+const
+	kAudioDevicePropertyDeviceName = FourCharCode('name');
+	kAudioDevicePropertyDeviceNameCFString = kAudioObjectPropertyName;
+	kAudioDevicePropertyDeviceManufacturer = FourCharCode('makr');
+	kAudioDevicePropertyDeviceManufacturerCFString = kAudioObjectPropertyManufacturer;
+	kAudioDevicePropertyRegisterBufferList = FourCharCode('rbuf');
+	kAudioDevicePropertyBufferSize = FourCharCode('bsiz');
+	kAudioDevicePropertyBufferSizeRange = FourCharCode('bsz#');
+	kAudioDevicePropertyChannelName = FourCharCode('chnm');
+	kAudioDevicePropertyChannelNameCFString = kAudioObjectPropertyElementName;
+	kAudioDevicePropertyChannelCategoryName = FourCharCode('ccnm');
+	kAudioDevicePropertyChannelCategoryNameCFString = kAudioObjectPropertyElementCategoryName;
+	kAudioDevicePropertyChannelNumberName = FourCharCode('cnnm');
+	kAudioDevicePropertyChannelNumberNameCFString = kAudioObjectPropertyElementNumberName;
+	kAudioDevicePropertySupportsMixing = FourCharCode('mix?');
+	kAudioDevicePropertyStreamFormat = FourCharCode('sfmt');
+	kAudioDevicePropertyStreamFormats = FourCharCode('sfm#');
+	kAudioDevicePropertyStreamFormatSupported = FourCharCode('sfm?');
+	kAudioDevicePropertyStreamFormatMatch = FourCharCode('sfmm');
+	kAudioDevicePropertyDataSourceNameForID = FourCharCode('sscn');
+	kAudioDevicePropertyClockSourceNameForID = FourCharCode('cscn');
+	kAudioDevicePropertyPlayThruDestinationNameForID = FourCharCode('mddn');
+	kAudioDevicePropertyChannelNominalLineLevelNameForID = FourCharCode('cnlv');
+	kAudioDevicePropertyHighPassFilterSettingNameForID = FourCharCode('chip');
+
+//==================================================================================================
+//#pragma mark AudioDevice Functions
+
+{!
+    @functiongroup  AudioDevice
+}
+
+{!
+    @function       AudioDeviceAddIOProc
+    @abstract       Registers the given AudioDeviceIOProc with the AudioDevice.
+    @discussion     A client may have multiple IOProcs for a given device, but the device is free to
+                    only accept as many as it can handle. Note that it is not recommended for
+                    clients to have more than a single IOProc registered at a time as this can be
+                    wasteful of system resources. Rather, it is recommended that the client do any
+                    necessary mixing itself so that only one IOProc is necessary.
+                    This routine has been deprecated in favor of AudioDeviceCreateIOProcID().
+    @param          inDevice
+                        The AudioDevice to register the IOProc with.
+    @param          inProc
+                        The AudioDeviceIOProc to register.
+    @param          inClientData
+                        A pointer to client data that is passed back to the IOProc when it is
+                        called.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceAddIOProc( inDevice: AudioDeviceID; inProc: AudioDeviceIOProc; inClientData: UnivPtr ): OSStatus; external name '_AudioDeviceAddIOProc';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceRemoveIOProc
+    @abstract       Unregisters the given AudioDeviceIOProc from the AudioDevice.
+                    This routine has been deprecated in favor of AudioDeviceDestroyIOProcID().
+    @param          inDevice
+                        The AudioDevice to unregister the IOProc from.
+    @param          inProc
+                        The AudioDeviceIOProc to unregister.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceRemoveIOProc( inDevice: AudioDeviceID; inProc: AudioDeviceIOProc ): OSStatus; external name '_AudioDeviceRemoveIOProc';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceRead
+    @abstract       Read some data from an AudioDevice starting at the given time.
+    @discussion     With the advent of aggregate devices, the need for AudioDeviceRead has gone
+                    away. Consequently, this function is now deprecated.
+    @param          inDevice
+                        The AudioDevice to read from.
+    @param          inStartTime
+                        An AudioTimeStamp indicating the time from which to read the data. In
+                        general, the valid range of time (in frames) is from the current time minus
+                        the maximum IO buffer size to the current time minus the safety offset.
+    @param          outData
+                        An AudioBufferList that must be the same size and shape as that returned by
+                        kAudioDevicePropertyStreamConfiguration. Further, the AudioBufferList must
+                        have been previously registered with the device via
+                        kAudioDevicePropertyRegisterBufferList. On exit, the mDataSize fields will
+                        be updated with the amount of data read.
+    @result         An OSStatus indicating success or failure.
+                    kAudioHardwareUnsupportedOperationError will be returned if the AudioDevice does
+                    not support direct reading.
+}
+function AudioDeviceRead( inDevice: AudioDeviceID; const (*var*) inStartTime: AudioTimeStamp; var outData: AudioBufferList ): OSStatus; external name '_AudioDeviceRead';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_5, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceGetPropertyInfo
+    @abstract       Retrieve information about the given property of an AudioDevice.
+    @discussion     Note that the same functionality is provided by the functions
+                    AudioObjectHasProperty(), AudioObjectIsPropertySettable(), and
+                    AudioObjectGetPropertyDataSize().
+    @param          inDevice
+                        The AudioDevice to query.
+    @param          inChannel
+                        The channel of the property to query where 0 is the master channel.
+    @param          isInput
+                        Which section of the AudioDevice to query.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to query.
+    @param          outSize
+                        A pointer to a UInt32 that receives the size of the property data in bytes
+                        on exit. This can be NULL if the size information is not being requested.
+    @param          outWritable
+                        A pointer to a Boolean that receives indication of whether or not the given
+                        property can be set. This can be NULL if the writability is not being
+                        requested.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceGetPropertyInfo( inDevice: AudioDeviceID; inChannel: UInt32; isInput: Boolean; inPropertyID: AudioDevicePropertyID; outSize: {can be NULL} UInt32Ptr; outWritable: {can be NULL} BooleanPtr ): OSStatus; external name '_AudioDeviceGetPropertyInfo';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceGetProperty
+    @abstract       Queries an the AudioDevice object to get the data of the given property and
+                    places it in the provided buffer.
+    @discussion     Note that the same functionality is provided by the function
+                    AudioObjectGetPropertyData().
+    @param          inDevice
+                        The AudioDevice to query.
+    @param          inChannel
+                        The channel of the property to query where 0 is the master channel.
+    @param          isInput
+                        Which section of the AudioDevice to query.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to query.
+    @param          ioPropertyDataSize
+                        A UInt32 which on entry indicates the size of the buffer pointed to by
+                        outData and on exit indicates how much of the buffer was used.
+    @param          outPropertyData
+                        The buffer into which the object will put the data for the given property.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceGetProperty( inDevice: AudioDeviceID; inChannel: UInt32; isInput: Boolean; inPropertyID: AudioDevicePropertyID; var ioPropertyDataSize: UInt32; outPropertyData: UnivPtr ): OSStatus; external name '_AudioDeviceGetProperty';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceSetProperty
+    @abstract       Tells the AudioDevice object to change the value of the given property using the
+                    provided data.
+    @discussion     Note that the value of the property should not be considered changed until the
+                    HAL has called the listeners as many properties values are changed
+                    asynchronously. Also note that the same functionality is provided by the
+                    function AudioObjectSetPropertyData().
+    @param          inDevice
+                        The AudioDevice to change.
+    @param          inWhen
+                        A pointer to an AudioTimeStamp that says when to change the property's value
+                        relative to the device's time base. NULL means execute the change
+                        immediately.
+    @param          inChannel
+                        The channel of the property to change where 0 is the master channel.
+    @param          isInput
+                        Which section of the AudioDevice to change.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to change.
+    @param          inPropertyDataSize
+                        A UInt32 indicating the size of the buffer pointed to by inData.
+    @param          inPropertyData
+                        The buffer containing the data to be used to change the property's value.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceSetProperty( inDevice: AudioDeviceID; {const} inWhen: {can be NULL} AudioTimeStampPtr; inChannel: UInt32; isInput: Boolean; inPropertyID: AudioDevicePropertyID; inPropertyDataSize: UInt32; inPropertyData: {const} UnivPtr ): OSStatus; external name '_AudioDeviceSetProperty';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceAddPropertyListener
+    @abstract       Registers the given AudioDevicePropertyListenerProc to receive notifications
+                    when the given property changes.
+    @discussion     Note that the same functionality is provided by AudioObjectAddPropertyListener
+                    in conjunction with AudioObjectPropertyListenerProc.
+    @param          inDevice
+                        The AudioDevice with whom to register the listener.
+    @param          inChannel
+                        The channel of the property to listen to.
+    @param          isInput
+                        Which section of the AudioDevice to listen to.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to listen to.
+    @param          inProc
+                        AudioDevicePropertyListenerProc to call.
+    @param          inClientData
+                        A pointer to client data that is passed to the listener when it is called.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceAddPropertyListener( inDevice: AudioDeviceID; inChannel: UInt32; isInput: Boolean; inPropertyID: AudioDevicePropertyID; inProc: AudioDevicePropertyListenerProc; inClientData: UnivPtr ): OSStatus; external name '_AudioDeviceAddPropertyListener';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioDeviceRemovePropertyListener
+    @abstract       Unregisters the given AudioDevicePropertyListenerProc from receiving
+                    notifications when the given property changes.
+    @discussion     Note that the same functionality is provided by
+                    AudioObjectRemovePropertyListener in conjunction with
+                    AudioObjectPropertyListenerProc.
+    @param          inDevice
+                        The AudioDevice with whom to unregister the listener.
+    @param          inChannel
+                        The channel of the property to unregister from.
+    @param          isInput
+                        Which section of the AudioDevice to unregister from.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to stop listening to.
+    @param          inProc
+                        AudioDevicePropertyListenerProc to unregister.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioDeviceRemovePropertyListener( inDevice: AudioDeviceID; inChannel: UInt32; isInput: Boolean; inPropertyID: AudioDevicePropertyID; inProc: AudioDevicePropertyListenerProc ): OSStatus; external name '_AudioDeviceRemovePropertyListener';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioStream Types
+
+{!
+    @typedef        AudioStreamID
+    @abstract       AudioStream is the base class for all objects that represent a stream of data on
+                    an audio device.
+    @discussion     AudioStream is a subclass of AudioObject and can contain AudioControls.
+}
+type
+	AudioStreamID = AudioObjectID;
+
+{!
+    @typedef        AudioStreamPropertyListenerProc
+    @abstract       Clients register an AudioStreamPropertyListenerProc with the AudioStream object
+                    in order to receive notifications when the properties of the object change.
+    @discussion     Note that the same functionality is provided by AudioObjectPropertyListenerProc.
+    @param          inStream
+                        The AudioStream whose property has changed.
+    @param          inChannel
+                        The channel of the property that changed where 0 is the master channel.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property that changed.
+    @param          inClientData
+                        A pointer to client data established when the listener proc was registered
+                        with the object.
+    @result         The return value is currently unused and should always be 0.
+}
+type
+	AudioStreamPropertyListenerProc = function( inStream: AudioStreamID; inChannel: UInt32; inPropertyID: AudioDevicePropertyID; inClientData: UnivPtr ): OSStatus;
+
+//==================================================================================================
+//#pragma mark AudioStream Constants
+
+{!
+    @enum           AudioStream Class Constants
+    @abstract       Various constants related to AudioStreams.
+    @constant       kAudioStreamUnknown
+                        The AudioObjectID for a nonexistent AudioObject.
+}
+const
+	kAudioStreamUnknown = kAudioObjectUnknown;
+
+//==================================================================================================
+//#pragma mark AudioStream Properties
+
+{!
+    @enum           AudioStream Properties That Ought To Some Day Be Deprecated
+    @abstract       AudioObjectPropertySelector values whose functionality is better provided by
+                    other selectors.
+    @discussion     These selectors are still provided for backward compatibility. The description
+                    of the property will indicate in parentheses the better selectors to use and
+                    why.
+    @constant       kAudioStreamPropertyOwningDevice
+                        The AudioObjectID of the AudioDevice of which this AudioStream is a part.
+                        (kAudioObjectPropertyOwner: This is just another name for the inherited
+                        selector.)
+    @constant       kAudioStreamPropertyPhysicalFormats
+                        An array of AudioStreamBasicDescriptions that describe the available data
+                        formats for the AudioStream. The physical format refers to the data format
+                        in which the hardware for the owning AudioDevice performs it's IO
+                        transactions.
+                        (kAudioStreamPropertyAvailablePhysicalFormats: The new name for this
+                        property is much clearer for readers of the API to see what is meant and the
+                        AudioStreamRangedDescription structure provides better information.)
+    @constant       kAudioStreamPropertyPhysicalFormatSupported
+                        An AudioStreamBasicDescription is passed in to query whether or not the
+                        format is supported. A kAudioDeviceUnsupportedFormatError will be returned
+                        if the format is not supported and kAudioHardwareNoError will be returned if
+                        it is supported. AudioStreamBasicDescription fields set to 0 will be ignored
+                        in the query, but otherwise values must match exactly. The physical format
+                        refers to the data format in which the hardware for the owning AudioDevice
+                        performs it's IO transactions.
+                        (kAudioStreamPropertyAvailablePhysicalFormats: The proper and most robust
+                        way to find a format that the AudioStream can support is to get the list of
+                        available formats and look through that rather than using this property.)
+    @constant       kAudioStreamPropertyPhysicalFormatMatch
+                        An AudioStreamBasicDescription is passed in and the AudioStream will modify
+                        it to describe the best match, in the AudioDevice's opinion, for the given
+                        format. The physical format refers to the data format in which the hardware
+                        for the owning AudioDevice performs it's IO transactions.
+                        (kAudioStreamPropertyAvailablePhysicalFormats: The proper and most robust
+                        way to find a format that the AudioStream can support is to get the list of
+                        available formats and look through that rather than using this property.)
+}
+const
+	kAudioStreamPropertyOwningDevice = kAudioObjectPropertyOwner;
+	kAudioStreamPropertyPhysicalFormats = FourCharCode('pft#');
+	kAudioStreamPropertyPhysicalFormatSupported = FourCharCode('pft?');
+	kAudioStreamPropertyPhysicalFormatMatch = FourCharCode('pftm');
+
+//==================================================================================================
+//#pragma mark AudioStream Functions
+
+{!
+    @functiongroup  AudioStream
+}
+
+{!
+    @function       AudioStreamGetPropertyInfo
+    @abstract       Retrieve information about the given property of an AudioStream.
+    @param          inStream
+                        The AudioStream to query.
+    @param          inChannel
+                        The channel of the property to query where 0 is the master channel.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to query.
+    @param          outSize
+                        A pointer to a UInt32 that receives the size of the property data in bytes
+                        on exit. This can be NULL if the size information is not being requested.
+    @param          outWritable
+                        A pointer to a Boolean that receives indication of whether or not the given
+                        property can be set. This can be NULL if the writability is not being
+                        requested.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioStreamGetPropertyInfo( inStream: AudioStreamID; inChannel: UInt32; inPropertyID: AudioDevicePropertyID; outSize: {can be NULL} UInt32Ptr; outWritable: {can be NULL} BooleanPtr ): OSStatus; external name '_AudioStreamGetPropertyInfo';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioStreamGetProperty
+    @abstract       Queries an the AudioStream object to get the data of the given property and
+                    places it in the provided buffer.
+    @discussion     Note that the same functionality is provided by the function
+                    AudioObjectGetPropertyData().
+    @param          inStream
+                        The AudioStream to query.
+    @param          inChannel
+                        The channel of the property to query where 0 is the master channel.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to query.
+    @param          ioPropertyDataSize
+                        A UInt32 which on entry indicates the size of the buffer pointed to by
+                        outData and on exit indicates how much of the buffer was used.
+    @param          outPropertyData
+                        The buffer into which the object will put the data for the given property.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioStreamGetProperty( inStream: AudioStreamID; inChannel: UInt32; inPropertyID: AudioDevicePropertyID; var ioPropertyDataSize: UInt32; outPropertyData: UnivPtr ): OSStatus; external name '_AudioStreamGetProperty';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioStreamSetProperty
+    @abstract       Tells the AudioStream object to change the value of the given property using the
+                    provided data.
+    @discussion     Note that the value of the property should not be considered changed until the
+                    HAL has called the listeners as many properties values are changed
+                    asynchronously. Also note that the same functionality is provided by the
+                    function AudioObjectSetPropertyData().
+    @param          inStream
+                        The AudioStream to change.
+    @param          inWhen
+                        A pointer to an AudioTimeStamp that says when to change the property's value
+                        relative to the device's time base. NULL means execute the change
+                        immediately.
+    @param          inChannel
+                        The channel of the property to change where 0 is the master channel.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to change.
+    @param          inPropertyDataSize
+                        A UInt32 indicating the size of the buffer pointed to by inData.
+    @param          inPropertyData
+                        The buffer containing the data to be used to change the property's value.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioStreamSetProperty( inStream: AudioStreamID; {const} inWhen: {can be NULL} AudioTimeStampPtr; inChannel: UInt32; inPropertyID: AudioDevicePropertyID; inPropertyDataSize: UInt32; inPropertyData: {const} UnivPtr ): OSStatus; external name '_AudioStreamSetProperty';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioStreamAddPropertyListener
+    @abstract       Registers the given AudioStreamPropertyListenerProc to receive notifications
+                    when the given property changes.
+    @discussion     Note that the same functionality is provided by AudioObjectAddPropertyListener
+                    in conjunction with AudioObjectPropertyListenerProc.
+    @param          inStream
+                        The AudioStream with whom to register the listener.
+    @param          inChannel
+                        The channel of the property to listen to.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to listen to.
+    @param          inProc
+                        AudioStreamPropertyListenerProc to call.
+    @param          inClientData
+                        A pointer to client data that is passed to the listener when it is called.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioStreamAddPropertyListener( inStream: AudioStreamID; inChannel: UInt32; inPropertyID: AudioDevicePropertyID; inProc: AudioStreamPropertyListenerProc; inClientData: UnivPtr ): OSStatus; external name '_AudioStreamAddPropertyListener';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+{!
+    @function       AudioStreamRemovePropertyListener
+    @abstract       Unregisters the given AudioStreamPropertyListenerProc from receiving
+                    notifications when the given property changes.
+    @discussion     Note that the same functionality is provided by
+                    AudioObjectRemovePropertyListener in conjunction with
+                    AudioObjectPropertyListenerProc.
+    @param          inStream
+                        The AudioStream with whom to unregister the listener.
+    @param          inChannel
+                        The channel of the property to unregister from.
+    @param          inPropertyID
+                        The AudioDevicePropertyID of the property to stop listening to.
+    @param          inProc
+                        AudioStreamPropertyListenerProc to unregister.
+    @result         An OSStatus indicating success or failure.
+}
+function AudioStreamRemovePropertyListener( inStream: AudioStreamID; inChannel: UInt32; inPropertyID: AudioDevicePropertyID; inProc: AudioStreamPropertyListenerProc ): OSStatus; external name '_AudioStreamRemovePropertyListener';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) *)
+
+
+//==================================================================================================
+//#pragma mark -
+//#pragma mark AudioControl Constants
+
+{!
+    @enum           AudioControl Base Class IDs
+    @abstract       The AudioClassIDs that identify the various AudioControl base classes.
+    @constant       kAudioBootChimeVolumeControlClassID
+                        An AudioLevelControl for the boot chime of the CPU.
+}
+const
+	kAudioBootChimeVolumeControlClassID = FourCharCode('pram');
+
+//==================================================================================================
+//#pragma mark AudioControl Properties
+
+{!
+    @enum           AudioControl Properties
+    @abstract       AudioObjectPropertySelector values that apply to all AudioControls.
+    @discussion     AudioControl is a subclass of AudioObject and has only the single scope,
+                    kAudioObjectPropertyScopeGlobal, and only a master element.
+    @constant       kAudioControlPropertyVariant
+                        A UInt32 that identifies the specific variant of an AudioControl. This
+                        allows the owning AudioObject to support controls that are of the same basic
+                        class (that is, the values of  kAudioObjectPropertyClass are the same) but
+                        may control a part of the object for which the standard controls do not
+                        control.
+}
+const
+	kAudioControlPropertyVariant = FourCharCode('cvar');
+
+{!
+    @enum           AudioClockSourceControl Properties
+    @abstract       AudioObjectPropertySelector values that apply only to AudioClockSourceControls.
+    @discussion     These properties supplement the regular AudioSelectorControl Properties.
+    @constant       kAudioClockSourceControlPropertyItemKind
+                        This property returns a UInt32 that identifies the kind of clock source
+                        the item ID refers to. The qualifier contains the ID of the item. Note that
+                        this property is a synonym for kAudioSelectorControlPropertyItemKind.
+}
+const
+	kAudioClockSourceControlPropertyItemKind = kAudioSelectorControlPropertyItemKind;
+
+//==================================================================================================
+
+{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
+
+end.
+{$endc} {not MACOSALLINCLUDE}

+ 18 - 3
packages/univint/src/AudioOutputUnit.pas

@@ -3,7 +3,7 @@
  
      Contains:   AudioOutputUnit Interfaces
  
-     Copyright:  © 2000-2008 by Apple Inc., all rights reserved.
+     Copyright:  © 2000-2008 by Apple, Inc., all rights reserved.
  
      Bugs?:      For bug reports, consult the following page on
                  the World Wide Web:
@@ -11,7 +11,8 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -204,13 +210,22 @@ function AudioOutputUnitStop( ci: AudioUnit ): OSStatus; external name '_AudioOu
 (* __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_2_0) *)
 
 //-----------------------------------------------------------------------------
-//	Selectors for component calls
+//	Selectors for component and audio plugin calls
 //-----------------------------------------------------------------------------
 const
 	kAudioOutputUnitRange = $0200;	// selector range
 	kAudioOutputUnitStartSelect = $0201;
 	kAudioOutputUnitStopSelect = $0202;
 
+{!
+}
+type
+	AudioOutputUnitStartProc = function( self: UnivPtr ): OSStatus;
+
+{!
+}
+type
+	AudioOutputUnitStopProc = function( self: UnivPtr ): OSStatus;
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 5 - 0
packages/univint/src/AudioUnitCarbonViews.pas

@@ -88,6 +88,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +98,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +114,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +124,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +135,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 276 - 129
packages/univint/src/AudioUnitParameters.pas

@@ -3,7 +3,7 @@
  
      Contains:   Parameter constants for Apple AudioUnits
  
-     Copyright:  (c) 2002-2008 by Apple Inc., all rights reserved.
+     Copyright:  (c) 2002-2008 by Apple, Inc., all rights reserved.
  
      Bugs?:      For bug reports, consult the following page on
                  the World Wide Web:
@@ -11,7 +11,8 @@
                      http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -182,8 +188,6 @@ uses MacTypes;
 
 //#pragma mark General Declarations
 
-//#if !TARGET_OS_IPHONE
-{$ifc not TARGET_OS_IPHONE}
 { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 The following specifies the equivalent parameterID's for the Group scope for standard
 MIDI Controllers. This list is not exhaustive. It represents the parameters, and their corresponding 
@@ -194,6 +198,7 @@ Group scope parameter IDs from 0 < 512 are reserved for mapping MIDI controllers
 const
 	kAUGroupParameterID_Volume = 7;	// value 0 < 128
 	kAUGroupParameterID_Sustain = 64; 	// value 0-63 (off), 64-127 (on)
+	kAUGroupParameterID_Sostenuto = 66; 	// value 0-63 (off), 64-127 (on)
 	kAUGroupParameterID_AllNotesOff = 123;	// value ignored
 	kAUGroupParameterID_ModWheel = 1;	// value 0 < 128
 	kAUGroupParameterID_PitchBend = $E0;	// value -8192 - 8191
@@ -215,8 +220,6 @@ const
 	
 	kAUGroupParameterID_KeyPressure_FirstKey = 256;	// value 0 < 128
 	kAUGroupParameterID_KeyPressure_LastKey = 383;	// value 0 < 128	
-
-
 { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Supporting the kAUGroupParameterID_KeyPressure parameter indicates to hosts that your audio unit
 supports polyphonic "aftertouch" key pressure. 
@@ -229,23 +232,43 @@ key number plus 256. For example, the aftertouch parameter ID for MIDI key #60 (
 	60 + kAUGroupParameterID_KeyPressure_FirstKey = 316
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }
 
+{ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The following sections specify the parameter IDs for the audio units included in Mac OS X.
+Host applications can use these IDs to directly address these parameters without first discovering 
+them through the AUParameterInfo mechanism (see the AudioUnitProperties.h header file)
+
+Each parameter is preceeded by a comment that indicates scope, unit of measurement, minimum
+value, maximum value, and default value.
+    
+See the AudioUnitProperties.h header file for additional information that a parameter may report
+
+When displaying to the user information about a parameter, a host application should always
+get the parameter information from the audio unit itself.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }
+
+{$ifc not TARGET_OS_IPHONE}
 // Parameters for all Panner AudioUnits
 const
-	kPannerParam_Gain = 0;			// 0 .. 1
+// Global, Linear, 0->1, 1
+	kPannerParam_Gain = 0;			
 	
-	kPannerParam_Azimuth = 1;		// -180 .. +180 degrees
-	kPannerParam_Elevation = 2;		// -90 .. +90 degrees
+        // Global, Degrees, -180->180, 0
+	kPannerParam_Azimuth = 1;		
+        // Global, Degrees, -90->90, 0
+	kPannerParam_Elevation = 2;	
+		
+        // Global, Linear, 0->1, 1
 	kPannerParam_Distance = 3;		// 0 .. 1
 	
-	kPannerParam_CoordScale = 4;	// 0.01 .. 1000 meters
-	kPannerParam_RefDistance = 5;	// 0.01 .. 1000 meters
-
-{$endc}	{ not TARGET_OS_IPHONE }
+        // Global, Meters, 0.01->1000, 1
+	kPannerParam_CoordScale = 4;	
+        // Global, Meters, 0.01->1000, 1
+	kPannerParam_RefDistance = 5;
+{$endc} {not TARGET_OS_IPHONE}
 
 //#pragma mark Apple Specific
 
 // Parameters for the AUMixer3D unit
-// only some of these parameters are available in the embedded implementation of this AU
 const
 // Input, Degrees, -180->180, 0
 	k3DMixerParam_Azimuth = 0;
@@ -253,7 +276,7 @@ const
 		// Input, Degrees, -90->90, 0
 	k3DMixerParam_Elevation = 1;
         
-		// Input, Metres, 0->10000, 1
+		// Input, Metres, 0->10000, 0
 	k3DMixerParam_Distance = 2;
         
 		// Input/Output, dB, -120->20, 0
@@ -262,36 +285,9 @@ const
 		// Input, rate scaler	0.5 -> 2.0
 	k3DMixerParam_PlaybackRate = 4;
 
-// Parameters for the AUMultiChannelMixer unit
-const
-	kMultiChannelMixerParam_Volume = 0;
-	kMultiChannelMixerParam_Enable = 1;
-
-		// read-only
-	// these report level in dB, as do the other mixers
-	kMultiChannelMixerParam_PreAveragePower = 1000;
-	kMultiChannelMixerParam_PrePeakHoldLevel = 2000;
-	kMultiChannelMixerParam_PostAveragePower = 3000;
-	kMultiChannelMixerParam_PostPeakHoldLevel = 4000;
-
-// Output Units
-// Parameters for the AudioDeviceOutput, DefaultOutputUnit, and SystemOutputUnit units
-const
-// Global, LinearGain, 0->1, 1
-	kHALOutputParam_Volume = 14;
-
-// Parameters for the AUTimePitch, AUTimePitch (offline), AUPitch units
-const
-	kTimePitchParam_Rate = 0;
-//#if !TARGET_OS_IPHONE
 {$ifc not TARGET_OS_IPHONE}
-	kTimePitchParam_Pitch = 1;
-	kTimePitchParam_EffectBlend = 2;		// only for the AUPitch unit
-{$endc} { not TARGET_OS_IPHONE }
+		// Desktop specific 3D mixer parameters
 
-//#if !TARGET_OS_IPHONE
-{$ifc not TARGET_OS_IPHONE}
-const
 // Input, Dry/Wet equal-power blend, %	  0.0 -> 100.0
 	k3DMixerParam_ReverbBlend = 5;
 
@@ -299,13 +295,21 @@ const
 	k3DMixerParam_GlobalReverbGain = 6;
 	
 		// Input, Lowpass filter attenuation at 5KHz :		decibels -100.0dB -> 0.0dB
-		// smaller values make sound more muffled; a value of 0.0 indicates no filtering
+		// smaller values make both direct and reverb sound more muffled; a value of 0.0 indicates no filtering
+		// Occlusion is a filter applied to the sound prior to the reverb send
 	k3DMixerParam_OcclusionAttenuation = 7;
 	
 		// Input, Lowpass filter attenuation at 5KHz :		decibels -100.0dB -> 0.0dB
-		// smaller values make sound more muffled; a value of 0.0 indicates no filtering
+		// smaller values make direct sound more muffled; a value of 0.0 indicates no filtering
+		// Obstruction is a filter applied to the "direct" part of the sound (so is post reverb send)
 	k3DMixerParam_ObstructionAttenuation = 8;
 	
+		// Input/Output, dB, -120->20, 0
+	k3DMixerParam_MinGain = 9;
+	
+		// Input/Output, dB, -120->20, 0
+	k3DMixerParam_MaxGain = 10;
+
 		// read-only
 		//
 		// For each of the following, use the parameter ID plus the channel number
@@ -318,24 +322,63 @@ const
 	k3DMixerParam_PostPeakHoldLevel = 4000;
 {$endc} { not TARGET_OS_IPHONE }
 
-//#pragma mark Apple Specific - Desktop
+// Parameters for the AUMultiChannelMixer unit
+// these are available for both desktop and iphone
+const
+// Global, Linear Gain, 0->1, 1
+	kMultiChannelMixerParam_Volume = 0;
+		// Global, Boolean, 0->1, 1
+	kMultiChannelMixerParam_Enable = 1;
+		// Global, Pan
+	kMultiChannelMixerParam_Pan = 2;			// -1 - 0 - 1, only valid when output is not mono
+													// relationship to mix matrix: last one in wins
 
-//#if !TARGET_OS_IPHONE
-{$ifc not TARGET_OS_IPHONE}
-{ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The following sections specify the parameter IDs for the audio units included in Mac OS X.
-Host applications can use these IDs to directly address these parameters without first discovering 
-them through the AUParameterInfo mechanism (see the AudioUnitProperties.h header file)
+		// read-only
+	// these report level in dB, as do the other mixers
+	kMultiChannelMixerParam_PreAveragePower = 1000;
+	kMultiChannelMixerParam_PrePeakHoldLevel = 2000;
+	kMultiChannelMixerParam_PostAveragePower = 3000;
+	kMultiChannelMixerParam_PostPeakHoldLevel = 4000;
 
-Each parameter is preceeded by a comment that indicates scope, unit of measurement, minimum
-value, maximum value, and default value.
+// Music Device
+// Parameters for the AUSampler unit
+const
+// Global, dB, -90->12, 0
+	kAUSamplerParam_Gain = 900;
     
-See the AudioUnitProperties.h header file for additional information that a parameter may report
+		// Global, Semitones, -24->24, 0
+	kAUSamplerParam_CoarseTuning = 901;
 
-When displaying to the user information about a parameter, a host application should always
-get the parameter information from the audio unit itself.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }
+		// Global, Cents, -99->99, 0
+	kAUSamplerParam_FineTuning = 902;
 
+		// Global, -1.0->1.0, 0
+	kAUSamplerParam_Pan = 903;
+
+// Output Units
+// Parameters for the AudioDeviceOutput, DefaultOutputUnit, and SystemOutputUnit units
+const
+// Global, LinearGain, 0->1, 1
+	kHALOutputParam_Volume = 14;
+
+// Parameters for the AUTimePitch, AUTimePitch (offline), AUPitch units
+const
+	kTimePitchParam_Rate = 0;
+{$ifc not TARGET_OS_IPHONE}
+	kTimePitchParam_Pitch = 1;
+	kTimePitchParam_EffectBlend = 2;		// only for the AUPitch unit
+{$endif} {TARGET_OS_IPHONE}
+
+// Parameters for AUNewTimePitch
+const
+// Global, rate, 1/32 -> 32.0, 1.0
+	kNewTimePitchParam_Rate = 0;
+		// Global, Cents, -2400 -> 2400, 1.0
+	kNewTimePitchParam_Pitch = 1;
+		// Global, generic, 3.0 -> 32.0, 8.0
+	kNewTimePitchParam_Overlap = 4;
+		// Global, Boolean, 0->1, 1
+	kNewTimePitchParam_EnablePeakLocking = 6;
 
 // Effect units
 // The values for some effect unit parameters depend on the audio unit's sample rate.
@@ -350,11 +393,6 @@ const
 		// Global, Cents, 100->12000, 600
 	kBandpassParam_Bandwidth = 1;
 
-// Some parameters for the AUGraphicEQ unit
-const
-// Global, Indexed, currently either 10 or 31
-	kGraphicEQParam_NumberOfBands = 10000;
-
 // Parameters for the AUHipass unit
 const
 // Global, Hz, 10->(SampleRate/2), 6900
@@ -398,6 +436,103 @@ const
 		// Global, dB, -20->20, 0
 	kParametricEQParam_Gain = 2;
 
+// Parameters for the AUPeakLimiter unit
+const
+// Global, Secs, 0.001->0.03, 0.012
+	kLimiterParam_AttackTime = 0;
+		
+		// Global, Secs, 0.001->0.06, 0.024
+	kLimiterParam_DecayTime = 1;
+		
+		// Global, dB, -40->40, 0
+	kLimiterParam_PreGain = 2;
+
+// Parameters for the AUDynamicsProcessor unit
+const
+// Global, dB, -40->20, -20
+	kDynamicsProcessorParam_Threshold = 0;
+		
+		// Global, dB, 0.1->40.0, 5
+	kDynamicsProcessorParam_HeadRoom = 1;
+		
+		// Global, rate, 1->50.0, 2
+	kDynamicsProcessorParam_ExpansionRatio = 2;
+		
+		// Global, dB
+	kDynamicsProcessorParam_ExpansionThreshold = 3;
+		
+		// Global, secs, 0.0001->0.2, 0.001
+	kDynamicsProcessorParam_AttackTime = 4;
+		
+		// Global, secs, 0.01->3, 0.05
+	kDynamicsProcessorParam_ReleaseTime = 5;
+		
+		// Global, dB, -40->40, 0
+	kDynamicsProcessorParam_MasterGain = 6;
+	
+		// Global, dB, read-only parameter
+	kDynamicsProcessorParam_CompressionAmount = 1000;
+	kDynamicsProcessorParam_InputAmplitude = 2000;
+	kDynamicsProcessorParam_OutputAmplitude = 3000;
+
+
+// Parameters for the AUVarispeed unit
+const
+// Global, Rate, 0.25 -> 4.0, 1.0
+	kVarispeedParam_PlaybackRate = 0;
+		// Global, Cents, -2400 -> 2400, 0.0
+	kVarispeedParam_PlaybackCents = 1;
+
+
+// Parameters for the Distortion unit 
+const
+// Global, Milliseconds, 0.1 -> 500, 0.1
+	kDistortionParam_Delay = 0;
+		// Global, Rate, 0.1 -> 50, 1.0
+	kDistortionParam_Decay = 1;
+		// Global, Percent, 0 -> 100, 50
+	kDistortionParam_DelayMix = 2;
+	
+		// Global, Percent, 0 -> 100
+	kDistortionParam_Decimation = 3;
+		// Global, Percent, 0 -> 100, 0
+	kDistortionParam_Rounding = 4;
+		// Global, Percent, 0 -> 100, 50
+	kDistortionParam_DecimationMix = 5;
+	
+		// Global, Linear Gain, 0 -> 1, 1
+	kDistortionParam_LinearTerm = 6;  
+		// Global, Linear Gain, 0 -> 20, 0
+	kDistortionParam_SquaredTerm = 7;	
+		// Global, Linear Gain, 0 -> 20, 0
+	kDistortionParam_CubicTerm = 8;  
+		// Global, Percent, 0 -> 100, 50
+	kDistortionParam_PolynomialMix = 9;
+	
+		// Global, Hertz, 0.5 -> 8000, 100
+	kDistortionParam_RingModFreq1 = 10;
+		// Global, Hertz, 0.5 -> 8000, 100
+	kDistortionParam_RingModFreq2 = 11;
+		// Global, Percent, 0 -> 100, 50
+	kDistortionParam_RingModBalance = 12;
+		// Global, Percent, 0 -> 100, 0
+	kDistortionParam_RingModMix = 13;
+				
+		// Global, dB, -80 -> 20, -6
+	kDistortionParam_SoftClipGain = 14;
+		
+		// Global, Percent, 0 -> 100, 50
+	kDistortionParam_FinalMix = 15;
+
+//#pragma mark Apple Specific - Desktop
+
+{$ifc not TARGET_OS_IPHONE}
+
+// Some parameters for the AUGraphicEQ unit
+const
+// Global, Indexed, currently either 10 or 31
+	kGraphicEQParam_NumberOfBands = 10000;
+
 // Parameters for the AUMatrixReverb unit
 const
 // Global, EqPow CrossFade, 0->100, 100
@@ -465,104 +600,110 @@ const
 		// Global, Hz, 10->(SampleRate/2), 15000
 	kDelayParam_LopassCutoff = 3;
 
-// Parameters for the AUPeakLimiter unit
-const
-// Global, Secs, 0.001->0.03, 0.012
-	kLimiterParam_AttackTime = 0;
-		
-		// Global, Secs, 0.001->0.06, 0.024
-	kLimiterParam_DecayTime = 1;
-		
-		// Global, dB, -40->40, 0
-	kLimiterParam_PreGain = 2;
-
-
-// Parameters for the AUDynamicsProcessor unit
-const
-// Global, dB, -40->20, -20
-	kDynamicsProcessorParam_Threshold = 0;
-		
-		// Global, dB, 0.1->40.0, 5
-	kDynamicsProcessorParam_HeadRoom = 1;
-		
-		// Global, rate, 1->50.0, 2
-	kDynamicsProcessorParam_ExpansionRatio = 2;
-		
-		// Global, dB
-	kDynamicsProcessorParam_ExpansionThreshold = 3;
-		
-		// Global, secs, 0.0001->0.2, 0.001
-	kDynamicsProcessorParam_AttackTime = 4;
-		
-		// Global, secs, 0.01->3, 0.05
-	kDynamicsProcessorParam_ReleaseTime = 5;
-		
-		// Global, dB, -40->40, 0
-	kDynamicsProcessorParam_MasterGain = 6;
-	
-		// Global, dB, read-only parameter
-	kDynamicsProcessorParam_CompressionAmount = 1000;
-	kDynamicsProcessorParam_InputAmplitude = 2000;
-	kDynamicsProcessorParam_OutputAmplitude = 3000;
-
-
 // Parameters for the AUMultibandCompressor unit
 const
+// Global, dB, -40 -> 40, 0
 	kMultibandCompressorParam_Pregain = 0;
+		// Global, dB, -40 -> 40, 0
 	kMultibandCompressorParam_Postgain = 1;
+		// Global, Hertz, 20 -> (SampleRate/2), 120.0
 	kMultibandCompressorParam_Crossover1 = 2;
+		// Global, Hertz, 20 -> (SampleRate/2), 700.0
 	kMultibandCompressorParam_Crossover2 = 3;
+		// Global, Hertz, 20 -> (SampleRate/2), 3000.0
 	kMultibandCompressorParam_Crossover3 = 4;
+		// Global, dB, -100.0 -> 0.0, -22.0
 	kMultibandCompressorParam_Threshold1 = 5;
+		// Global, dB, -100.0 -> 0.0, -32.0
 	kMultibandCompressorParam_Threshold2 = 6;
+		// Global, dB, -100.0 -> 0.0, -33.0
 	kMultibandCompressorParam_Threshold3 = 7;
+		// Global, dB, -100.0 -> 0.0, -36.0
 	kMultibandCompressorParam_Threshold4 = 8;
+		// Global, dB, 0.1 -> 40.0, 5.0
 	kMultibandCompressorParam_Headroom1 = 9;
+		// Global, dB, 0.1 -> 40.0, 12.0
 	kMultibandCompressorParam_Headroom2 = 10;
+		// Global, dB, 0.1 -> 40.0, 5.0
 	kMultibandCompressorParam_Headroom3 = 11;
+		// Global, dB, 0.1 -> 40.0, 7.5
 	kMultibandCompressorParam_Headroom4 = 12;
+		// Global, Secs, 0.001 -> 0.200, 0.080
 	kMultibandCompressorParam_AttackTime = 13;
+		// Global, Secs, 0.010 -> 3.0, 0.120
 	kMultibandCompressorParam_ReleaseTime = 14;
+		// Global, dB, -20 -> 20, 0
 	kMultibandCompressorParam_EQ1 = 15;
+		// Global, dB, -20 -> 20, 0
 	kMultibandCompressorParam_EQ2 = 16;
+		// Global, dB, -20 -> 20, 0
 	kMultibandCompressorParam_EQ3 = 17;
+		// Global, dB, -20 -> 20, 0
 	kMultibandCompressorParam_EQ4 = 18;
 	
 	// read-only parameters
+		// Global, dB, 0 -> 20
 	kMultibandCompressorParam_CompressionAmount1 = 1000;
+		// Global, dB, 0 -> 20
 	kMultibandCompressorParam_CompressionAmount2 = 2000;
+		// Global, dB, 0 -> 20
 	kMultibandCompressorParam_CompressionAmount3 = 3000;
+		// Global, dB, 0 -> 20
 	kMultibandCompressorParam_CompressionAmount4 = 4000;
+
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_InputAmplitude1 = 5000;
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_InputAmplitude2 = 6000;
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_InputAmplitude3 = 7000;
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_InputAmplitude4 = 8000;
+
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_OutputAmplitude1 = 9000;
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_OutputAmplitude2 = 10000;
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_OutputAmplitude3 = 11000;
+		// Global, dB, -120 -> 20
 	kMultibandCompressorParam_OutputAmplitude4 = 12000;
 
-// Parameters for the AUVarispeed unit
-const
-	kVarispeedParam_PlaybackRate = 0;
-	kVarispeedParam_PlaybackCents = 1;
-
 // Parameters for the AUFilter unit
 const
+// Global, indexed, 0 -> 1, 0
 	kMultibandFilter_LowFilterType = 0;
+		// Global, Hertz, 10 -> (SampleRate/2), 100
 	kMultibandFilter_LowFrequency = 1;
+		// Global, dB, -18 -> +18, 0
 	kMultibandFilter_LowGain = 2;
+
+		// Global, Hertz, 10 -> (SampleRate/2), 100
 	kMultibandFilter_CenterFreq1 = 3;
+		// Global, dB, -18 -> +18, 0
 	kMultibandFilter_CenterGain1 = 4;
+		// Global, Octaves, 0.05 -> 3.0, 2.0
 	kMultibandFilter_Bandwidth1 = 5;
+	
+		// Global, Hertz, 10 -> (SampleRate/2), 100
 	kMultibandFilter_CenterFreq2 = 6;
+		// Global, dB, -18 -> +18, 0
 	kMultibandFilter_CenterGain2 = 7;
+		// Global, Octaves, 0.05 -> 3.0, 2.0
 	kMultibandFilter_Bandwidth2 = 8;
+	
+		// Global, Hertz, 10 -> (SampleRate/2), 100
 	kMultibandFilter_CenterFreq3 = 9;
+		// Global, dB, -18 -> +18, 0
 	kMultibandFilter_CenterGain3 = 10;
+		// Global, Octaves, 0.05 -> 3.0, 2.0
 	kMultibandFilter_Bandwidth3 = 11;
+
+		// Global, indexed, 0 -> 1, 0
 	kMultibandFilter_HighFilterType = 12;
+		// Global, Hertz, 10 -> (SampleRate/2), 100
 	kMultibandFilter_HighFrequency = 13;
+		// Global, dB, -18 -> +18, 0
 	kMultibandFilter_HighGain = 14;
 
 // Mixer Units
@@ -606,11 +747,13 @@ const
 
 // Parameters for the AUNetReceive unit
 const
+// Global, indexed, 0 -> 5, read only
 	kAUNetReceiveParam_Status = 0;
 	kAUNetReceiveParam_NumParameters = 1;
 
 // Parameters for the AUNetSend unit
 const
+// Global, indexed, 0 -> 5, read only
 	kAUNetSendParam_Status = 0;
 	kAUNetSendParam_NumParameters = 1;
 
@@ -624,33 +767,21 @@ const
 	kAUNetStatus_Connecting = 4;
 	kAUNetStatus_Listening = 5;
 
-// Parameters for the Distortion unit 
-const
-	kDistortionParam_Delay = 0;
-	kDistortionParam_Decay = 1;
-	kDistortionParam_DelayMix = 2;
-	kDistortionParam_Decimation = 3;
-	kDistortionParam_Rounding = 4;
-	kDistortionParam_DecimationMix = 5;
-	kDistortionParam_LinearTerm = 6;
-	kDistortionParam_SquaredTerm = 7;
-	kDistortionParam_CubicTerm = 8;
-	kDistortionParam_PolynomialMix = 9;
-	kDistortionParam_RingModFreq1 = 10;
-	kDistortionParam_RingModFreq2 = 11;
-	kDistortionParam_RingModBalance = 12;
-	kDistortionParam_RingModMix = 13;
-	kDistortionParam_SoftClipGain = 14;
-	kDistortionParam_FinalMix = 15;
-
 // Parameters for AURogerBeep
 const
+// Global, dB, -80 -> 0, -6
 	kRogerBeepParam_InGateThreshold = 0;
+		// Global, Milliseconds, 0 -> 1000, 1000
 	kRogerBeepParam_InGateThresholdTime = 1;
+		// Global, dB, -80 -> 0, -6
 	kRogerBeepParam_OutGateThreshold = 2;
+		// Global, Milliseconds, 0 -> 1000, 1000
 	kRogerBeepParam_OutGateThresholdTime = 3;
+		// Global, indexed, 0 -> 2, 2
 	kRogerBeepParam_Sensitivity = 4;
+		// Global, indexed, 0 -> 2, 0
 	kRogerBeepParam_RogerType = 5;
+		// Global, dB, -80 -> 20, -6
 	kRogerBeepParam_RogerGain = 6;
 
 // Music Device
@@ -690,7 +821,23 @@ const
 // See the MusicDevice.h header file for more about using the extended control semantics 
 // of this API.	
 
-{$endc} { not TARGET_OS_IPHONE }
+// Parameters for the AURoundTripAACParam unit
+const
+// Global, indexed : AAC, AAC HE, AAC HEv2, AAC ELD
+	kRoundTripAACParam_Format = 0;
+	
+		// Global, indexed
+	kRoundTripAACParam_EncodingStrategy = 1;
+
+		// Global, indexed
+	kRoundTripAACParam_RateOrQuality = 2;
+	
+		// These are deprecated:
+	kRoundTripAACParam_BitRate = 1;
+	kRoundTripAACParam_Quality = 2;
+	kRoundTripAACParam_CompressedFormatSampleRate = 3;
+{$endc} {not TARGET_OS_IPHONE}
+
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

File diff suppressed because it is too large
+ 474 - 155
packages/univint/src/AudioUnitProperties.pas


+ 8 - 2
packages/univint/src/AuthSession.pas

@@ -20,8 +20,9 @@
  * 
  * @APPLE_LICENSE_HEADER_END@
  }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{	  Pascal Translation Update:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Update:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -98,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -107,6 +109,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +125,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +135,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -141,6 +146,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 22 - 9
packages/univint/src/Authorization.pas

@@ -20,9 +20,10 @@
  * 
  * @APPLE_LICENSE_HEADER_END@
  }
- {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
- {	  Pascal Translation Update:  Gorazd Krosl <[email protected]>, October 2009 }
- {    Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Update:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -98,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -107,6 +109,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +125,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +135,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -141,6 +146,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -292,7 +298,8 @@ const
 	Opaque reference to an authorization object.
 }
 type
-	AuthorizationRef = ^SInt32;
+	AuthorizationRef = ^OpaqueAuthorization;
+	OpaqueAuthorization = record end;
 
 
 {!
@@ -507,11 +514,7 @@ function AuthorizationMakeExternalForm( authorization: AuthorizationRef; var ext
 
 {!
 	@function AuthorizationCreateFromExternalForm
-	Turn an Authorization into an external "byte blob" form so it can be
-	transmitted to another process.
-	Note that *storing* the external form somewhere will probably not do what
-	you want, since authorizations are bounded by sessions, processes, and possibly
-	time limits. This is for online transmission of authorizations.
+	Internalize the external "byte blob" form of an authorization reference.
 	
 	@param extForm Pointer to an AuthorizationExternalForm value.
 	@param authorization Will be filled with a valid AuthorizationRef on success.
@@ -551,11 +554,16 @@ function AuthorizationFreeItemSet( var setx: AuthorizationItemSet ): OSStatus; e
 	a bidirectional pipe to communicate with the tool. The tool will have
 	this pipe as its standard I/O channels (stdin/stdout). If NULL, do not
 	establish a communications pipe.
+
+ 	@discussion This function has been deprecated and should no longer be used.
+ 	Use a launchd-launched helper tool and/or the Service Mangement framework
+ 	for this functionality.
  }
 type
   Arg10000Type = array[0..10000] of CStringPtr;
   Arg10000TypePtr = ^Arg10000Type;
 function AuthorizationExecuteWithPrivileges( authorization: AuthorizationRef; pathToTool: CStringPtr; options: AuthorizationFlags; arguments: Arg10000TypePtr; communicationsPipe: UnivPtr ): OSStatus; external name '_AuthorizationExecuteWithPrivileges';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_7,__IPHONE_NA,__IPHONE_NA) *)
 // communicationsPipe not yet supported
 
 
@@ -566,8 +574,13 @@ function AuthorizationExecuteWithPrivileges( authorization: AuthorizationRef; pa
 	While AuthorizationExecuteWithPrivileges already verified the authorization to
 	launch your tool, the tool may want to avail itself of any additional pre-authorizations
 	the caller may have obtained through that reference.
+ 
+	@discussion This function has been deprecated and should no longer be used.
+	Use a launchd-launched helper tool and/or the Service Mangement framework
+	for this functionality.
  }
 function AuthorizationCopyPrivilegedReference( var authorization: AuthorizationRef; flags: AuthorizationFlags ): OSStatus; external name '_AuthorizationCopyPrivilegedReference';
+(* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_7,__IPHONE_NA,__IPHONE_NA) *)
 
 
 {$endc} {TARGET_OS_MAC}

+ 7 - 1
packages/univint/src/AuthorizationDB.pas

@@ -20,7 +20,8 @@
  * 
  * @APPLE_LICENSE_HEADER_END@
  }
-{	  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -97,6 +98,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -106,6 +108,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +124,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -130,6 +134,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -140,6 +145,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 7 - 1
packages/univint/src/AuthorizationPlugin.pas

@@ -20,7 +20,8 @@
  * 
  * @APPLE_LICENSE_HEADER_END@
  }
-{	  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
 
 {
     Modified for use with Free Pascal
@@ -97,6 +98,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -106,6 +108,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +124,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -130,6 +134,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -140,6 +145,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 8 - 2
packages/univint/src/AuthorizationTags.pas

@@ -20,8 +20,9 @@
  * 
  * @APPLE_LICENSE_HEADER_END@
  }
- {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
- {	  Pascal Translation Update: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{  Pascal Translation Update: Gorazd Krosl <[email protected]>, October 2009 }
+{  Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
  
 {
     Modified for use with Free Pascal
@@ -98,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -107,6 +109,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +125,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +135,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -141,6 +146,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 7 - 3
packages/univint/src/BackupCore.pas

@@ -3,9 +3,7 @@
  
      Contains:   Backup low level Interfaces.
  
-     Version:    CarbonCore-859.2~1
- 
-     Copyright:  © 2006-2008 by Apple Computer, Inc.  All rights reserved
+     Copyright:  © 2006-2011 by Apple Inc. All rights reserved.
  
      Bugs?:      For bug reports, consult the following page on
                  the World Wide Web:
@@ -14,6 +12,7 @@
  
 }
 {   Pascal Translation:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +88,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +98,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +114,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +124,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +135,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 9 - 2
packages/univint/src/CFArray.pas

@@ -1,8 +1,9 @@
 {	CFArray.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -281,7 +287,8 @@ type
 	This is the type of a reference to immutable CFArrays.
 }
 type
-	CFArrayRef = ^SInt32; { an opaque 32-bit type }
+	CFArrayRef = ^__CFArray; { an opaque type }
+	__CFArray = record end;
 	CFArrayRefPtr = ^CFArrayRef;
 
 {!

+ 13 - 5
packages/univint/src/CFAttributedString.pas

@@ -1,9 +1,10 @@
 {	CFAttributedString.h
-	Copyright (c) 2004-2009, Apple Inc. All rights reserved.
+	Copyright (c) 2004-2012, Apple Inc. All rights reserved.
 }
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -172,9 +178,9 @@ uses MacTypes,CFBase,CFString,CFDictionary;
 
 
 {! @header CFAttributedString
-Instance of CFAttributedString manage character strings and associated sets of attributes (for example, font and kerning) that apply to individual characters or ranges of characters in the string. CFAttributedString as defined in CoreFoundation provides the basic container functionality, while higher levels provide definitions for standard attributes, their values, and additional behaviors involving these. 
+Instances of CFAttributedString manage character strings and associated sets of attributes (for example, font and kerning) that apply to individual characters or ranges of characters in the string. CFAttributedString as defined in CoreFoundation provides the basic container functionality, while higher levels provide definitions for standard attributes, their values, and additional behaviors involving these. 
 
-CFAttributedString is not a "subclass" of CFString; that is, it does not respond to CFString function calls. CFAttributedString conceptually contains a CFString to which it applies attributes. This protects users of attributed strings from ambiguities caused by the semantic differences between simple and attributed string.
+CFAttributedString is not a "subclass" of CFString; that is, it does not respond to CFString function calls. CFAttributedString conceptually contains a CFString to which it applies attributes. This protects users of attributed strings from ambiguities caused by the semantic differences between simple and attributed strings.
 
 Attributes are identified by key/value pairs stored in CFDictionaryRefs. Keys must be CFStrings, while the values are arbitrary CFTypeRefs.
 }
@@ -183,8 +189,10 @@ Attributes are identified by key/value pairs stored in CFDictionaryRefs. Keys mu
 { CFAttributedString comes in immutable and mutable flavors.
 }
 type
-	CFAttributedStringRef = ^SInt32; { an opaque type }
-	CFMutableAttributedStringRef = ^SInt32; { an opaque type }
+	CFAttributedStringRef = ^__CFAttributedString; { an opaque type }
+	__CFAttributedString = record end;
+	CFMutableAttributedStringRef = ^__CFMutableAttributedString; { an opaque type }
+	__CFMutableAttributedString = record end;
 
 {! @function CFAttributedStringGetTypeID
 Returns the type identifier of all CFAttributedString instances.

+ 9 - 2
packages/univint/src/CFBag.pas

@@ -1,8 +1,9 @@
 {	CFBag.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -193,7 +199,8 @@ type
 	CFBagApplierFunction = procedure( value: {const} UnivPtr; context: UnivPtr );
 
 type
-	CFBagRef = ^SInt32; { an opaque 32-bit type }
+	CFBagRef = ^__CFBag; { an opaque type }
+	__CFBag = record end;
 	CFBagRefPtr = ^CFBagRef;
 	CFMutableBagRef = CFBagRef;
 	CFMutableBagRefPtr = ^CFMutableBagRef;

+ 63 - 4
packages/univint/src/CFBase.pas

@@ -1,9 +1,10 @@
 {	CFBase.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
 { 		Pascal Translation Updated: Gorazd Krosl <[email protected]>, October 2009 }
+{       Pascal Translation Updated: Jonas Maebe <[email protected]>, September 2012 }
 
 {
     Modified for use with Free Pascal
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -276,6 +282,38 @@ const
 	kCFCoreFoundationVersionNumber10_5_5 = 476.15;
 const
 	kCFCoreFoundationVersionNumber10_5_6 = 476.17;
+const
+	kCFCoreFoundationVersionNumber10_5_7 = 476.18;
+const
+	kCFCoreFoundationVersionNumber10_5_8 = 476.19;
+const
+	kCFCoreFoundationVersionNumber10_6 = 550.00;
+const
+	kCFCoreFoundationVersionNumber10_6_1 = 550.00;
+const
+	kCFCoreFoundationVersionNumber10_6_2 = 550.13;
+const
+	kCFCoreFoundationVersionNumber10_6_3 = 550.19;
+const
+	kCFCoreFoundationVersionNumber10_6_4 = 550.29;
+const
+	kCFCoreFoundationVersionNumber10_6_5 = 550.42;
+const
+	kCFCoreFoundationVersionNumber10_6_6 = 550.42;
+const
+	kCFCoreFoundationVersionNumber10_6_7 = 550.42;
+const
+	kCFCoreFoundationVersionNumber10_6_8 = 550.43;
+const
+	kCFCoreFoundationVersionNumber10_7 = 635.00;
+const
+	kCFCoreFoundationVersionNumber10_7_1 = 635.00;
+const
+	kCFCoreFoundationVersionNumber10_7_2 = 635.15;
+const
+	kCFCoreFoundationVersionNumber10_7_3 = 635.19;
+const
+	kCFCoreFoundationVersionNumber10_7_4 = 635.21;
 {$endc}
 
 {$ifc TARGET_OS_IPHONE}
@@ -285,6 +323,24 @@ const
 	kCFCoreFoundationVersionNumber_iPhoneOS_2_1 = 478.26;
 const
 	kCFCoreFoundationVersionNumber_iPhoneOS_2_2 = 478.29;
+const
+	kCFCoreFoundationVersionNumber_iPhoneOS_3_0 = 478.47;
+const
+	kCFCoreFoundationVersionNumber_iPhoneOS_3_1 = 478.52;
+const
+	kCFCoreFoundationVersionNumber_iPhoneOS_3_2 = 478.61;
+const
+	kCFCoreFoundationVersionNumber_iOS_4_0 = 550.32;
+const
+	kCFCoreFoundationVersionNumber_iOS_4_1 = 550.38;
+const
+	kCFCoreFoundationVersionNumber_iOS_4_2 = 550.52;
+const
+	kCFCoreFoundationVersionNumber_iOS_4_3 = 550.52;
+const
+	kCFCoreFoundationVersionNumber_iOS_5_0 = 675;
+const
+	kCFCoreFoundationVersionNumber_iOS_5_1 = 690.1;
 {$endc}
 
 type
@@ -296,7 +352,7 @@ type
 
 { Base "type" of all "CF objects", and polymorphic functions on them }
 type
-	CFTypeRef = ^SInt32; { an opaque type }
+	CFTypeRef = UnivPtr; { an opaque type }
 	
 { GK: We need it for passing open arrays of CFTypes in MDQuery.pas }
 	CFTypeRefPtr = ^CFTypeRef;
@@ -368,7 +424,8 @@ var kCFNull: CFNullRef; external name '_kCFNull'; (* attribute const *)	// the s
    You should rarely use kCFAllocatorSystemDefault, the default default allocator.
 }
 type
-	CFAllocatorRef = ^SInt32; { an opaque 32-bit type }
+	CFAllocatorRef = ^__CFAllocator; { an opaque type }
+	__CFAllocator = record end;
 	CFAllocatorRefPtr = ^CFAllocatorRef;
 
 { This is a synonym for NULL, if you'd rather use a named constant. }
@@ -479,8 +536,10 @@ procedure CFRelease( cf: CFTypeRef ); external name '_CFRelease';
 
 function CFGetRetainCount( cf: CFTypeRef ): CFIndex; external name '_CFGetRetainCount';
 
+// This function is unavailable in ARC mode. Use CFBridgingRelease instead.
+{ CF_AUTOMATED_REFCOUNT_UNAVAILABLE }
 function CFMakeCollectable( cf: CFTypeRef ): CFTypeRef; external name '_CFMakeCollectable';
-(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) 
 
 function CFEqual( cf1: CFTypeRef; cf2: CFTypeRef ): Boolean; external name '_CFEqual';
 

+ 13 - 6
packages/univint/src/CFBinaryHeap.pas

@@ -1,8 +1,9 @@
 {	CFBinaryHeap.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -244,7 +250,8 @@ type
 	This is the type of a reference to CFBinaryHeaps.
 }
 type
-	CFBinaryHeapRef = ^SInt32; { an opaque 32-bit type }
+	CFBinaryHeapRef = ^__CFBinaryHeap; { an opaque type }
+	__CFBinaryHeap = record end;
 
 {!
 	@function CFBinaryHeapGetTypeID
@@ -305,7 +312,7 @@ function CFBinaryHeapGetTypeID: CFTypeID; external name '_CFBinaryHeapGetTypeID'
 		the behavior is undefined. If any of the values put into the
 		binary heap is not one understood by one of the callback functions
 		the behavior when that callback function is used is undefined.
-  @param compareContext A pointer to a CFBinaryHeapCompareContext structure.
+        @param compareContext A pointer to a CFBinaryHeapCompareContext structure.
 	@result A reference to the new CFBinaryHeap.
 }
 function CFBinaryHeapCreate( allocator: CFAllocatorRef; capacity: CFIndex; callBacks: CFBinaryHeapCallBacksPtr; const (*var*) compareContext: CFBinaryHeapCompareContext ): CFBinaryHeapRef; external name '_CFBinaryHeapCreate';
@@ -349,7 +356,7 @@ function CFBinaryHeapCreate( allocator: CFAllocatorRef; capacity: CFIndex; callB
 		be the same as the given binary heap. The new binary heap uses the same
 		callbacks as the binary heap to be copied. If this parameter is
 		not a valid CFBinaryHeap, the behavior is undefined.
-	@result A reference to the new binary heap.
+	@result A reference to the new mutable binary heap.
 }
 function CFBinaryHeapCreateCopy( allocator: CFAllocatorRef; capacity: CFIndex; heap: CFBinaryHeapRef ): CFBinaryHeapRef; external name '_CFBinaryHeapCreateCopy';
 
@@ -453,7 +460,7 @@ procedure CFBinaryHeapApplyFunction( heap: CFBinaryHeapRef; applier: CFBinaryHea
 
 {!
 	@function CFBinaryHeapAddValue
-	 Adds the value to the binary heap.
+	Adds the value to the binary heap.
 	@param heap The binary heap to which the value is to be added. If this parameter is not a
 	 valid mutable CFBinaryHeap, the behavior is undefined.
 #if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4

+ 11 - 4
packages/univint/src/CFBitVector.pas

@@ -1,9 +1,10 @@
 {	CFBitVector.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -175,8 +181,9 @@ type
 	CFBit = UInt32;
 
 type
-	CFBitVectorRef = ^SInt32; { an opaque type }
-	CFMutableBitVectorRef = ^SInt32; { an opaque type }
+	CFBitVectorRef = ^__CFBitVector; { an opaque type }
+	__CFBitVector = record end;
+	CFMutableBitVectorRef = ^__CFBitVector; { an opaque type }
 
 function CFBitVectorGetTypeID: CFTypeID; external name '_CFBitVectorGetTypeID';
 

+ 22 - 13
packages/univint/src/CFBundle.pas

@@ -1,8 +1,9 @@
 {	CFBundle.h
-	Copyright (c) 1999-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
 }
 {       Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -171,9 +177,10 @@ uses MacTypes,CFBase,CFArray,CFDictionary,CFError,CFString,CFURL;
 
 
 type
-	CFBundleRef = ^SInt32; { an opaque type }
+	CFBundleRef = ^__CFBundle; { an opaque type }
+	__CFBundle = record end;
 	CFBundleRefPtr = ^CFBundleRef;
-	CFPlugInRef = ^SInt32; { an opaque type }
+	CFPlugInRef = ^__CFBundle; { an opaque type }
 	CFPlugInRefPtr = ^CFPlugInRef;
 
 { ===================== Standard Info.plist keys ===================== }
@@ -184,7 +191,9 @@ var kCFBundleExecutableKey: CFStringRef; external name '_kCFBundleExecutableKey'
 var kCFBundleIdentifierKey: CFStringRef; external name '_kCFBundleIdentifierKey'; (* attribute const *)
     { The bundle identifier (for CFBundleGetBundleWithIdentifier()) }
 var kCFBundleVersionKey: CFStringRef; external name '_kCFBundleVersionKey'; (* attribute const *)
-    { The version number of the bundle.  For Mac OS 9 style version numbers (for example "2.5.3d5"), clients can use CFBundleGetVersionNumber() instead of accessing this key directly since that function will properly convert the version string into its compact integer representation. }
+    { The version number of the bundle.  For Mac OS 9 style version numbers (for example "2.5.3d5"), }
+    { clients can use CFBundleGetVersionNumber() instead of accessing this key directly since that }
+    { function will properly convert the version string into its compact integer representation. }
 var kCFBundleDevelopmentRegionKey: CFStringRef; external name '_kCFBundleDevelopmentRegionKey'; (* attribute const *)
     { The name of the development language of the bundle. }
 var kCFBundleNameKey: CFStringRef; external name '_kCFBundleNameKey'; (* attribute const *)
@@ -301,7 +310,7 @@ function CFBundleCopyPreferredLocalizationsFromArray( locArray: CFArrayRef ): CF
     { of them that CFBundle would use in the current application context. }
     { To determine the localizations that would be used for a particular }
     { bundle in the current application context, apply this function to the }
-    { result of CFBundleCopyBundleLocalizations.  }
+    { result of CFBundleCopyBundleLocalizations().  }
 
 {#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 function CFBundleCopyLocalizationsForPreferences( locArray: CFArrayRef; prefArray: CFArrayRef ): CFArrayRef; external name '_CFBundleCopyLocalizationsForPreferences';
@@ -309,10 +318,10 @@ function CFBundleCopyLocalizationsForPreferences( locArray: CFArrayRef; prefArra
     { them that CFBundle would use, without reference to the current application }
     { context, if the user's preferred localizations were given by prefArray. }
     { If prefArray is NULL, the current user's actual preferred localizations will }
-    { be used. This is not the same as CFBundleCopyPreferredLocalizationsFromArray, }
+    { be used. This is not the same as CFBundleCopyPreferredLocalizationsFromArray(), }
     { because that function takes the current application context into account. }
     { To determine the localizations that another application would use, apply }
-    { this function to the result of CFBundleCopyBundleLocalizations.  }
+    { this function to the result of CFBundleCopyBundleLocalizations().  }
 {#endif}
 
 function CFBundleCopyResourceURLForLocalization( bundle: CFBundleRef; resourceName: CFStringRef; resourceType: CFStringRef; subDirName: CFStringRef; localizationName: CFStringRef ): CFURLRef; external name '_CFBundleCopyResourceURLForLocalization';
@@ -329,13 +338,13 @@ function CFBundleCopyResourceURLsOfTypeForLocalization( bundle: CFBundleRef; res
 { This API is provided to enable developers to retrieve bundle-related }
 { information about an application that may be bundled or unbundled.   }
 function CFBundleCopyInfoDictionaryForURL( url: CFURLRef ): CFDictionaryRef; external name '_CFBundleCopyInfoDictionaryForURL';
-    { For a directory URL, this is equivalent to CFBundleCopyInfoDictionaryInDirectory. }
+    { For a directory URL, this is equivalent to CFBundleCopyInfoDictionaryInDirectory(). }
     { For a plain file URL representing an unbundled executable, this will attempt to read }
     { an info dictionary from the (__TEXT, __info_plist) section, if it is a Mach-o file, }
     { or from a 'plst' resource.  }
 
 function CFBundleCopyLocalizationsForURL( url: CFURLRef ): CFArrayRef; external name '_CFBundleCopyLocalizationsForURL';
-    { For a directory URL, this is equivalent to calling CFBundleCopyBundleLocalizations }
+    { For a directory URL, this is equivalent to calling CFBundleCopyBundleLocalizations() }
     { on the corresponding bundle.  For a plain file URL representing an unbundled executable, }
     { this will attempt to determine its localizations using the CFBundleLocalizations and }
     { CFBundleDevelopmentRegion keys in the dictionary returned by CFBundleCopyInfoDictionaryForURL,}
@@ -343,7 +352,7 @@ function CFBundleCopyLocalizationsForURL( url: CFURLRef ): CFArrayRef; external
 {#endif}
 
 function CFBundleCopyExecutableArchitecturesForURL( url: CFURLRef ): CFArrayRef; external name '_CFBundleCopyExecutableArchitecturesForURL';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
     { For a directory URL, this is equivalent to calling CFBundleCopyExecutableArchitectures() }
     { on the corresponding bundle.  For a plain file URL representing an unbundled executable, }
     { this will return the architectures it provides, if it is a Mach-o file, or NULL otherwise. }
@@ -367,14 +376,14 @@ const
 {#endif} { MAC_OS_X_VERSION_10_5 <= MAC_OS_X_VERSION_MAX_ALLOWED }
 
 function CFBundleCopyExecutableArchitectures( bundle: CFBundleRef ): CFArrayRef; external name '_CFBundleCopyExecutableArchitectures';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
     { If the bundle's executable exists and is a Mach-o file, this function will return an array }
     { of CFNumbers whose values are integers representing the architectures the file provides. }
     { The values currently in use are those listed in the enum above, but others may be added }
     { in the future.  If the executable is not a Mach-o file, this function returns NULL. }
 
 function CFBundlePreflightExecutable( bundle: CFBundleRef; var error: CFErrorRef ): Boolean; external name '_CFBundlePreflightExecutable';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
     { This function will return true if the bundle is loaded, or if the bundle appears to be }
     { loadable upon inspection.  This does not mean that the bundle is definitively loadable, }
     { since it may fail to load due to link errors or other problems not readily detectable. }
@@ -382,7 +391,7 @@ function CFBundlePreflightExecutable( bundle: CFBundleRef; var error: CFErrorRef
     { It is the responsibility of the caller to release the CFError. }
 
 function CFBundleLoadExecutableAndReturnError( bundle: CFBundleRef; var error: CFErrorRef ): Boolean; external name '_CFBundleLoadExecutableAndReturnError';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
     { If the bundle is already loaded, this function will return true.  Otherwise, it will attempt }
     { to load the bundle, and it will return true if that attempt succeeds.  If the bundle fails }
     { to load, this function will return false, and it will return a CFError by reference.  }

+ 5 - 0
packages/univint/src/CFByteOrders.pas

@@ -79,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 14 - 6
packages/univint/src/CFCalendar.pas

@@ -1,9 +1,10 @@
 {	CFCalendar.h
-	Copyright (c) 2004-2009, Apple Inc. All rights reserved.
+	Copyright (c) 2004-2012, Apple Inc. All rights reserved.
 }
 {       Pascal Translation:  Peter N Lewis, <[email protected]>, August 2005 }
 {       Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -175,7 +181,8 @@ uses MacTypes,CFBase,CFLocale,CFDate,CFTimeZone;
 
 
 type
-	CFCalendarRef = ^SInt32; { an opaque type }
+	CFCalendarRef = ^__CFCalendar; { an opaque type }
+	__CFCalendar = record end;
 
 function CFCalendarGetTypeID: CFTypeID; external name '_CFCalendarGetTypeID';
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
@@ -230,9 +237,10 @@ const
 	kCFCalendarUnitWeek = 1 shl 8;
 	kCFCalendarUnitWeekday = 1 shl 9;
 	kCFCalendarUnitWeekdayOrdinal = 1 shl 10;
-{#if MAC_OS_X_VERSION_10_6 <= MAC_OS_X_VERSION_MAX_ALLOWED}
-	kCFCalendarUnitQuarter = 1 shl 11;
-{#endif}
+	kCFCalendarUnitQuarter = 1 shl 11; { CF_AVAILABLE_STARTING(10_6, 4_0); }
+	kCFCalendarUnitWeekOfMonth = 1 shl 12; { CF_AVAILABLE_STARTING(10_7, 5_0) }
+	kCFCalendarUnitWeekOfYear = 1 shl 13; { CF_AVAILABLE_STARTING(10_7, 5_0) }
+	kCFCalendarUnitYearForWeekOfYear = 1 shl 14; { CF_AVAILABLE_STARTING(10_7, 5_0) }
 
 function CFCalendarGetMinimumRangeOfUnit( calendar: CFCalendarRef; unt: CFCalendarUnit ): CFRange; external name '_CFCalendarGetMinimumRangeOfUnit';
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
@@ -259,7 +267,7 @@ function CFCalendarDecomposeAbsoluteTime( calendar: CFCalendarRef; at: CFAbsolut
 const
 	kCFCalendarComponentsWrap = 1 shl 0;  // option for adding
 
-function CFCalendarAddComponents( calendar: CFCalendarRef; var at: { out } CFAbsoluteTime; options: CFOptionFlags; componentDesc: ConstCStringPtr; ... ): Boolean; external name '_CFCalendarAddComponents';
+function CFCalendarAddComponents( calendar: CFCalendarRef; var at: { inout } CFAbsoluteTime; options: CFOptionFlags; componentDesc: ConstCStringPtr; ... ): Boolean; external name '_CFCalendarAddComponents';
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 
 function CFCalendarGetComponentDifference( calendar: CFCalendarRef; startingAT: CFAbsoluteTime; resultAT: CFAbsoluteTime; options: CFOptionFlags; componentDesc: ConstCStringPtr; ... ): Boolean; external name '_CFCalendarGetComponentDifference';

+ 11 - 4
packages/univint/src/CFCharacterSet.pas

@@ -1,8 +1,9 @@
 {	CFCharacterSet.h
-	Copyright (c) 1999-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1999-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -202,7 +208,8 @@ uses MacTypes,CFBase,CFData;
 	This is the type of a reference to immutable CFCharacterSets.
 }
 type
-	CFCharacterSetRef = ^SInt32; { an opaque type }
+	CFCharacterSetRef = ^__CFCharacterSet; { an opaque type }
+	__CFCharacterSet = record end;
 	CFCharacterSetRefPtr = ^CFCharacterSetRef;
 
 {!
@@ -218,7 +225,7 @@ type
         Type of the predefined CFCharacterSet selector values.
 }
 type
-	CFCharacterSetPredefinedSet = SIGNEDLONG;
+	CFCharacterSetPredefinedSet = CFIndex;
 const
 	kCFCharacterSetControl = 1; { Control character set (Unicode General Category Cc and Cf) }
 	kCFCharacterSetWhitespace = 2; { Whitespace character set (Unicode General Category Zs and U0009 CHARACTER TABULATION) }
@@ -304,7 +311,7 @@ function CFCharacterSetCreateWithCharactersInString( alloc: CFAllocatorRef; theS
                 the character set is filled with.  The bitmap
                 representation could contain all the Unicode character
                 range starting from BMP to Plane 16.  The first 8192 bytes
-                of the data represents the BMP range.  The BMP range 8192
+                of the data represent the BMP range.  The BMP range 8192
                 bytes can be followed by zero to sixteen 8192 byte
                 bitmaps, each one with the plane index byte prepended.
                 For example, the bitmap representing the BMP and Plane 2

+ 15 - 9
packages/univint/src/CFData.pas

@@ -1,8 +1,9 @@
 {	CFData.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -172,9 +178,10 @@ uses MacTypes,CFBase;
 
     
 type
-	CFDataRef = ^SInt32; { an opaque type }
+	CFDataRef = ^__CFData; { an opaque type }
+	__CFData = record end;
 	CFDataRefPtr = ^CFDataRef;
-	CFMutableDataRef = CFDataRef;
+	CFMutableDataRef = ^__CFData;
 	CFMutableDataRefPtr = ^CFMutableDataRef;
 
 function CFDataGetTypeID: CFTypeID; external name '_CFDataGetTypeID';
@@ -208,18 +215,17 @@ procedure CFDataReplaceBytes( theData: CFMutableDataRef; range: CFRange; newByte
 
 procedure CFDataDeleteBytes( theData: CFMutableDataRef; range: CFRange ); external name '_CFDataDeleteBytes';
 
-{$ifc TARGET_OS_MAC}
 {#if MAC_OS_X_VERSION_10_6 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 type
 	CFDataSearchFlags = CFOptionFlags;
 
 const
-	kCFDataSearchBackwards = 1 shl 0; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
-	kCFDataSearchAnchored = 1 shl 1; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+	kCFDataSearchBackwards = 1 shl 0; (* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+	kCFDataSearchAnchored = 1 shl 1; (* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
-function CFDataFind( theData: CFDataRef; dataToFind: CFDataRef; searchRange: CFRange; compareOptions: CFDataSearchFlags ): CFRange; external name '_CFDataFind'; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+function CFDataFind( theData: CFDataRef; dataToFind: CFDataRef; searchRange: CFRange; compareOptions: CFDataSearchFlags ): CFRange; external name '_CFDataFind';
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 {#endif}
-{$endc}
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 12 - 4
packages/univint/src/CFDate.pas

@@ -1,8 +1,9 @@
 {	CFDate.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -183,7 +189,8 @@ var kCFAbsoluteTimeIntervalSince1970: CFTimeInterval; external name '_kCFAbsolut
 var kCFAbsoluteTimeIntervalSince1904: CFTimeInterval; external name '_kCFAbsoluteTimeIntervalSince1904'; (* attribute const *)
 
 type
-	CFDateRef = ^SInt32; { an opaque type }
+	CFDateRef = ^__CFDate; { an opaque type }
+	__CFDate = record end;
 	CFDateRefPtr = ^CFDateRef;
 
 function CFDateGetTypeID: CFTypeID; external name '_CFDateGetTypeID';
@@ -197,7 +204,8 @@ function CFDateGetTimeIntervalSinceDate( theDate: CFDateRef; otherDate: CFDateRe
 function CFDateCompare( theDate: CFDateRef; otherDate: CFDateRef; context: UnivPtr ): CFComparisonResult; external name '_CFDateCompare';
 
 type
-	CFTimeZoneRef = ^SInt32; { an opaque type }
+	CFTimeZoneRef = ^__CFTimeZone; { an opaque type }
+	__CFTimeZone = record end;
 	CFTimeZoneRefPtr = ^CFTimeZoneRef;
 
 type
@@ -223,7 +231,7 @@ type
 	CFGregorianUnitsPtr = ^CFGregorianUnits;
 
 type
-	CFGregorianUnitFlags = UNSIGNEDLONG;
+	CFGregorianUnitFlags = CFOptionFlags;
 const
 	kCFGregorianUnitsYears = 1 shl 0;
 	kCFGregorianUnitsMonths = 1 shl 1;

+ 26 - 19
packages/univint/src/CFDateFormatter.pas

@@ -1,10 +1,11 @@
 {	CFDateFormatter.h
-	Copyright (c) 2003-2009, Apple Inc. All rights reserved.
+	Copyright (c) 2003-2012, Apple Inc. All rights reserved.
 }
 {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {	  Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -175,19 +181,20 @@ uses MacTypes,CFBase,CFDate,CFLocale;
 {#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
 
 type
-	CFDateFormatterRef = ^SInt32; { an opaque type }
+	CFDateFormatterRef = ^__CFDateFormatter; { an opaque type }
+	__CFDateFormatter = record end;
 
 // CFDateFormatters are not thread-safe.  Do not use one from multiple threads!
 
 function CFDateFormatterCreateDateFormatFromTemplate( allocator: CFAllocatorRef; tmplate: CFStringRef; options: CFOptionFlags; locale: CFLocaleRef ): CFStringRef; external name '_CFDateFormatterCreateDateFormatFromTemplate';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 	// no options defined, pass 0 for now
 
 function CFDateFormatterGetTypeID: CFTypeID; external name '_CFDateFormatterGetTypeID';
 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
 
 type
-	CFDateFormatterStyle = SIGNEDLONG;
+	CFDateFormatterStyle = CFIndex;
 const
 // date and time format styles
 	kCFDateFormatterNoStyle = 0;
@@ -295,35 +302,35 @@ var kCFDateFormatterAMSymbol: CFStringRef; external name '_kCFDateFormatterAMSym
 var kCFDateFormatterPMSymbol: CFStringRef; external name '_kCFDateFormatterPMSymbol'; (* attribute const *)
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)		// CFString
 var kCFDateFormatterLongEraSymbols: CFStringRef; external name '_kCFDateFormatterLongEraSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)   // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)   // CFArray of CFString
 var kCFDateFormatterVeryShortMonthSymbols: CFStringRef; external name '_kCFDateFormatterVeryShortMonthSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterStandaloneMonthSymbols: CFStringRef; external name '_kCFDateFormatterStandaloneMonthSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterShortStandaloneMonthSymbols: CFStringRef; external name '_kCFDateFormatterShortStandaloneMonthSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterVeryShortStandaloneMonthSymbols: CFStringRef; external name '_kCFDateFormatterVeryShortStandaloneMonthSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterVeryShortWeekdaySymbols: CFStringRef; external name '_kCFDateFormatterVeryShortWeekdaySymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterStandaloneWeekdaySymbols: CFStringRef; external name '_kCFDateFormatterStandaloneWeekdaySymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterShortStandaloneWeekdaySymbols: CFStringRef; external name '_kCFDateFormatterShortStandaloneWeekdaySymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterVeryShortStandaloneWeekdaySymbols: CFStringRef; external name '_kCFDateFormatterVeryShortStandaloneWeekdaySymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterQuarterSymbols: CFStringRef; external name '_kCFDateFormatterQuarterSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) 	// CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) 	// CFArray of CFString
 var kCFDateFormatterShortQuarterSymbols: CFStringRef; external name '_kCFDateFormatterShortQuarterSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterStandaloneQuarterSymbols: CFStringRef; external name '_kCFDateFormatterStandaloneQuarterSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterShortStandaloneQuarterSymbols: CFStringRef; external name '_kCFDateFormatterShortStandaloneQuarterSymbols'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFArray of CFString
 var kCFDateFormatterGregorianStartDate: CFStringRef; external name '_kCFDateFormatterGregorianStartDate'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFDate
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFDate
 var kCFDateFormatterDoesRelativeDateFormattingKey: CFStringRef; external name '_kCFDateFormatterDoesRelativeDateFormattingKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) // CFBoolean
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *) // CFBoolean
 
 // See CFLocale.h for these calendar constants:
 //	const CFStringRef kCFGregorianCalendar;

+ 9 - 2
packages/univint/src/CFDictionary.pas

@@ -1,8 +1,9 @@
 {	CFDictionary.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -356,7 +362,8 @@ type
 	This is the type of a reference to immutable CFDictionarys.
 }
 type
-	CFDictionaryRef = ^SInt32; { an opaque type }
+	CFDictionaryRef = ^__CFDictionary; { an opaque type }
+	__CFDictionary = record end;
 	CFDictionaryRefPtr = ^CFDictionaryRef;
 
 {!

+ 32 - 21
packages/univint/src/CFError.pas

@@ -1,9 +1,10 @@
 {	CFError.h
-	Copyright (c) 2006-2007, Apple Inc. All rights reserved.
+	Copyright (c) 2006-2012, Apple Inc. All rights reserved.
 }
 
 {	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	 Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	 Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 
 {
     Modified for use with Free Pascal
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -201,7 +207,8 @@ uses MacTypes, CFBase, CFDictionary;
 	    This is the type of a reference to CFErrors.  CFErrorRef is toll-free bridged with NSError.
 }
 type
-	CFErrorRef = ^SInt32; { an opaque type }
+	CFErrorRef = ^__CFError; { an opaque type }
+	__CFError = record end;
 	CFErrorRefPtr = ^CFErrorRef;
 
 {!
@@ -209,34 +216,38 @@ type
 	    Returns the type identifier of all CFError instances.
 }
 function CFErrorGetTypeID: CFTypeID; external name '_CFErrorGetTypeID';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 
 // Predefined domains; value of "code" will correspond to preexisting values in these domains.
 var kCFErrorDomainPOSIX: CFStringRef; external name '_kCFErrorDomainPOSIX'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 var kCFErrorDomainOSStatus: CFStringRef; external name '_kCFErrorDomainOSStatus'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 var kCFErrorDomainMach: CFStringRef; external name '_kCFErrorDomainMach'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 var kCFErrorDomainCocoa: CFStringRef; external name '_kCFErrorDomainCocoa'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 // Keys in userInfo for localizable, end-user presentable error messages. At minimum provide one of first two; ideally provide all three.
 var kCFErrorLocalizedDescriptionKey: CFStringRef; external name '_kCFErrorLocalizedDescriptionKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)   // Key to identify the end user-presentable description in userInfo.
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)   // Key to identify the end user-presentable description in userInfo.
 var kCFErrorLocalizedFailureReasonKey: CFStringRef; external name '_kCFErrorLocalizedFailureReasonKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)   // Key to identify the end user-presentable failure reason in userInfo.
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)   // Key to identify the end user-presentable failure reason in userInfo.
 var kCFErrorLocalizedRecoverySuggestionKey: CFStringRef; external name '_kCFErrorLocalizedRecoverySuggestionKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)   // Key to identify the end user-presentable recovery suggestion in userInfo.
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)   // Key to identify the end user-presentable recovery suggestion in userInfo.
 
 // If you do not have localizable error strings, you can provide a value for this key instead.
 var kCFErrorDescriptionKey: CFStringRef; external name '_kCFErrorDescriptionKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)   // Key to identify the description in the userInfo dictionary. Should be a complete sentence if possible. Should not contain domain name or error code.
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)   // Key to identify the description in the userInfo dictionary. Should be a complete sentence if possible. Should not contain domain name or error code.
 
 // Other keys in userInfo.
 var kCFErrorUnderlyingErrorKey: CFStringRef; external name '_kCFErrorUnderlyingErrorKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)   // Key to identify the underlying error in userInfo.
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)   // Key to identify the underlying error in userInfo.
+var kCFErrorURLKey: CFStringRef; external name '_kCFErrorURLKey'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)    // Key to identify associated URL in userInfo.  Typically one of this or kCFErrorFilePathKey is provided.
+var kCFErrorFilePathKey: CFStringRef; external name '_kCFErrorFilePathKey'; (* attribute const *)
+(* CF_AVAILABLE_STARTING(10_7, 5_0) *)    // Key to identify associated file path in userInfo.    Typically one of this or kCFErrorURLKey is provided.
 
 
 {!
@@ -251,7 +262,7 @@ var kCFErrorUnderlyingErrorKey: CFStringRef; external name '_kCFErrorUnderlyingE
 	@result A reference to the new CFError.
 }
 function CFErrorCreate( allocator: CFAllocatorRef; domain: CFStringRef; code: CFIndex; userInfo: CFDictionaryRef ): CFErrorRef; external name '_CFErrorCreate';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorCreateWithUserInfoKeysAndValues
@@ -266,7 +277,7 @@ function CFErrorCreate( allocator: CFAllocatorRef; domain: CFStringRef; code: CF
 	@result A reference to the new CFError. numUserInfoValues CF types are gathered from each of userInfoKeys and userInfoValues to create the userInfo dictionary.
 }
 function CFErrorCreateWithUserInfoKeysAndValues( allocator: CFAllocatorRef; domain: CFStringRef; code: CFIndex; {const} userInfoKeys: {variable-size-array} UnivPtrPtr; {const} userInfoValues: {variable-size-array} UnivPtrPtr; numUserInfoValues: CFIndex ): CFErrorRef; external name '_CFErrorCreateWithUserInfoKeysAndValues';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorGetDomain
@@ -275,7 +286,7 @@ function CFErrorCreateWithUserInfoKeysAndValues( allocator: CFAllocatorRef; doma
 	@result The error domain of the CFError. Since this is a "Get" function, the caller shouldn't CFRelease the return value.
 }
 function CFErrorGetDomain( err: CFErrorRef ): CFStringRef; external name '_CFErrorGetDomain';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorGetCode
@@ -284,7 +295,7 @@ function CFErrorGetDomain( err: CFErrorRef ): CFStringRef; external name '_CFErr
 	@result The error code of the CFError (not an error return for the current call).
 }
 function CFErrorGetCode( err: CFErrorRef ): CFIndex; external name '_CFErrorGetCode';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorCopyUserInfo
@@ -294,7 +305,7 @@ function CFErrorGetCode( err: CFErrorRef ): CFIndex; external name '_CFErrorGetC
 	@result The user info of the CFError.
 }
 function CFErrorCopyUserInfo( err: CFErrorRef ): CFDictionaryRef; external name '_CFErrorCopyUserInfo';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorCopyDescription
@@ -308,7 +319,7 @@ function CFErrorCopyUserInfo( err: CFErrorRef ): CFDictionaryRef; external name
 	@result A CFString with human-presentable description of the CFError. Never NULL.
 }
 function CFErrorCopyDescription( err: CFErrorRef ): CFStringRef; external name '_CFErrorCopyDescription';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorCopyFailureReason
@@ -320,7 +331,7 @@ function CFErrorCopyDescription( err: CFErrorRef ): CFStringRef; external name '
 	@result A CFString with the localized, end-user presentable failure reason of the CFError, or NULL. 
 }
 function CFErrorCopyFailureReason( err: CFErrorRef ): CFStringRef; external name '_CFErrorCopyFailureReason';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 {!
 	@function CFErrorCopyRecoverySuggestion
@@ -332,7 +343,7 @@ function CFErrorCopyFailureReason( err: CFErrorRef ): CFStringRef; external name
 	@result A CFString with the localized, end-user presentable recovery suggestion of the CFError, or NULL. 
 }
 function CFErrorCopyRecoverySuggestion( err: CFErrorRef ): CFStringRef; external name '_CFErrorCopyRecoverySuggestion';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 
 end.

+ 8 - 2
packages/univint/src/CFFTPStream.pas

@@ -11,8 +11,9 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 10 - 3
packages/univint/src/CFHTTPAuthentication.pas

@@ -11,8 +11,9 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -188,7 +194,8 @@ uses MacTypes, CFArray, CFBase, CFDictionary, CFHTTPMessage, CFStream;
  *	information.
  }
 type
-	CFHTTPAuthenticationRef = ^SInt32; { an opaque type }
+	CFHTTPAuthenticationRef = ^_CFHTTPAuthentication; { an opaque type }
+	_CFHTTPAuthentication = record end;
 
 {
  *  CFStreamErrorHTTPAuthentication

+ 55 - 4
packages/univint/src/CFHTTPMessage.pas

@@ -11,9 +11,10 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -180,6 +186,7 @@ uses MacTypes,CFString,CFURL,CFBase,CFData,CFDictionary;
 
 {$ALIGN POWER}
 
+
 {
  *  kCFHTTPVersion1_0
  *  
@@ -266,8 +273,51 @@ var kCFHTTPAuthenticationSchemeNTLM: CFStringRef; external name '_kCFHTTPAuthent
  }
 var kCFHTTPAuthenticationSchemeNegotiate: CFStringRef; external name '_kCFHTTPAuthenticationSchemeNegotiate'; (* attribute const *)
 (* __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0) *)
+	
+{
+ *  kCFHTTPAuthenticationSchemeNegotiate2
+ *  
+ *  Discussion:
+ *	HTTP Negotiate v2 authentication scheme.
+ *  
+ *  Availability:
+ *	Mac OS X:		 in version 10.6 and later in CoreServices.framework
+ *	CarbonLib:		not available
+ *	Non-Carbon CFM:   not available
+ }
+var kCFHTTPAuthenticationSchemeNegotiate2: CFStringRef; external name '_kCFHTTPAuthenticationSchemeNegotiate2'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_3_0) *)
+	
+{
+ *  kCFHTTPAuthenticationSchemeXMobileMeAuthToken
+ *  
+ *  Discussion:
+ *	HTTP XMobileMeAuthToken authentication scheme.
+ *  
+ *  Availability:
+ *	Mac OS X:		 in version 10.6 and later in CoreServices.framework
+ *	CarbonLib:		not available
+ *	Non-Carbon CFM:   not available
+ }
+var kCFHTTPAuthenticationSchemeXMobileMeAuthToken: CFStringRef; external name '_kCFHTTPAuthenticationSchemeXMobileMeAuthToken'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_3) *)	
+	
 
+{
+ *  kCFHTTPAuthenticationSchemeKerberos
+ *  
+ *  Discussion:
+ *	HTTP Negotiate authentication scheme.
+ *  
+ *  Availability:
+ *	Mac OS X:		 in version 10.7 and later in CoreServices.framework
+ *	CarbonLib:		not available
+ *	Non-Carbon CFM:   not available
+ }
+var kCFHTTPAuthenticationSchemeKerberos: CFStringRef; external name '_kCFHTTPAuthenticationSchemeKerberos'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_5 { REMINDSMA: 10_7 },__IPHONE_2_0 { REMINDSMA: 4_0 }) *)
 
+	
 {
  *  CFHTTPMessageRef
  *  
@@ -276,7 +326,8 @@ var kCFHTTPAuthenticationSchemeNegotiate: CFStringRef; external name '_kCFHTTPAu
  *	message can be a request or a response.
  }
 type
-	CFHTTPMessageRef = ^SInt32; { an opaque type }
+	CFHTTPMessageRef = ^__CFHTTPMessage; { an opaque type }
+	__CFHTTPMessage = record end;
 
 {
  *  CFHTTPMessageGetTypeID()

+ 12 - 6
packages/univint/src/CFHTTPStream.pas

@@ -11,9 +11,10 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -358,7 +364,7 @@ var kCFStreamPropertyHTTPSProxyPort: CFStringRef; external name '_kCFStreamPrope
  *  kCFStreamPropertyHTTPShouldAutoredirect
  *  
  *  Discussion:
- *	Proxy dictionary key. Value is a CFBoolean. Redirection is not
+ *	Stream property key. Value is a CFBoolean. Redirection is not
  *	performed by default.
  *  
  *  Availability:
@@ -374,7 +380,7 @@ var kCFStreamPropertyHTTPShouldAutoredirect: CFStringRef; external name '_kCFStr
  *  kCFStreamPropertyHTTPAttemptPersistentConnection
  *  
  *  Discussion:
- *	Proxy dictionary key. Value is a CFBoolean.  If this property is
+ *	Stream property key. Value is a CFBoolean.  If this property is
  *	set to kCFBooleanTrue, an HTTP stream will look for an
  *	appropriate extant persistent connection to use, and if it finds
  *	none, will try to create one. Persistent connections are not used
@@ -393,7 +399,7 @@ var kCFStreamPropertyHTTPAttemptPersistentConnection: CFStringRef; external name
  *  kCFStreamPropertyHTTPRequestBytesWrittenCount
  *  
  *  Discussion:
- *	Proxy dictionary key. Value is a CFNumber. This property can only
+ *	Stream property key. Value is a CFNumber. This property can only
  *	be retrieved, not set. The number returned is the number of bytes
  *	from the body of the request that have been written to the
  *	underlying socket

+ 13 - 6
packages/univint/src/CFHost.pas

@@ -11,8 +11,9 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -177,7 +183,7 @@ interface
 uses MacTypes,CFBase,CFData,CFArray,CFRunLoop,CFStream;
 {$endc} {not MACOSALLINCLUDE}
 
-{$ALIGN POWER}
+{$ALIGN MAC68K}
 
 {
  *  CFHostRef
@@ -186,7 +192,8 @@ uses MacTypes,CFBase,CFData,CFArray,CFRunLoop,CFStream;
  *	This is the type of a reference to a host name or address lookup.
  }
 type
-	CFHostRef = ^SInt32; { an opaque type }
+	CFHostRef = ^__CFHost; { an opaque type }
+	__CFHost = record end;
 
 {
  *  kCFStreamErrorDomainNetDB
@@ -514,7 +521,7 @@ function CFHostStartInfoResolution( theHost: CFHostRef; info: CFHostInfoType; er
  *	CarbonLib:		not available
  *	Non-Carbon CFM:   not available
  }
-function CFHostGetAddressing( theHost: CFHostRef; var hasBeenResolved: Boolean ): CFArrayRef; external name '_CFHostGetAddressing';
+function CFHostGetAddressing( theHost: CFHostRef; hasBeenResolved: BooleanPtr { can be NULL } ): CFArrayRef; external name '_CFHostGetAddressing';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0) *)
 
 
@@ -550,7 +557,7 @@ function CFHostGetAddressing( theHost: CFHostRef; var hasBeenResolved: Boolean )
  *	CarbonLib:		not available
  *	Non-Carbon CFM:   not available
  }
-function CFHostGetNames( theHost: CFHostRef; var hasBeenResolved: Boolean ): CFArrayRef; external name '_CFHostGetNames';
+function CFHostGetNames( theHost: CFHostRef; hasBeenResolved: BooleanPtr { can be NULL } ): CFArrayRef; external name '_CFHostGetNames';
 (* __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0) *)
 
 

+ 27 - 20
packages/univint/src/CFLocale.pas

@@ -1,10 +1,11 @@
 {	CFLocale.h
-	Copyright (c) 2002-2009, Apple Inc. All rights reserved.
+	Copyright (c) 2002-2012, Apple Inc. All rights reserved.
 }
 {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -176,7 +182,8 @@ uses MacTypes,CFBase,CFArray,CFDictionary;
 
 
 type
-	CFLocaleRef = ^SInt32; { an opaque type }
+	CFLocaleRef = ^__CFLocale; { an opaque type }
+	__CFLocale = record end;
 
 function CFLocaleGetTypeID: CFTypeID; external name '_CFLocaleGetTypeID';
 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
@@ -220,12 +227,12 @@ function CFLocaleCopyISOCurrencyCodes: CFArrayRef; external name '_CFLocaleCopyI
 	// represent other financial instruments.
 
 function CFLocaleCopyCommonISOCurrencyCodes: CFArrayRef; external name '_CFLocaleCopyCommonISOCurrencyCodes';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 	// Returns an array of CFStrings that represents ISO currency codes for
 	// currencies in common use.
 
 function CFLocaleCopyPreferredLanguages: CFArrayRef; external name '_CFLocaleCopyPreferredLanguages';
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 	// Returns the array of canonicalized CFString locale IDs that the user prefers.
 
 function CFLocaleCreateCanonicalLanguageIdentifierFromString( allocator: CFAllocatorRef; localeIdentifier: CFStringRef ): CFStringRef; external name '_CFLocaleCreateCanonicalLanguageIdentifierFromString';
@@ -243,15 +250,15 @@ function CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes( allocato
 	// Map a Mac OS LangCode and RegionCode to the canonical locale identifier.
 
 function CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode( allocator: CFAllocatorRef; lcid: UInt32 ): CFStringRef; external name '_CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 	// Map a Windows LCID to the canonical locale identifier.
 
 function CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier( localeIdentifier: CFStringRef ): UInt32; external name '_CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 	// Map a locale identifier to a Windows LCID.
 
 type
-	CFLocaleLanguageDirection = SIGNEDLONG;
+	CFLocaleLanguageDirection = CFIndex;
 const
 	kCFLocaleLanguageDirectionUnknown = 0;
 	kCFLocaleLanguageDirectionLeftToRight = 1;
@@ -260,10 +267,10 @@ const
 	kCFLocaleLanguageDirectionBottomToTop = 4;
 
 function CFLocaleGetLanguageCharacterDirection( isoLangCode: CFStringRef ): CFLocaleLanguageDirection; external name '_CFLocaleGetLanguageCharacterDirection';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
 function CFLocaleGetLanguageLineDirection( isoLangCode: CFStringRef ): CFLocaleLanguageDirection; external name '_CFLocaleGetLanguageLineDirection';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
 function CFLocaleCreateComponentsFromLocaleIdentifier( allocator: CFAllocatorRef; localeID: CFStringRef ): CFDictionaryRef; external name '_CFLocaleCreateComponentsFromLocaleIdentifier';
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
@@ -311,7 +318,7 @@ function CFLocaleCopyDisplayNameForPropertyValue( displayLocale: CFLocaleRef; ke
 
 
 var kCFLocaleCurrentLocaleDidChangeNotification: CFStringRef; external name '_kCFLocaleCurrentLocaleDidChangeNotification'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 
 
 // Locale Keys
@@ -347,15 +354,15 @@ var kCFLocaleCurrencySymbol: CFStringRef; external name '_kCFLocaleCurrencySymbo
 var kCFLocaleCurrencyCode: CFStringRef; external name '_kCFLocaleCurrencyCode'; (* attribute const *)
 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *) // ISO 3-letter currency code
 var kCFLocaleCollatorIdentifier: CFStringRef; external name '_kCFLocaleCollatorIdentifier'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFLocaleQuotationBeginDelimiterKey: CFStringRef; external name '_kCFLocaleQuotationBeginDelimiterKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFLocaleQuotationEndDelimiterKey: CFStringRef; external name '_kCFLocaleQuotationEndDelimiterKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFLocaleAlternateQuotationBeginDelimiterKey: CFStringRef; external name '_kCFLocaleAlternateQuotationBeginDelimiterKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFLocaleAlternateQuotationEndDelimiterKey: CFStringRef; external name '_kCFLocaleAlternateQuotationEndDelimiterKey'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
 // Values for kCFLocaleCalendarIdentifier
 var kCFGregorianCalendar: CFStringRef; external name '_kCFGregorianCalendar'; (* attribute const *)
@@ -373,13 +380,13 @@ var kCFIslamicCivilCalendar: CFStringRef; external name '_kCFIslamicCivilCalenda
 var kCFJapaneseCalendar: CFStringRef; external name '_kCFJapaneseCalendar'; (* attribute const *)
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 var kCFRepublicOfChinaCalendar: CFStringRef; external name '_kCFRepublicOfChinaCalendar'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFPersianCalendar: CFStringRef; external name '_kCFPersianCalendar'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFIndianCalendar: CFStringRef; external name '_kCFIndianCalendar'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 var kCFISO8601Calendar: CFStringRef; external name '_kCFISO8601Calendar'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
 

+ 9 - 2
packages/univint/src/CFMachPort.pas

@@ -1,9 +1,10 @@
 {	CFMachPort.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -172,7 +178,8 @@ uses MacTypes,CFBase,CFRunLoop,MacOSXPosix;
 
 
 type
-	CFMachPortRef = ^SInt32; { an opaque 32-bit type }
+	CFMachPortRef = ^__CFMachPort; { an opaque type }
+	__CFMachPort = record end;
 
 type
 	CFMachPortContext = record

+ 10 - 3
packages/univint/src/CFMessagePort.pas

@@ -1,9 +1,10 @@
 {	CFMessagePort.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -172,7 +178,8 @@ uses MacTypes,CFBase,CFString,CFRunLoop,CFData,CFDate;
 
 
 type
-	CFMessagePortRef = ^SInt32; { an opaque 32-bit type }
+	CFMessagePortRef = ^__CFMessagePort; { an opaque type }
+	__CFMessagePort = record end;
 
 const
 	kCFMessagePortSuccess = 0;
@@ -222,7 +229,7 @@ function CFMessagePortCreateRunLoopSource( allocator: CFAllocatorRef; local: CFM
 First requires translation of dispatch/dispatch.h and the files it includes
 
 procedure CFMessagePortSetDispatchQueue( ms: CFMessagePortRef; queue: dispatch_queue_t ); external name '_CFMessagePortSetDispatchQueue';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 }
 
 {#endif}

+ 10 - 3
packages/univint/src/CFNetDiagnostics.pas

@@ -11,8 +11,9 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -189,7 +195,8 @@ uses MacTypes, CFBase, CFStream, CFURL;
  *	clients may be querying about
  }
 type
-	CFNetDiagnosticRef = ^SInt32; { an opaque type }
+	CFNetDiagnosticRef = ^__CFNetDiagnostic; { an opaque type }
+	__CFNetDiagnostic = record end;
 
 {
  *  CFNetDiagnosticStatusValues

+ 15 - 6
packages/univint/src/CFNetServices.pas

@@ -11,9 +11,10 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
-{   Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
-{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
+{       Pascal Translation Updated:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -89,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -98,6 +100,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +116,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -132,6 +137,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -189,7 +195,8 @@ uses MacTypes,CFBase,CFStream,CFArray,CFRunLoop, CFData, CFDate, CFDictionary;
  *	registering or for resolving.
  }
 type
-	CFNetServiceRef = ^SInt32; { an opaque type }
+	CFNetServiceRef = ^__CFNetService; { an opaque type }
+	__CFNetService = record end;
 
 {
  *  CFNetServiceMonitorRef
@@ -199,7 +206,8 @@ type
  *	used for watching record changes on a CFNetServiceRef.
  }
 type
-	CFNetServiceMonitorRef = ^SInt32; { an opaque type }
+	CFNetServiceMonitorRef = ^__CFNetServiceMonitor; { an opaque type }
+	__CFNetServiceMonitor = record end;
 
 {
  *  CFNetServiceBrowserRef
@@ -209,7 +217,8 @@ type
  *	It may be used for discovering services or domains.
  }
 type
-	CFNetServiceBrowserRef = ^SInt32; { an opaque type }
+	CFNetServiceBrowserRef = ^__CFNetServiceBrowser; { an opaque type }
+	__CFNetServiceBrowser = record end;
 {
  *  kCFStreamErrorDomainMach
  *  

+ 9 - 2
packages/univint/src/CFNetworkErrorss.pas

@@ -11,8 +11,9 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -252,6 +258,7 @@ const
 	kCFErrorPACFileError = 308;
 	kCFErrorPACFileAuth = 309;
 	kCFErrorHTTPSProxyConnectionFailure = 310;
+	kCFStreamErrorHTTPSProxyFailureUnexpectedResponseToCONNECTMethod = 311;
 	
   // Error codes for CFURLConnection and CFURLProtocol
 	kCFURLErrorUnknown = -998;

+ 10 - 3
packages/univint/src/CFNotificationCenter.pas

@@ -1,10 +1,11 @@
 {	CFNotificationCenter.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {	  Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {	  Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {	  Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{	  Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -173,13 +179,14 @@ uses MacTypes,CFBase,CFDictionary;
 
 
 type
-	CFNotificationCenterRef = ^SInt32; { an opaque type }
+	CFNotificationCenterRef = ^__CFNotificationCenter; { an opaque type }
+	__CFNotificationCenter = record end;
 
 type
 	CFNotificationCallback = procedure( center: CFNotificationCenterRef; observer: UnivPtr; name: CFStringRef; objct: {const} UnivPtr; userInfo: CFDictionaryRef );
 
 type
-	CFNotificationSuspensionBehavior = SIGNEDLONG;
+	CFNotificationSuspensionBehavior = CFIndex;
 const
 	CFNotificationSuspensionBehaviorDrop = 1;
         // The server will not queue any notifications with this name and object while the process/app is in the background.

+ 14 - 6
packages/univint/src/CFNumber.pas

@@ -1,8 +1,9 @@
 {	CFNumber.h
-	Copyright (c) 1999-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1999-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -171,7 +177,8 @@ uses MacTypes,CFBase;
 
 
 type
-	CFBooleanRef = ^SInt32; { an opaque type }
+	CFBooleanRef = ^__CFBoolean; { an opaque type }
+	__CFBoolean = record end;
 	CFBooleanRefPtr = ^CFBooleanRef;
 
 var kCFBooleanTrue: CFBooleanRef; external name '_kCFBooleanTrue'; (* attribute const *)
@@ -182,7 +189,7 @@ function CFBooleanGetTypeID: CFTypeID; external name '_CFBooleanGetTypeID';
 function CFBooleanGetValue( value: CFBooleanRef ): Boolean; external name '_CFBooleanGetValue';
 
 type
-	CFNumberType = SIGNEDLONG;
+	CFNumberType = CFIndex;
 const
 																{  Types from MacTypes.h  }
 	kCFNumberSInt8Type = 1;
@@ -202,15 +209,16 @@ const
 	kCFNumberCFIndexType = 14;
   kCFNumberMaxType_MAC_OS_X_VERSION_PRE_10_5 = 14;
 {#if MAC_OS_X_VERSION_10_5 <= MAC_OS_X_VERSION_MAX_ALLOWED}
-  kCFNumberNSIntegerType = 15; (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
-  kCFNumberCGFloatType = 16; (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
+  kCFNumberNSIntegerType = 15; (* CF_AVAILABLE_STARTING(10_5, 2_0) *)
+  kCFNumberCGFloatType = 16; (* CF_AVAILABLE_STARTING(10_5, 2_0) *)
   kCFNumberMaxType = 16;
 {#else
  kCFNumberMaxType = 14
 #endif}
 
 type
-	CFNumberRef = ^SInt32; { an opaque type }
+	CFNumberRef = ^__CFNumber; { an opaque type }
+	__CFNumber = record end;
 	CFNumberRefPtr = ^CFNumberRef;
 
 var kCFNumberPositiveInfinity: CFNumberRef; external name '_kCFNumberPositiveInfinity'; (* attribute const *)

+ 19 - 12
packages/univint/src/CFNumberFormatter.pas

@@ -1,10 +1,11 @@
 {	CFNumberFormatter.h
-	Copyright (c) 2003-2009, Apple Inc. All rights reserved.
+	Copyright (c) 2003-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -80,6 +81,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -89,6 +91,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -104,6 +107,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -113,6 +117,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -123,6 +128,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -176,7 +182,8 @@ uses MacTypes,CFBase,CFNumber,CFLocale;
 
 
 type
-	CFNumberFormatterRef = ^SInt32; { an opaque type }
+	CFNumberFormatterRef = ^__CFNumberFormatter; { an opaque type }
+	__CFNumberFormatter = record end;
 
 // CFNumberFormatters are not thread-safe.  Do not use one from multiple threads!
 
@@ -185,7 +192,7 @@ function CFNumberFormatterGetTypeID: CFTypeID; external name '_CFNumberFormatter
 
 // number format styles
 type
-	CFNumberFormatterStyle = SIGNEDLONG;
+	CFNumberFormatterStyle = CFIndex;
 const
 	kCFNumberFormatterNoStyle = 0;
 	kCFNumberFormatterDecimalStyle = 1;
@@ -215,7 +222,7 @@ procedure CFNumberFormatterSetFormat( formatter: CFNumberFormatterRef; formatStr
 	// Set the format description string of the number formatter.  This
 	// overrides the style settings.  The format of the format string
 	// is as defined by the ICU library, and is similar to that found
-	// in Microsoft Excel and NSNumberFormatter (and Java I believe).
+	// in Microsoft Excel and NSNumberFormatter.
 	// The number formatter starts with a default format string defined
 	// by the style argument with which it was created.
 
@@ -230,7 +237,7 @@ function CFNumberFormatterCreateStringWithValue( allocator: CFAllocatorRef; form
 
 
 type
-	CFNumberFormatterOptionFlags = UNSIGNEDLONG;
+	CFNumberFormatterOptionFlags = CFOptionFlags;
 const
 	kCFNumberFormatterParseIntegersOnly = 1;	{ only parse integers }
 
@@ -325,18 +332,18 @@ var kCFNumberFormatterPerMillSymbol: CFStringRef; external name '_kCFNumberForma
 var kCFNumberFormatterInternationalCurrencySymbol: CFStringRef; external name '_kCFNumberFormatterInternationalCurrencySymbol'; (* attribute const *)
 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
 var kCFNumberFormatterCurrencyGroupingSeparator: CFStringRef; external name '_kCFNumberFormatterCurrencyGroupingSeparator'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *) // CFString
 var kCFNumberFormatterIsLenient: CFStringRef; external name '_kCFNumberFormatterIsLenient'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)		// CFBoolean
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)		// CFBoolean
 var kCFNumberFormatterUseSignificantDigits: CFStringRef; external name '_kCFNumberFormatterUseSignificantDigits'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)	// CFBoolean
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)	// CFBoolean
 var kCFNumberFormatterMinSignificantDigits: CFStringRef; external name '_kCFNumberFormatterMinSignificantDigits'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)	// CFNumber
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)	// CFNumber
 var kCFNumberFormatterMaxSignificantDigits: CFStringRef; external name '_kCFNumberFormatterMaxSignificantDigits'; (* attribute const *)
-(* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)	// CFNumber
+(* CF_AVAILABLE_STARTING(10_5, 2_0) *)	// CFNumber
 
 type
-	CFNumberFormatterRoundingMode = SIGNEDLONG;
+	CFNumberFormatterRoundingMode = CFIndex;
 const
 	kCFNumberFormatterRoundCeiling = 0;
 	kCFNumberFormatterRoundFloor = 1;
@@ -347,7 +354,7 @@ const
 	kCFNumberFormatterRoundHalfUp = 6;
 
 type
-	CFNumberFormatterPadPosition = SIGNEDLONG;
+	CFNumberFormatterPadPosition = CFIndex;
 const
 	kCFNumberFormatterPadBeforePrefix = 0;
 	kCFNumberFormatterPadAfterPrefix = 1;

+ 9 - 2
packages/univint/src/CFPlugIn.pas

@@ -1,9 +1,10 @@
 {	CFPlugIn.h
-	Copyright (c) 1999-2009, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Gorazd Krosl, <[email protected], October 2009 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -251,7 +257,8 @@ procedure CFPlugInRemoveInstanceForFactory( factoryID: CFUUIDRef ); external nam
 { Obsolete API }
 
 type
-	CFPlugInInstanceRef = ^SInt32; { an opaque type }
+	CFPlugInInstanceRef = ^__CFPlugInInstance; { an opaque type }
+	__CFPlugInInstance = record end;
 	CFPlugInInstanceRefPtr = ^CFPlugInInstanceRef;
 
 type

+ 7 - 1
packages/univint/src/CFPlugInCOM.pas

@@ -1,9 +1,10 @@
 {	CFPlugInCOM.h
-	Copyright (c) 1999-2009, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 7 - 1
packages/univint/src/CFPreferences.pas

@@ -1,9 +1,10 @@
 {	CFPreferences.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Gorazd Krosl, <[email protected]>, October 2009 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}

+ 26 - 13
packages/univint/src/CFPropertyList.pas

@@ -1,8 +1,9 @@
 {	CFPropertyList.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -171,7 +177,7 @@ uses MacTypes,CFBase,CFData,CFError,CFString,CFStream;
 
 
 type
-	CFPropertyListMutabilityOptions = UNSIGNEDLONG;
+	CFPropertyListMutabilityOptions = CFOptionFlags;
 const
 	kCFPropertyListImmutable = 0;
 	kCFPropertyListMutableContainers = 1;
@@ -184,8 +190,8 @@ const
 	and errorString is non-NULL, a human-readable description of the failure
 	is returned in errorString. It is the caller's responsibility to release
 	either the returned object or the error string, whichever is applicable.
-
-  This function is obsolete and will be deprecated soon. See CFPropertyListCreateWithData() for a replacement.
+ 
+        This function is obsolete and will be deprecated soon. See CFPropertyListCreateWithData() for a replacement.
 }
 function CFPropertyListCreateFromXMLData( allocator: CFAllocatorRef; xmlData: CFDataRef; mutabilityOption: CFOptionFlags; errorString: CFStringRefPtr ): CFPropertyListRef; external name '_CFPropertyListCreateFromXMLData';
 
@@ -198,8 +204,8 @@ function CFPropertyListCreateFromXMLData( allocator: CFAllocatorRef; xmlData: CF
 	appropriate for writing out to an XML file. Note that a data, not a
 	string, is returned because the bytes contain in them a description
 	of the string encoding used.
-
-  This function is obsolete and will be deprecated soon. See CFPropertyListCreateData() for a replacement.
+ 
+        This function is obsolete and will be deprecated soon. See CFPropertyListCreateData() for a replacement.
 }
 function CFPropertyListCreateXMLData( allocator: CFAllocatorRef; propertyList: CFPropertyListRef ): CFDataRef; external name '_CFPropertyListCreateXMLData';
 
@@ -214,7 +220,7 @@ function CFPropertyListCreateDeepCopy( allocator: CFAllocatorRef; propertyList:
 {#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 
 type
-	CFPropertyListFormat = SIGNEDLONG;
+	CFPropertyListFormat = CFIndex;
 	CFPropertyListFormatPtr = ^CFPropertyListFormat;
 
 const
@@ -236,11 +242,12 @@ function CFPropertyListIsValid( plist: CFPropertyListRef; format: CFPropertyList
  * reading stream to end wherever the writing ended, so that the
  * end of the plist data can be identified. Returns the number of bytes
  * written, or 0 on error. Error messages are not currently localized, but
- * may be in the future, so they are not suitable for comparison.
+ * may be in the future, so they are not suitable for comparison. 
  *
  * This function is obsolete and will be deprecated soon. See CFPropertyListWrite() for a replacement. }
 function CFPropertyListWriteToStream( propertyList: CFPropertyListRef; stream: CFWriteStreamRef; format: CFPropertyListFormat; var errorString: CFStringRef ): CFIndex; external name '_CFPropertyListWriteToStream';
 
+
 { Same as current function CFPropertyListCreateFromXMLData()
  * but takes a stream instead of data, and works on any plist file format.
  * CFPropertyListCreateFromXMLData() also works on any plist file format.
@@ -249,7 +256,7 @@ function CFPropertyListWriteToStream( propertyList: CFPropertyListRef; stream: C
  * of the stream, which is expected to be the end of the plist, or up to the
  * number of bytes given by the length parameter if it is not 0. Error messages
  * are not currently localized, but may be in the future, so they are not
- * suitable for comparison.
+ * suitable for comparison. 
  *
  * This function is obsolete and will be deprecated soon. See CFPropertyListCreateWithStream() for a replacement. }
 function CFPropertyListCreateFromStream( allocator: CFAllocatorRef; stream: CFReadStreamRef; streamLength: CFIndex; mutabilityOption: CFOptionFlags; var format: CFPropertyListFormat; var errorString: CFStringRef ): CFPropertyListRef; external name '_CFPropertyListCreateFromStream';
@@ -267,22 +274,28 @@ const
 { Create a property list with a CFData input. If the format parameter is non-NULL, it will be set to the format of the data after parsing is complete. The options parameter is used to specify CFPropertyListMutabilityOptions. If an error occurs while parsing the data, the return value will be NULL. Additionally, if an error occurs and the error parameter is non-NULL, the error parameter will be set to a CFError describing the problem, which the caller must release. If the parse succeeds, the returned value is a reference to the new property list. It is the responsibility of the caller to release this value.
  }
 function CFPropertyListCreateWithData( allocator: CFAllocatorRef; data: CFDataRef; options: CFOptionFlags; format: CFPropertyListFormatPtr { can be NULL };  error: CFErrorRefPtr { can be NULL } ): CFPropertyListRef; external name '_CFPropertyListCreateWithData';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
+{ Apple sets TARGET_OS_MAC to true for TARGET_IPHONE_SIMULATOR, but since we use unified
+  headers for Mac OS X and iPhoneSimulator, that would result in many problems -> specify
+  it explicitly }
+{$ifc TARGET_OS_MAC or TARGET_OS_WIN32 or TARGET_OS_EMBEDDED or TARGET_IPHONE_SIMULATOR}
 { Create and return a property list with a CFReadStream input. TIf the format parameter is non-NULL, it will be set to the format of the data after parsing is complete. The options parameter is used to specify CFPropertyListMutabilityOptions. The streamLength parameter specifies the number of bytes to read from the stream. Set streamLength to 0 to read until the end of the stream is detected. If an error occurs while parsing the data, the return value will be NULL. Additionally, if an error occurs and the error parameter is non-NULL, the error parameter will be set to a CFError describing the problem, which the caller must release. If the parse succeeds, the returned value is a reference to the new property list. It is the responsibility of the caller to release this value.
  }
 function CFPropertyListCreateWithStream( allocator: CFAllocatorRef; stream: CFReadStreamRef; streamLength: CFIndex; options: CFOptionFlags;  format: CFPropertyListFormatPtr { can be NULL }; error: CFErrorRefPtr { can be NULL } ): CFPropertyListRef; external name '_CFPropertyListCreateWithStream';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
 { Write the bytes of a serialized property list out to a stream. The stream must be opened and configured. The format of the property list can be chosen with the format parameter. The options parameter is currently unused and should be set to 0. The return value is the number of bytes written or 0 in the case of an error. If an error occurs and the error parameter is non-NULL, the error parameter will be set to a CFError describing the problem, which the caller must release.
  }
 function CFPropertyListWrite( propertyList: CFPropertyListRef; stream: CFWriteStreamRef; format: CFPropertyListFormat; options: CFOptionFlags; error: CFErrorRefPtr { can be NULL } ): CFIndex; external name '_CFPropertyListWrite';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
+
+{$endc} {TARGET_OS_MAC or TARGET_OS_WIN32 or TARGET_OS_EMBEDDED or TARGET_IPHONE_SIMULATOR}
 
 { Create a CFData with the bytes of a serialized property list. The format of the property list can be chosen with the format parameter. The options parameter is currently unused and should be set to 0. If an error occurs while parsing the data, the return value will be NULL. Additionally, if an error occurs and the error parameter is non-NULL, the error parameter will be set to a CFError describing the problem, which the caller must release. If the conversion succeeds, the returned value is a reference to the created data. It is the responsibility of the caller to release this value.
  }
 function CFPropertyListCreateData( allocator: CFAllocatorRef; propertyList: CFPropertyListRef; format: CFPropertyListFormat; options: CFOptionFlags; error: CFErrorRefPtr { can be NULL } ): CFDataRef; external name '_CFPropertyListCreateData';
-(* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
+(* CF_AVAILABLE_STARTING(10_6, 4_0) *)
 
 
 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}

+ 42 - 4
packages/univint/src/CFProxySupport.pas

@@ -11,8 +11,9 @@
 					 http://www.freepascal.org/bugs.html
  
 }
-{	 Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
-{  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation:  Gale R Paeper, <[email protected]>, 2008 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{       Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -88,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -97,6 +99,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +115,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +125,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -131,6 +136,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -430,6 +436,22 @@ var kCFProxyPortNumberKey: CFStringRef; external name '_kCFProxyPortNumberKey';
 var kCFProxyAutoConfigurationURLKey: CFStringRef; external name '_kCFProxyAutoConfigurationURLKey'; (* attribute const *)
 (* __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0) *)
 
+{
+ *  kCFProxyAutoConfigurationJavaScriptKey
+ *  
+ *  Discussion:
+ *	Key for the proxy's PAC script
+ *	The value is a CFString that contains the full JavaScript soure text for the PAC file.
+ *  
+ *  Availability:
+ *	Mac OS X:		 in version 10.5 and later in CoreServices.framework
+ *	CarbonLib:		not available
+ *	Non-Carbon CFM:   not available
+ }
+var kCFProxyAutoConfigurationJavaScriptKey: CFStringRef; external name '_kCFProxyAutoConfigurationJavaScriptKey'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_3_0) *)
+
+
 {
  *  kCFProxyUsernameKey
  *  
@@ -533,7 +555,13 @@ var kCFProxyTypeFTP: CFStringRef; external name '_kCFProxyTypeFTP'; (* attribute
  }
 var kCFProxyTypeAutoConfigurationURL: CFStringRef; external name '_kCFProxyTypeAutoConfigurationURL'; (* attribute const *)
 (* __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0) *)
-
+{
+ *
+ *
+ }
+var kCFProxyTypeAutoConfigurationJavaScript: CFStringRef; external name '_kCFProxyTypeAutoConfigurationJavaScript'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_3_0) *)
+	
 {
  *  kCFProxyAutoConfigHTTPResponse
  *  
@@ -748,7 +776,7 @@ var kCFNetworkProxiesSOCKSProxy: CFStringRef; external name '_kCFNetworkProxiesS
 var kCFNetworkProxiesProxyAutoConfigEnable: CFStringRef; external name '_kCFNetworkProxiesProxyAutoConfigEnable'; (* attribute const *)
 (* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_2_0) *)
 {
- *  kCFNetworkProxiesSOCKSProxy
+ *  kCFNetworkProxiesProxyAutoConfigURLString
  *  
  *  Discussion:
  *	Key for the url which indicates the location of the ProxyAutoConfig (PAC) file; value is a
@@ -756,6 +784,16 @@ var kCFNetworkProxiesProxyAutoConfigEnable: CFStringRef; external name '_kCFNetw
  }
 var kCFNetworkProxiesProxyAutoConfigURLString: CFStringRef; external name '_kCFNetworkProxiesProxyAutoConfigURLString'; (* attribute const *)
 (* __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_2_0) *)
+{
+ * kCFNetworkProxiesProxyAutoConfigJavaScript
+ *
+ * Discussion:
+ * Key for the string which is the full JavaScript source of the ProxyAutoConfig (PAC) script;  value is a
+ * CFString with is the full text source of the PAC script.
+ }
+var kCFNetworkProxiesProxyAutoConfigJavaScript: CFStringRef; external name '_kCFNetworkProxiesProxyAutoConfigJavaScript'; (* attribute const *)
+(* __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_3_0) *)
+	
 {
  *  kCFNetworkProxiesProxyAutoDiscoveryEnable
  *  

+ 18 - 9
packages/univint/src/CFRunLoop.pas

@@ -1,8 +1,9 @@
 {	CFRunLoop.h
-	Copyright (c) 1998-2009, Apple Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -227,28 +233,32 @@ uses MacTypes,CFBase,CFArray,CFDate,CFString,MacOSXPosix;
 	This is the type of a reference to a run loop.
 }
 type
-	CFRunLoopRef = ^SInt32; { an opaque 32-bit type }
+	CFRunLoopRef = ^__CFRunLoop; { an opaque type }
+	__CFRunLoop = record end;
 
 {!
 	@typedef CFRunLoopSourceRef
 	This is the type of a reference to general run loop input sources.
 }
 type
-	CFRunLoopSourceRef = ^SInt32; { an opaque 32-bit type }
+	CFRunLoopSourceRef = ^__CFRunLoopSource; { an opaque type }
+	__CFRunLoopSource = record end;
 
 {!
 	@typedef CFRunLoopObserverRef
 	This is the type of a reference to a run loop observer.
 }
 type
-	CFRunLoopObserverRef = ^SInt32; { an opaque 32-bit type }
+	CFRunLoopObserverRef = ^__CFRunLoopObserver; { an opaque type }
+	__CFRunLoopObserver = record end;
 
 {!
 	@typedef CFRunLoopTimerRef
 	This is the type of a reference to a run loop timer.
 }
 type
-	CFRunLoopTimerRef = ^SInt32; { an opaque 32-bit type }
+	CFRunLoopTimerRef = ^__CFRunLoopTimer; { an opaque type }
+	__CFRunLoopTimer = record end;
 
 { Reasons for CFRunLoopRunInMode() to Return }
 const
@@ -259,7 +269,7 @@ const
 
 { Run Loop Observer Activities }
 type
-	CFRunLoopActivity = UNSIGNEDLONG;
+	CFRunLoopActivity = CFOptionFlags;
 const
 	kCFRunLoopEntry = 1 shl 0;
     kCFRunLoopBeforeTimers = 1 shl 1;
@@ -325,7 +335,6 @@ procedure CFRunLoopAddCommonMode( rl: CFRunLoopRef; mode: CFStringRef ); externa
 }
 function CFRunLoopGetNextTimerFireDate( rl: CFRunLoopRef; mode: CFStringRef ): CFAbsoluteTime; external name '_CFRunLoopGetNextTimerFireDate';
 
-
 procedure CFRunLoopRun; external name '_CFRunLoopRun';
 function CFRunLoopRunInMode( mode: CFStringRef; seconds: CFTimeInterval; returnAfterSourceHandled: Boolean ): SInt32; external name '_CFRunLoopRunInMode';
 function CFRunLoopIsWaiting( rl: CFRunLoopRef ): Boolean; external name '_CFRunLoopIsWaiting';
@@ -334,7 +343,7 @@ procedure CFRunLoopStop( rl: CFRunLoopRef ); external name '_CFRunLoopStop';
 
 {#if __BLOCKS__ && MAC_OS_X_VERSION_10_6 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 { requires support for blocks
-extern void CFRunLoopPerformBlock(CFRunLoopRef rl, CFTypeRef mode, void (^block)(void)) AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER; 
+extern void CFRunLoopPerformBlock(CFRunLoopRef rl, CFTypeRef mode, void (^block)(void)) CF_AVAILABLE_STARTING(10_6, 4_0); 
 }
 {#endif}
 

+ 11 - 4
packages/univint/src/CFSet.pas

@@ -1,8 +1,9 @@
 {	CFSet.h
-	Copyright (c) 1998-2009, Apple, Inc. All rights reserved.
+	Copyright (c) 1998-2012, Apple Inc. All rights reserved.
 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
 {   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -78,6 +79,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -87,6 +89,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -102,6 +105,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -111,6 +115,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -121,6 +126,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -290,7 +296,8 @@ type
 	This is the type of a reference to immutable CFSets.
 }
 type
-	CFSetRef = ^SInt32; { an opaque type }
+	CFSetRef = ^__CFSet; { an opaque type }
+	__CFSet = record end;
 	CFSetRefPtr = ^CFSetRef;
 
 {!
@@ -483,7 +490,7 @@ function CFSetGetCount( theSet: CFSetRef ): CFIndex; external name '_CFSetGetCou
 	@function CFSetGetCountOfValue
 	Counts the number of times the given value occurs in the set. Since 
         sets by definition contain only one instance of a value, this function
-        is synomous to SFSetContainsValue.
+        is synonymous to CFSetContainsValue.
 	@param theSet The set to be searched. If this parameter is not a
 		valid CFSet, the behavior is undefined.
 	@param value The value for which to find matches in the set. The
@@ -526,7 +533,7 @@ function CFSetContainsValue( theSet: CFSetRef; value: {const} UnivPtr ): Boolean
 function CFSetGetValue( theSet: CFSetRef; value: {const} UnivPtr ): UnivPtr; external name '_CFSetGetValue';
 
 {!
-	@function CFSetGetValue
+	@function CFSetGetValueIfPresent
 	Retrieves a value in the set which hashes the same as the specified value,
         if present.
 	@param theSet The set to be queried. If this parameter is not a

+ 14 - 7
packages/univint/src/CFSocket.pas

@@ -1,9 +1,10 @@
 {	CFSocket.h
-	Copyright (c) 1999-2009, Apple Inc.  All rights reserved.
+	Copyright (c) 1999-2012, Apple Inc.  All rights reserved.
 }
 {   Pascal Translation:  Peter N Lewis, <[email protected]>, 2004 }
 {   Pascal Translation Updated:  Peter N Lewis, <[email protected]>, September 2005 }
-{	  Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe, <[email protected]>, October 2009 }
+{   Pascal Translation Updated:  Jonas Maebe <[email protected]>, September 2012 }
 {
     Modified for use with Free Pascal
     Version 308
@@ -79,6 +80,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __ppc64__ and __ppc64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := TRUE}
@@ -88,6 +90,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __i386__ and __i386__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -103,6 +106,7 @@ interface
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 {$endc}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __x86_64__ and __x86_64__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -112,6 +116,7 @@ interface
 	{$setc TARGET_OS_MAC := TRUE}
 	{$setc TARGET_OS_IPHONE := FALSE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := FALSE}
 {$elifc defined __arm__ and __arm__}
 	{$setc TARGET_CPU_PPC := FALSE}
 	{$setc TARGET_CPU_PPC64 := FALSE}
@@ -122,6 +127,7 @@ interface
 	{$setc TARGET_OS_MAC := FALSE}
 	{$setc TARGET_OS_IPHONE := TRUE}
 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
+	{$setc TARGET_OS_EMBEDDED := TRUE}
 {$elsec}
 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 {$endc}
@@ -176,7 +182,8 @@ type
 
 
 type
-	CFSocketRef = ^SInt32; { an opaque 32-bit type }
+	CFSocketRef = ^__CFSocket; { an opaque type }
+	__CFSocket = record end;
 
 { A CFSocket contains a native socket within a structure that can 
 be used to read from the socket in the background and make the data
@@ -256,7 +263,7 @@ filled in properly when passing in an address.
 }
 
 type
-	CFSocketError = SIGNEDLONG;
+	CFSocketError = CFIndex;
 const
     kCFSocketSuccess = 0;
     kCFSocketError = -1;
@@ -271,7 +278,7 @@ type
 	end;
 
 type
-	CFSocketCallBackType = UNSIGNEDLONG;
+	CFSocketCallBackType = CFOptionFlags;
 const
     kCFSocketNoCallBack = 0;
     kCFSocketReadCallBack = 1;
@@ -292,7 +299,7 @@ const
 {#if MAC_OS_X_VERSION_10_5 <= MAC_OS_X_VERSION_MAX_ALLOWED}
 	kCFSocketLeaveErrors = 64;
 {#endif}
-	kCFSocketCloseOnInvalidate = 128;
+	kCFSocketCloseOnInvalidate = 128; (* CF_AVAILABLE_STARTING(10_5, 2_0) *)
 {#endif}
 
 type
@@ -314,7 +321,7 @@ function CFSocketCreate( allocator: CFAllocatorRef; protocolFamily: SInt32; sock
 function CFSocketCreateWithNative( allocator: CFAllocatorRef; sock: CFSocketNativeHandle; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext ): CFSocketRef; external name '_CFSocketCreateWithNative';
 function CFSocketCreateWithSocketSignature( allocator: CFAllocatorRef; const (*var*) signature: CFSocketSignature; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext ): CFSocketRef; external name '_CFSocketCreateWithSocketSignature';
 function CFSocketCreateConnectedToSocketSignature( allocator: CFAllocatorRef; const (*var*) signature: CFSocketSignature; callBackTypes: CFOptionFlags; callout: CFSocketCallBack; const (*var*) context: CFSocketContext; timeout: CFTimeInterval ): CFSocketRef; external name '_CFSocketCreateConnectedToSocketSignature';
-{ CFSocketCreateWithSignature creates a socket of the requested type and binds its address (using CFSocketSetAddress) to the requested address.  If this fails, it returns NULL.  CFSocketCreateConnectedToSignature creates a socket suitable for connecting to the requested type and address, and connects it (using CFSocketConnectToAddress).  If this fails, it returns NULL. }
+{ CFSocketCreateConnectedToSocketSignature() creates a socket suitable for connecting to the requested type and address, and connects it (using CFSocketConnectToAddress()).  If this fails, it returns NULL. }
 
 function CFSocketSetAddress( s: CFSocketRef; address: CFDataRef ): CFSocketError; external name '_CFSocketSetAddress';
 function CFSocketConnectToAddress( s: CFSocketRef; address: CFDataRef; timeout: CFTimeInterval ): CFSocketError; external name '_CFSocketConnectToAddress';

Some files were not shown because too many files changed in this diff