Mac Developer Library

Developer

CoreServices Framework Reference Gestalt Manager Reference

Options
Deployment Target:

On This Page
Language:

Gestalt Manager Reference

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Swift

import CoreServices

Objective-C

@import CoreServices;

The Gestalt Manager and other system software facilities allows you to investigate the operating environment. You need to know about the operating environment if your application takes advantage of hardware or software that is not available on all Macintosh computers. You can also use the Gestalt Manager to inform the operating system that your software is present and to find out about other software registered with the Gestalt Manager.

Carbon supports the Gestalt Manager. However, the results returned by Gestalt functions in OS X are relevant only to your application's context. In general, the Gestalt function returns a different result when called from a Carbon application running in OS X than it returns when called from a Classic application in OS X, because these are different environments. For example, Carbon does not use a ROM, so calling Gestalt from a Carbon application on a beige G3 Macintosh computer and passing the ROMVersion selector returns a different result than Gestalt returns for a Classic application on the same computer. In fact, Gestalt could conceivably return different results for the same call by two Carbon applications.

Because Gestalt operates on a per-context basis in OS X, you can't use it to share information (through pointers or any other means) among applications.

The ROMVersion and machineType selectors are not supported in Carbon.

In versions of the Mac OS prior to OS X, the NewGestalt and ReplaceGestalt functions make use of the system heap, so that new or replaced selectors are available to any process. In OS X, however, there is no system heap, and the selectors are available only on a per-context basis.

Functions

  • Gestalt Gestalt (OS X v10.8)

    Obtains information about the operating environment.

    Declaration

    Objective-C

    OSErr Gestalt ( OSType selector, SInt32 *response );

    Parameters

    selector

    The selector code for the information you need. You can provide any of the four-character sequences defined in Gestalt Manager Constants.

    response

    On input, Gestalt interprets this parameter as an address at which it is to place the result returned by the selector function. Gestalt ignores any information already at this address.

    On return, a pointer to the requested information whose format depends on the selector code specified in the selector parameter. Note that the Gestalt function returns the response from all selectors in a long word, which occupies 4 bytes. When not all 4 bytes are needed, the significant information appears in the low-order byte or bytes.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    The Apple-defined selector codes fall into two categories: environmental selectors, which supply specific environmental information you can use to control the behavior of your application, and informational selectors, which can’t supply information you can use to determine what hardware or software features are available. You can use one of the selector codes defined by Apple or a selector code defined by a third-party product.

    Selectors with the suffix Attr return a 32-bit response value in which the individual bits represent specific attributes. The constants listed for these response values represent bit numbers.

    Special Considerations

    When passed one of the Apple-defined selector codes, the Gestalt function does not move or purge memory and therefore may be called even at interrupt time. However, selector functions associated with non-Apple selector codes might move or purge memory, and third-party software can alter the Apple-defined selector functions. Therefore, it is safest always to assume that Gestalt could move or purge memory.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • NewGestalt NewGestalt (OS X v10.3)

    Adds a selector code to those already recognized by Gestalt.

    Deprecation Statement

    Use NewGestaltValue instead.

    Declaration

    Objective-C

    OSErr NewGestalt ( OSType selector, SelectorFunctionUPP gestaltFunction );

    Parameters

    selector

    The selector code you want to add. This should be a four-character sequence similar to those defined in Gestalt Manager Constants.

    gestaltFunction

    A universal procedure pointer (UPP) to the selector callback function that Gestalt executes when it receives the new selector code. See SelectorFunctionProcPtr for more information on the callback you need to provide.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    The NewGestalt function registers a specified selector code with the Gestalt Manager so that when the Gestalt function is called with that selector code, the specified selector function is executed. Before calling NewGestalt, you must define a selector function callback. See SelectorFunctionProcPtr for a description of how to define your selector function.

    Registering with the Gestalt Manager is a way for software such as system extensions to make their presence known to potential users of their services.

    Special Considerations

    You should avoid using the NewGestalt function to add a selector code, which requires moving your selector function into the system heap. Applications do not have access to the system heap in OS X.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.3.

    Not available to 64-bit applications.

  • Installs a new Gestalt selector code and a value that Gestalt returns for that selector.

    Declaration

    Objective-C

    OSErr NewGestaltValue ( OSType selector, SInt32 newValue );

    Parameters

    selector

    The selector code you want to add. This should be a four-character sequence similar to those defined in Gestalt Manager Constants.

    newValue

    The value to return for the new selector code.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    You call the function NewGestaltValue when the specified selector is not already installed and you don't want to override an existing value.

    In OS X, the new selector and value are on a per-context basis. That means they are available only to the application or other code that installs them. You cannot use this function to make information available to another process.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Sets the value the function Gestalt will return for a specified selector code, installing the selector if it was not already installed.

    Declaration

    Objective-C

    OSErr SetGestaltValue ( OSType selector, SInt32 newValue );

    Parameters

    selector

    The selector code you want to set. This should be a four-character sequence similar to those defined in Gestalt Manager Constants.

    newValue

    The new Gestalt value for the selector code.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    You use SetGestaltValue to establish a value for a selector, without regard to whether the selector was already installed.

    In OS X, the selector and new value are on a per-context basis. That means they are available only to the application or other code that installs them. You cannot use this function to make information available to another process.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Replaces the value that the function Gestalt returns for a specified selector code with the value provided to the function.

    Declaration

    Objective-C

    OSErr ReplaceGestaltValue ( OSType selector, SInt32 replacementValue );

    Parameters

    selector

    The selector code you want to add. This should be a four-character sequence similar to those defined in Gestalt Manager Constants.

    replacementValue

    The replacement Gestalt value for the selector code.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    You use the function ReplaceGestaltValue to replace an existing value. You should not call this function to introduce a value that doesn't already exist; instead call the function NewGestaltValue.

    In OS X, the selector and replacement value are on a per-context basis. That means they are available only to the application or other code that installs them. You cannot use this function to make information available to another process.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Replaces the selector function associated with an existing selector code.

    Deprecation Statement

    Use NewGestaltValue instead.

    Declaration

    Objective-C

    OSErr ReplaceGestalt ( OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction );

    Parameters

    selector

    The selector code for the function you want to replace. You must provide the four-character sequence you provided previously for the function you are replacing.

    gestaltFunction

    A universal procedure pointer to the replacement selector function. You must obtain the value for this argument by calling the NewGestaltSelectorFunctionUPP function.

    oldGestaltFunction

    On output, a universal procedure pointer to the callback function previously associated with the specified selector. If the function ReplaceGestalt returns an error of any type, then the value of oldGestaltFunction is undefined.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Special Considerations

    You should avoid using the ReplaceGestalt function to replace an existing selector callback function, which also requires your replacement function to reside in the system heap. Applications do not have access to the system heap in OS X.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.3.

    Not available to 64-bit applications.

  • Deletes a Gestalt selector code so that it is no longer recognized by Gestalt.

    Declaration

    Objective-C

    OSErr DeleteGestaltValue ( OSType selector );

    Parameters

    selector

    The selector code you want to delete. This should be a four-character sequence similar to those defined in Gestalt Manager Constants.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    After calling this function, subsequent query or replacement calls for the selector code will fail as if the selector had never been installed.

    In OS X, the selector is on a per-context basis. You cannot use this function to affect another process.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Creates a universal procedure pointer (UPP) to a selector callback function.

    Declaration

    Objective-C

    SelectorFunctionUPP NewSelectorFunctionUPP ( SelectorFunctionProcPtr userRoutine );

    Parameters

    userRoutine

    The address of the selector callback function.

    Return Value

    On return, a universal procedure pointer to the selector callback function. See the description of the SelectorFunctionUPP data type.

    Discussion

    You use the NewSelectorFunctionUPP function to create a UPP to pass to the NewGestalt or ReplaceGestalt functions.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Disposes of a universal procedure pointer to a selector callback function.

    Declaration

    Objective-C

    void DisposeSelectorFunctionUPP ( SelectorFunctionUPP userUPP );

    Parameters

    userUPP

    The universal procedure pointer you want to dispose of.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Invokes a selector callback function.

    Declaration

    Objective-C

    OSErr InvokeSelectorFunctionUPP ( OSType selector, SInt32 *response, SelectorFunctionUPP userUPP );

    Parameters

    selector

    The selector code for the function you want to invoke. You can provide any of the four-character sequences defined in Gestalt Manager Constants.

    response

    On output, the value associated with the selector code.

    userUPP

    A universal procedure pointer to the selector callback function you want to invoke.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    You should not need to call this function, as the operating system invokes your selector callback for you.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

Callbacks

  • Defines a pointer to a selector callback function that returns information associated with your own selector code.

    Declaration

    Objective-C

    typedef OSErr (*SelectorFunctionProcPtr) ( OSType selector, long * response );

    Parameters

    selector

    The selector code that triggers the function. This should be a four-character sequence similar to those defined in Gestalt Manager Constants.

    response

    On output, the information associated with the selector code.

    Return Value

    A result code. See Gestalt Manager Result Codes.

    Discussion

    Your selector function places the requested information in the response parameter and returns a result code. If the information is not available, the selector function returns the appropriate error code, which the Gestalt function returns as its function result.

    A selector function can call Gestalt or even other selector functions.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

Data Types

  • Defines a universal procedure pointer to a selector function callback.

    Declaration

    Objective-C

    typedef SelectorFunctionProcPtr SelectorFunctionUPP;

    Discussion

    You can obtain a SelectorFunctionUPP by calling the function NewSelectorFunctionUPP. For more information, see SelectorFunctionProcPtr.

    Import Statement

    Objective-C

    @import CoreServices;

    Availability

    Available in OS X v10.0 and later.

Constants

  • Specify feature availability information for the addressing mode of the operating system.

    Declaration

    Objective-C

    enum { gestaltAddressingModeAttr = 'addr', gestalt32BitAddressing = 0, gestalt32BitSysZone = 1, gestalt32BitCapable = 2 };

    Constants

    • gestaltAddressingModeAttr

      gestaltAddressingModeAttr

      The Gestalt selector you pass to determine the addressing mode attributes that are present.

      Available in OS X v10.0 and later.

    • gestalt32BitAddressing

      gestalt32BitAddressing

      If true, the operating system is using 32-bit addressing mode.

      Available in OS X v10.0 and later.

    • gestalt32BitSysZone

      gestalt32BitSysZone

      If true, there is a 32-bit compatible system zone.

      Available in OS X v10.0 and later.

    • gestalt32BitCapable

      gestalt32BitCapable

      If true, Machine is 32-bit capable.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent on memory, your application should pass the selector gestaltAddressingModeAttr to the Gestalt function to determine the addressing mode attributes that are present.

  • Specify feature availability for Macintosh Manager administration software.

    Declaration

    Objective-C

    enum { gestaltAdminFeaturesFlagsAttr = 'fred', gestaltFinderUsesSpecialOpenFoldersFile = 0 };

    Constants

    • gestaltAdminFeaturesFlagsAttr

      gestaltAdminFeaturesFlagsAttr

      The Gestalt selector you pass to determine the admin features that are present. This selector is typically used by the system.

      Available in OS X v10.0 and later.

    • gestaltFinderUsesSpecialOpenFoldersFile

      gestaltFinderUsesSpecialOpenFoldersFile

      Specifies that the Finder uses a special file to store the list of open folders.

      Available in OS X v10.0 and later.

  • Specify version and feature availability information for the AFP client.

    Declaration

    Objective-C

    enum { gestaltAFPClient = 'afps', gestaltAFPClientVersionMask = 0x0000FFFF, gestaltAFPClient3_5 = 0x0001, gestaltAFPClient3_6 = 0x0002, gestaltAFPClient3_6_1 = 0x0003, gestaltAFPClient3_6_2 = 0x0004, gestaltAFPClient3_6_3 = 0x0005, gestaltAFPClient3_7 = 0x0006, gestaltAFPClient3_7_2 = 0x0007, gestaltAFPClient3_8 = 0x0008, gestaltAFPClient3_8_1 = 0x0009, gestaltAFPClient3_8_3 = 0x000A, gestaltAFPClient3_8_4 = 0x000B, gestaltAFPClientAttributeMask = 0xFFFF0000, gestaltAFPClientCfgRsrc = 16, gestaltAFPClientSupportsIP = 29, gestaltAFPClientVMUI = 30, gestaltAFPClientMultiReq = 31 };

  • Specify feature availability information for the Alias Manager.

    Declaration

    Objective-C

    enum { gestaltAliasMgrAttr = 'alis', gestaltAliasMgrPresent = 0, gestaltAliasMgrSupportsRemoteAppletalk = 1, gestaltAliasMgrSupportsAOCEKeychain = 2, gestaltAliasMgrResolveAliasFileWithMountOptions = 3, gestaltAliasMgrFollowsAliasesWhenResolving = 4, gestaltAliasMgrSupportsExtendedCalls = 5, gestaltAliasMgrSupportsFSCalls = 6, gestaltAliasMgrPrefersPath = 7 };

    Constants

    • gestaltAliasMgrAttr

      gestaltAliasMgrAttr

      The selector you pass to the Gestalt function to determine the Alias Manager attributes.

      Available in OS X v10.0 and later.

  • Specify feature availability information for the Appearance Manager.

    Declaration

    Objective-C

    enum { gestaltAppearanceAttr = 'appr', gestaltAppearanceExists = 0, gestaltAppearanceCompatMode = 1 };

    Constants

    • gestaltAppearanceAttr

      gestaltAppearanceAttr

      The Gestalt selector passed to determine whether the Appearance Manager is present. Produces a 32-bit value whose bits you should test to determine which Appearance Manager features are available.

      Available in OS X v10.0 and later.

    • gestaltAppearanceExists

      gestaltAppearanceExists

      If this bit is set, Appearance Manager functions are available. To determine which version of the Appearance Manager is installed, check for the presence of the Gestalt selector gestaltAppearanceVersion. If this bit is not set, Appearance Manager functions are not available.

      Available in OS X v10.0 and later.

    • gestaltAppearanceCompatMode

      gestaltAppearanceCompatMode

      If this bit is set, systemwide platinum appearance is off. When systemwide platinum appearance is off, the Appearance Manager does not auto-map standard System 7 definition functions to their Mac OS 8 equivalents (for those applications that have not called RegisterAppearanceClient). If this bit is not set, systemwide platinum appearance is on, and the Appearance Manager auto-maps standard System 7 definition functions to their Mac OS 8 equivalents for all applications.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any functions dependent upon the Appearance Manager’s presence, your application should pass the selector gestaltAppearanceAttr to the Gestalt function to determine whether the Appearance Manager is present. To determine which version of the Appearance Manager is installed, your application should check for the presence of the Gestalt selector gestaltAppearanceVersion.

  • Specifies version information for the Appearance Manager.

    Declaration

    Objective-C

    enum { gestaltAppearanceVersion = 'apvr' };

    Constants

    • gestaltAppearanceVersion

      gestaltAppearanceVersion

      The Gestalt selector passed to determine which version of the Appearance Manager is installed. If this selector exists, Appearance Manager 1.0.1 (or later) is installed. The version number of the currently installed Appearance Manager is returned in the low-order word of the result in binary code decimal format (for example, version 1.0.1 would be 0x0101). If this selector does not exist but gestaltAppearanceAttr does, Appearance Manager 1.0 is installed.

      Available in OS X v10.0 and later.

  • Specify feature availability information for the Apple Event Manager.

    Declaration

    Objective-C

    enum { gestaltAppleEventsAttr = 'evnt', gestaltAppleEventsPresent = 0, gestaltScriptingSupport = 1, gestaltOSLInSystem = 2, gestaltSupportsApplicationURL = 4 };

    Constants

    • gestaltAppleEventsAttr

      gestaltAppleEventsAttr

      A selector you pass to the Gestalt function. If the Apple Event Manager is not present, the Gestalt function returns an error value; otherwise, it returns noErr and supplies, in the response parameter, a 32-bit value whose bits specify which features of the Apple Event Manager are available.

      Available in OS X v10.0 and later.

    • gestaltAppleEventsPresent

      gestaltAppleEventsPresent

      A Gestalt attribute constant. If the bit specified by this constant is set in the response parameter value supplied by Gestalt for the gestaltAppleEventsAttr selector, the Apple Event Manager is present and installed in the system.

      Available in OS X v10.0 and later.

    • gestaltScriptingSupport

      gestaltScriptingSupport

      A Gestalt attribute constant. If the bit specified by this constant is set in the response parameter value supplied by Gestalt for the gestaltAppleEventsAttr selector, the Open Scripting Architecture (OSA) is available to provide scripting support. The OSA is described in “Scripting Components”.

      Available in OS X v10.0 and later.

    • gestaltOSLInSystem

      gestaltOSLInSystem

      A Gestalt attribute constant. If the bit specified by this constant is set in the response parameter value supplied by Gestalt for the gestaltAppleEventsAttr selector, the Object Support Library (OSL) is part of the system.

      Available in OS X v10.0 and later.

    • gestaltSupportsApplicationURL

      gestaltSupportsApplicationURL

      Available in OS X v10.1 and later.

  • Specify feature availability information for AppleScript.

    Declaration

    Objective-C

    enum { gestaltAppleScriptAttr = 'ascr', gestaltAppleScriptPresent = 0, gestaltAppleScriptPowerPCSupport = 1 };

    Constants

    • gestaltAppleScriptAttr

      gestaltAppleScriptAttr

      A selector you pass to the Gestalt function. If AppleScript is not present, the Gestalt function returns an error value; otherwise, it returns noErr and supplies, in the response parameter, a 32-bit value whose bits specify which AppleScript features are available.

      The only bit currently in use specifies whether AppleScript is present. You can test this bit with the constant gestaltAppleScriptPresent.

      Available in OS X v10.0 and later.

    • gestaltAppleScriptPresent

      gestaltAppleScriptPresent

      A Gestalt attribute constant. If the bit specified by this constant is set in the response parameter value supplied by Gestalt for the gestaltAppleScriptAttr selector, AppleScript is present.

      Available in OS X v10.0 and later.

    • gestaltAppleScriptPowerPCSupport

      gestaltAppleScriptPowerPCSupport

      Available in OS X v10.0 and later.

  • Specifies version information for AppleScript.

    Declaration

    Objective-C

    enum { gestaltAppleScriptVersion = 'ascv' };

    Constants

    • gestaltAppleScriptVersion

      gestaltAppleScriptVersion

      A selector you pass to the Gestalt function. If AppleScript is not present, the Gestalt function returns an error value; otherwise, it returns noErr and supplies, in the response parameter, a 32-bit AppleScript version number.

      The low word of the 32-bit AppleScript version number specifies the current AppleScript version, while the high word specifies a compatibility version. For example, for AppleScript 1.3.7, which shipped with Mac OS 8.6, the value returned in the response parameter, viewed as a hex number, is 0x01100137. The low word, 0x0137, refers to the current AppleScript version. The high word, 0x0110, refers to the compatibility version number—scripts written for AppleScript versions 1.1.0 and later will run with AppleScript version 1.3.7.

      The Version Notes section provides additional information about AppleScript versions and features.

      Available in OS X v10.0 and later.

  • Specifies version information for the AppleTalk driver.

    Declaration

    Objective-C

    enum { gestaltATalkVersion = 'atkv' };

    Constants

    • gestaltATalkVersion

      gestaltATalkVersion

      The version number of the AppleTalk driver, in the format introduced with AppleTalk version 56. The version is stored in the high 3 bytes of the return value.

      Byte 3 contains the major revision number, byte 2 contains the minor revision number, and byte 1 contains a constant that represents the release stage.

      For example, if you call the Gestalt function with the 'atkv' selector when AppleTalk version 57 is loaded, you receive the long integer response value $39008000.

      Byte 0 always contains 0.

      Available in OS X v10.0 and later.

  • Specifies version information for AppleTalk.

    Declaration

    Objective-C

    enum { gestaltAppleTalkVersion = 'atlk' };

    Constants

    • gestaltAppleTalkVersion

      gestaltAppleTalkVersion

      The version number of the AppleTalk driver (in particular, the .MPP driver) currently installed. The version number is placed into the low-order byte of the result; ignore the three high-order bytes. If an AppleTalk driver is not currently open, the response parameter is 0.

      Available in OS X v10.0 and later.

  • Specify feature availability for Apple Type Services for Unicode Imaging.

    Declaration

    Objective-C

    enum { gestaltATSUFeatures = 'uisf', gestaltATSUTrackingFeature = 0x00000001, gestaltATSUMemoryFeature = 0x00000001, gestaltATSUFallbacksFeature = 0x00000001, gestaltATSUGlyphBoundsFeature = 0x00000001, gestaltATSULineControlFeature = 0x00000001, gestaltATSULayoutCreateAndCopyFeature = 0x00000001, gestaltATSULayoutCacheClearFeature = 0x00000001, gestaltATSUTextLocatorUsageFeature = 0x00000002, gestaltATSULowLevelOrigFeatures = 0x00000004, gestaltATSUFallbacksObjFeatures = 0x00000008, gestaltATSUIgnoreLeadingFeature = 0x00000008, gestaltATSUByCharacterClusterFeature = 0x00000010, gestaltATSUAscentDescentControlsFeature = 0x00000010, gestaltATSUHighlightInactiveTextFeature = 0x00000010, gestaltATSUPositionToCursorFeature = 0x00000010, gestaltATSUBatchBreakLinesFeature = 0x00000010, gestaltATSUTabSupportFeature = 0x00000010, gestaltATSUDirectAccess = 0x00000010, gestaltATSUDecimalTabFeature = 0x00000020, gestaltATSUBiDiCursorPositionFeature = 0x00000020, gestaltATSUNearestCharLineBreakFeature = 0x00000020, gestaltATSUHighlightColorControlFeature = 0x00000020, gestaltATSUUnderlineOptionsStyleFeature = 0x00000020, gestaltATSUStrikeThroughStyleFeature = 0x00000020, gestaltATSUDropShadowStyleFeature = 0x00000020 };

    Constants

    • gestaltATSUFeatures

      gestaltATSUFeatures

      Specifies the ATSUI features available on the user’s system. You pass this selector to the Gestalt function. On return, the Gestalt function passes back a value that represents the features available in the version of ATSUI installed on the user’s system.

      Available in OS X v10.0 and later.

    • gestaltATSUTrackingFeature

      gestaltATSUTrackingFeature

      If the bit specified by this mask constant is set, the functions ATSUCountFontTracking and ATSUGetIndFontTracking are available.

      Available beginning with ATSUI 1.1.

    • gestaltATSUMemoryFeature

      gestaltATSUMemoryFeature

      If the bit specified by this mask is set, the functions ATSUCreateMemorySetting, ATSUSetCurrentMemorySetting, ATSUGetCurrentMemorySetting, and ATSUDisposeMemorySetting are available.

      Available beginning with ATSUI 1.1.

    • gestaltATSUFallbacksFeature

      gestaltATSUFallbacksFeature

      If the bit specified by this mask is set, the functions ATSUSetFontFallbacks and ATSUGetFontFallbacks are available.

      Available beginning with ATSUI 1.1.

    • gestaltATSUGlyphBoundsFeature

      gestaltATSUGlyphBoundsFeature

      If the bit specified by this mask is set, the function ATSUGetGlyphBounds is available.

      Available beginning with ATSU 1.1.

    • gestaltATSULineControlFeature

      gestaltATSULineControlFeature

      If the bit specified by this mask is set, the functions ATSUCopyLineControls, ATSUSetLineControls, ATSUGetLineControl, ATSUGetAllLineControls, and ATSUClearLineControls are available.

      Available beginning with ATSUI 1.1.

    • gestaltATSULayoutCreateAndCopyFeature

      gestaltATSULayoutCreateAndCopyFeature

      If the bit specified by this mask is set, the function ATSUCreateAndCopyTextLayout is available.

      Available beginning with ATSUI 1.1.

    • gestaltATSULayoutCacheClearFeature

      gestaltATSULayoutCacheClearFeature

      If the bit specified by this mask is set, the function ATSUClearLayoutCache is available.

      Available beginning with ATSUI 1.1.

    • gestaltATSUTextLocatorUsageFeature

      gestaltATSUTextLocatorUsageFeature

      If the bit specified by this mask is set, the text-break locator attribute is available for both style and text layout objects.

      Available beginning with ATSUI 1.2.

    • gestaltATSULowLevelOrigFeatures

      gestaltATSULowLevelOrigFeatures

      If the bit specified by this mask is set, the low-level features introduced in ATSUI version 2.0 are available.

      Available in OS X v10.0 and later.

    • gestaltATSUFallbacksObjFeatures

      gestaltATSUFallbacksObjFeatures

      If the bit specified by this mask is set, ATSUFontFallbacks objects are available.

      Available beginning with ATSUI version 2.3.

    • gestaltATSUIgnoreLeadingFeature

      gestaltATSUIgnoreLeadingFeature

      If the bit specified by this mask is set, the line layout option (kATSIgnoreFontLeadingTag) to ignore the font leading value is available.

      Available beginning with ATSUI version 2.3.

    • gestaltATSUByCharacterClusterFeature

      gestaltATSUByCharacterClusterFeature

      If the bit specified by this mask is set, ATSUI cursor movement types are available.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUAscentDescentControlsFeature

      gestaltATSUAscentDescentControlsFeature

      If the bit specified by this mask is set, ascent and descent controls (kATSUDescentTag and kATSUAscentTag) are available.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUHighlightInactiveTextFeature

      gestaltATSUHighlightInactiveTextFeature

      If the bit specified by this mask is set, the highlight inactive text feature is available.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUPositionToCursorFeature

      gestaltATSUPositionToCursorFeature

      If the bit specified by this mask is set, the position-to-cursor feature is available.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUBatchBreakLinesFeature

      gestaltATSUBatchBreakLinesFeature

      If the bit specified by this mask is set, the ATSUBatchBreakLines function is available.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUTabSupportFeature

      gestaltATSUTabSupportFeature

      If the bit specified by this mask is set, support for tabs is available.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUDirectAccess

      gestaltATSUDirectAccess

      If the bit specified by this mask is set, ATSU direct-access functions are available. These functions let you access glyph information directly.

      Available beginning with ATSUI version 2.4.

    • gestaltATSUDecimalTabFeature

      gestaltATSUDecimalTabFeature

      If the bit specified by this mask is set, your application can set a decimal tab character.

      Available beginning with ATSUI version 2.5.

    • gestaltATSUBiDiCursorPositionFeature

      gestaltATSUBiDiCursorPositionFeature

      If the bit specified by this mask is set, support for bidirectional cursor positioning is available.

      Available beginning with ATSUI version 2.5.

    • gestaltATSUNearestCharLineBreakFeature

      gestaltATSUNearestCharLineBreakFeature

      If the bit specified by this mask is set, the nearest character line break feature is available.

      Available beginning with ATSUI version 2.5.

    • gestaltATSUHighlightColorControlFeature

      gestaltATSUHighlightColorControlFeature

      If the bit specified by this mask is set, your application can control highlight color.

      Available beginning with ATSUI version 2.5.

    • gestaltATSUUnderlineOptionsStyleFeature

      gestaltATSUUnderlineOptionsStyleFeature

      If the bit specified by this mask is set, underline options are available.

      Available beginning with ATSUI version 2.5.

    • gestaltATSUStrikeThroughStyleFeature

      gestaltATSUStrikeThroughStyleFeature

      If the bit specified by this mask is set, strike through styles are available.

      Available beginning with ATSUI version 2.5.

    • gestaltATSUDropShadowStyleFeature

      gestaltATSUDropShadowStyleFeature

      If the bit specified by this mask is set, drop shadow features are available.

      Available beginning with ATSUI version 2.5.

    Discussion

    You can pass the gestaltATSUFeature selector to the Gestalt function to obtain a value that specifies which ATSUI features are available on the user’s system.

    You can pass the gestaltATSUVersion selector to the Gestalt function to determine which version of ATSUI is installed on the user’s system. See ATSUI Version Selectors for more information

  • Specify version information for Apple Type Service for Unicode Imaging.

    Declaration

    Objective-C

    enum { gestaltATSUVersion = 'uisv', gestaltOriginalATSUVersion = (1 << 16), gestaltATSUUpdate1 = (2 << 16), gestaltATSUUpdate2 = (3 << 16), gestaltATSUUpdate3 = (4 << 16), gestaltATSUUpdate4 = (5 << 16), gestaltATSUUpdate5 = (6 << 16), gestaltATSUUpdate6 = (7 << 16), gestaltATSUUpdate7 = (8 << 16) };

    Constants

    • gestaltATSUVersion

      gestaltATSUVersion

      Specifies the version of ATSUI installed on the user’s system. You pass this selector to the Gestalt function. On return, the Gestalt function passes back a value that represents the version of ATSUI installed on the user’s system.

      Available in OS X v10.0 and later.

    • gestaltOriginalATSUVersion

      gestaltOriginalATSUVersion

      Indicates that version 1.0 of ATSUI is installed on the user’s system.

      Available beginning with ATSUI 1.0.

    • gestaltATSUUpdate1

      gestaltATSUUpdate1

      Indicates that version 1.1 of ATSUI is installed on the user’s system.

      Available beginning with ATSUI 1.1.

    • gestaltATSUUpdate2

      gestaltATSUUpdate2

      Indicates that version 1.2 of ATSUI is installed on the user’s system.

      Available beginning with ATSUI 1.2.

    • gestaltATSUUpdate3

      gestaltATSUUpdate3

      Indicates that version 2.0 of ATSUI is installed on the user’s system.

      Available beginning with ATSUI 2.0.

    • gestaltATSUUpdate4

      gestaltATSUUpdate4

      Indicates that ATSUI for a version of OS X from 10.0.1 through 10.0.4 is installed on the user’s system.

      Available beginning with OS X version 10.0.1.

    • gestaltATSUUpdate5

      gestaltATSUUpdate5

      Indicates that version 2.3 of ATSUI is installed on the user’s system. Available beginning with ATSUI 2.3, in OS X version 10.1.

      Available in OS X v10.1 and later.

    • gestaltATSUUpdate6

      gestaltATSUUpdate6

      Indicates that version 2.4 of ATSUI is installed on the user’s system. Available beginning with ATSUI 2.4, in OS X version 10.2.

      Available in OS X v10.2 and later.

    • gestaltATSUUpdate7

      gestaltATSUUpdate7

      Indicates that version 2.5 of ATSUI is installed on the user’s system. Available beginning with ATSUI 2.5, in OS X version 10.3.

      Available in OS X v10.3 and later.

    Discussion

    Before calling any functions dependent upon ATSUI, you should pass the gestaltATSUVersion selector to the Gestalt function to determine which version of ATSUI is available.

    You can pass the gestaltATSUFeatures selector to the Gestalt function to determine which features of ATSUI are available. See ATSUI Attribute Selectors for more information.

  • Specify feature availability information for the ATA Manager.

    Declaration

    Objective-C

    enum { gestaltATAAttr = 'ata ', gestaltATAPresent = 0 };

    Constants

    • gestaltATAAttr

      gestaltATAAttr

      Available in OS X v10.0 and later.

    • gestaltATAPresent

      gestaltATAPresent

      Available in OS X v10.0 and later.

  • Specifies version information for A/UX.

    Declaration

    Objective-C

    enum { gestaltAUXVersion = 'a/ux' };

    Constants

    • gestaltAUXVersion

      gestaltAUXVersion

      The version of A/UX if it is currently executing. The result is placed into the low-order word of the response parameter. If A/UX is not executing, the Gestalt function returns gestaltUnknownErr.

      Available in OS X v10.0 and later.

  • Specify feature availability information for AVL tree routines.

    Declaration

    Objective-C

    enum { gestaltAVLTreeAttr = 'tree', gestaltAVLTreePresentBit = 0, gestaltAVLTreeSupportsHandleBasedTreeBit = 1, gestaltAVLTreeSupportsTreeLockingBit = 2 };

  • Specifies version information for the bus clock speed.

    Declaration

    Objective-C

    enum { gestaltBusClkSpeed = 'bclk' };

  • Specifies version information for Carbon.

    Declaration

    Objective-C

    enum { gestaltCarbonVersion = 'cbon' };

  • Specify feature availability for the Classic environment.

    Declaration

    Objective-C

    enum { gestaltMacOSCompatibilityBoxAttr = 'bbox', gestaltMacOSCompatibilityBoxPresent = 0, gestaltMacOSCompatibilityBoxHasSerial = 1, gestaltMacOSCompatibilityBoxless = 2 };

  • Specify feature availability information for CloseView.

    Declaration

    Objective-C

    enum { gestaltCloseViewAttr = 'BSDa', gestaltCloseViewEnabled = 0, gestaltCloseViewDisplayMgrFriendly = 1 };

  • Specify feature availability information for the Code Fragment Manager.

    Declaration

    Objective-C

    enum { gestaltCFMAttr = 'cfrg', gestaltCFMPresent = 0, gestaltCFMPresentMask = 0x0001, gestaltCFM99Present = 2, gestaltCFM99PresentMask = 0x0004 };

  • Specify version information for the Collection manager.

    Declaration

    Objective-C

    enum { gestaltCollectionMgrVersion = 'cltn' };

    Constants

    • gestaltCollectionMgrVersion

      gestaltCollectionMgrVersion

      Collection Manager version.

      Available in OS X v10.0 and later.

  • Specify version information for the Color Picker.

    Declaration

    Objective-C

    enum { gestaltColorPickerVersion = 'cpkr', gestaltColorPicker = 'cpkr' };

    Discussion

    To test for the availability and version of the Color Picker Manager, use the Gestalt function with the selector defined by this enumerator.

    If the Gestalt function returns a value of 00000200, version 2.0 of the Color Picker Manager is available. If the Gestalt function returns a value of 00000100, version 1.0 (that is, the original Color Picker Package) is available.

  • Specify feature availability information for the ColorSync Manager.

    Declaration

    Objective-C

    enum { gestaltColorMatchingAttr = 'cmta', gestaltHighLevelMatching = 0, gestaltColorMatchingLibLoaded = 1 };

    Constants

    • gestaltColorMatchingAttr

      gestaltColorMatchingAttr

      The selector for obtaining version information. Use when calling the Gestalt function to check for particular ColorSync Manager features.

      Available in OS X v10.0 and later.

    • gestaltHighLevelMatching

      gestaltHighLevelMatching

      This constant is provided for backward compatibility only. Bit 0 of the Gestalt response value is always set if ColorSync is present.

      Available in OS X v10.0 and later.

    • gestaltColorMatchingLibLoaded

      gestaltColorMatchingLibLoaded

      This constant is provided for backward compatibility only. Bit 1 of the Gestalt response value is always set on a Power Macintosh machine if ColorSync is present. It is always cleared on a 68K machine if ColorSync is present.

      Available in OS X v10.0 and later.

    Discussion

    These constants were added to ColorSync version 2.0 to aid in the transition from 68K to PowerPC systems. They are not recommended for new applications and are not guaranteed to be carried forward in future versions of ColorSync. However, they are still supported as of version 2.5 for backward compatibility. If you call the Gestalt function passing the selector gestaltColorMatchingAttr, you can test the bit fields of the returned value with the gestaltColorMatchingLibLoaded constant to determine if the ColorSync Manager shared libraries are loaded, or with the gestaltHighLevelMatching constant to determine if the ColorSync QuickDraw-specific functions are present.

  • Specify version information for the ColorSync Manager.

    Declaration

    Objective-C

    enum { gestaltColorMatchingVersion = 'cmtc', gestaltColorSync10 = 0x0100, gestaltColorSync11 = 0x0110, gestaltColorSync104 = 0x0104, gestaltColorSync105 = 0x0105, gestaltColorSync20 = 0x0200, gestaltColorSync21 = 0x0210, gestaltColorSync211 = 0x0211, gestaltColorSync212 = 0x0212, gestaltColorSync213 = 0x0213, gestaltColorSync25 = 0x0250, gestaltColorSync26 = 0x0260, gestaltColorSync261 = 0x0261, gestaltColorSync30 = 0x0300 };

    Constants

    • gestaltColorMatchingVersion

      gestaltColorMatchingVersion

      The selector for obtaining version information. Use when calling the Gestalt function to determine whether the ColorSync Manager is available.

      Available in OS X v10.0 and later.

    • gestaltColorSync10

      gestaltColorSync10

      A Gestalt response value of gestaltColorSync10 indicates version 1.0 of the ColorSync Manager is present. This version supports general purpose color matching only and does not provide QuickDraw-specific matching functions.

      Available in OS X v10.0 and later.

    • gestaltColorSync11

      gestaltColorSync11

      A Gestalt response value of gestaltColorSync11 indicates version 1.0.3 of the ColorSync Manager is present.

      Available in OS X v10.0 and later.

    • gestaltColorSync104

      gestaltColorSync104

      A Gestalt response value of gestaltColorSync104 indicates version 1.4 of the ColorSync Manager is present.

      Available in OS X v10.0 and later.

    • gestaltColorSync105

      gestaltColorSync105

      A Gestalt response value of gestaltColorSync105 indicates version 1.5 of the ColorSync Manager is present.

      Available in OS X v10.0 and later.

    • gestaltColorSync20

      gestaltColorSync20

      A Gestalt response value of gestaltColorSync20 indicates version 2.0 of the ColorSync Manager is present.

      Available in OS X v10.0 and later.

    • gestaltColorSync21

      gestaltColorSync21

      A Gestalt response value of gestaltColorSync21 indicates version 2.1 of the ColorSync Manager is present.

      Available in OS X v10.0 and later.

    • gestaltColorSync211

      gestaltColorSync211

      Available in OS X v10.0 and later.

    • gestaltColorSync212

      gestaltColorSync212

      Available in OS X v10.0 and later.

    • gestaltColorSync213

      gestaltColorSync213

      Available in OS X v10.0 and later.

    • gestaltColorSync25

      gestaltColorSync25

      A Gestalt response value of gestaltColorSync25 indicates version 2.5 of the ColorSync Manager is present.

      Available in OS X v10.0 and later.

    • gestaltColorSync26

      gestaltColorSync26

      Available in OS X v10.0 and later.

    • gestaltColorSync261

      gestaltColorSync261

      Available in OS X v10.0 and later.

    • gestaltColorSync30

      gestaltColorSync30

      Available in OS X v10.0 and later.

    Discussion

    These constants were added to ColorSync version 2.0 to aid in the transition from 68K to PowerPC systems. They are not recommended for new applications and are not guaranteed to be carried forward in future versions of ColorSync. However, they are still supported as of version 2.5 for backward compatibility. If you call the Gestalt function passing the selector gestaltColorMatchingAttr, you can test the bit fields of the returned value with the gestaltColorMatchingLibLoaded constant to determine if the ColorSync Manager shared libraries are loaded, or with the gestaltHighLevelMatching constant to determine if the ColorSync QuickDraw-specific functions are present.

  • Specifies version information for the Communications Toolbox.

    Declaration

    Objective-C

    enum { gestaltCTBVersion = 'ctbv' };

    Constants

    • gestaltCTBVersion

      gestaltCTBVersion

      The version number of the Communications Toolbox (in the low-order word of the return value).

      Available in OS X v10.0 and later.

  • Specify version and feature availability information for the Communications Resource Manager.

    Declaration

    Objective-C

    enum { gestaltCRMAttr = 'crm ', gestaltCRMPresent = 0, gestaltCRMPersistentFix = 1, gestaltCRMToolRsrcCalls = 2 };

  • Specify version information for the Component Manager.

    Declaration

    Objective-C

    enum { gestaltComponentMgr = 'cpnt', gestaltComponentPlatform = 'copl' };

    Constants

    • gestaltComponentMgr

      gestaltComponentMgr

      The Gestalt selector you pass to determine what version of the Component Manager is present.

      Available in OS X v10.0 and later.

    Discussion

    To determine the version of the current Component Manager, your application should pass the selector gestaltComponentMgr to the Gestalt function.

  • Specify computer models.

    Declaration

    Objective-C

    enum { gestaltMachineType = 'mach', gestaltClassic = 1, gestaltMacXL = 2, gestaltMac512KE = 3, gestaltMacPlus = 4, gestaltMacSE = 5, gestaltMacII = 6, gestaltMacIIx = 7, gestaltMacIIcx = 8, gestaltMacSE030 = 9, gestaltPortable = 10, gestaltMacIIci = 11, gestaltPowerMac8100_120 = 12, gestaltMacIIfx = 13, gestaltMacClassic = 17, gestaltMacIIsi = 18, gestaltMacLC = 19, gestaltMacQuadra900 = 20, gestaltPowerBook170 = 21, gestaltMacQuadra700 = 22, gestaltClassicII = 23, gestaltPowerBook100 = 24, gestaltPowerBook140 = 25, gestaltMacQuadra950 = 26, gestaltMacLCIII = 27, gestaltPerforma450 = gestaltMacLCIII, gestaltPowerBookDuo210 = 29, gestaltMacCentris650 = 30, gestaltPowerBookDuo230 = 32, gestaltPowerBook180 = 33, gestaltPowerBook160 = 34, gestaltMacQuadra800 = 35, gestaltMacQuadra650 = 36, gestaltMacLCII = 37, gestaltPowerBookDuo250 = 38, gestaltAWS9150_80 = 39, gestaltPowerMac8100_110 = 40, gestaltAWS8150_110 = gestaltPowerMac8100_110, gestaltPowerMac5200 = 41, gestaltPowerMac5260 = gestaltPowerMac5200, gestaltPerforma5300 = gestaltPowerMac5200, gestaltPowerMac6200 = 42, gestaltPerforma6300 = gestaltPowerMac6200, gestaltMacIIvi = 44, gestaltMacIIvm = 45, gestaltPerforma600 = gestaltMacIIvm, gestaltPowerMac7100_80 = 47, gestaltMacIIvx = 48, gestaltMacColorClassic = 49, gestaltPerforma250 = gestaltMacColorClassic, gestaltPowerBook165c = 50, gestaltMacCentris610 = 52, gestaltMacQuadra610 = 53, gestaltPowerBook145 = 54, gestaltPowerMac8100_100 = 55, gestaltMacLC520 = 56, gestaltAWS9150_120 = 57, gestaltPowerMac6400 = 58, gestaltPerforma6400 = gestaltPowerMac6400, gestaltPerforma6360 = gestaltPerforma6400, gestaltMacCentris660AV = 60, gestaltMacQuadra660AV = gestaltMacCentris660AV, gestaltPerforma46x = 62, gestaltPowerMac8100_80 = 65, gestaltAWS8150_80 = gestaltPowerMac8100_80, gestaltPowerMac9500 = 67, gestaltPowerMac9600 = gestaltPowerMac9500, gestaltPowerMac7500 = 68, gestaltPowerMac7600 = gestaltPowerMac7500, gestaltPowerMac8500 = 69, gestaltPowerMac8600 = gestaltPowerMac8500, gestaltAWS8550 = gestaltPowerMac7500, gestaltPowerBook180c = 71, gestaltPowerBook520 = 72, gestaltPowerBook520c = gestaltPowerBook520, gestaltPowerBook540 = gestaltPowerBook520, gestaltPowerBook540c = gestaltPowerBook520, gestaltPowerMac5400 = 74, gestaltPowerMac6100_60 = 75, gestaltAWS6150_60 = gestaltPowerMac6100_60, gestaltPowerBookDuo270c = 77, gestaltMacQuadra840AV = 78, gestaltPerforma550 = 80, gestaltPowerBook165 = 84, gestaltPowerBook190 = 85, gestaltMacTV = 88, gestaltMacLC475 = 89, gestaltPerforma47x = gestaltMacLC475, gestaltMacLC575 = 92, gestaltMacQuadra605 = 94, gestaltMacQuadra630 = 98, gestaltMacLC580 = 99, gestaltPerforma580 = gestaltMacLC580, gestaltPowerMac6100_66 = 100, gestaltAWS6150_66 = gestaltPowerMac6100_66, gestaltPowerBookDuo280 = 102, gestaltPowerBookDuo280c = 103, gestaltPowerMacLC475 = 104, gestaltPowerMacPerforma47x = gestaltPowerMacLC475, gestaltPowerMacLC575 = 105, gestaltPowerMacPerforma57x = gestaltPowerMacLC575, gestaltPowerMacQuadra630 = 106, gestaltPowerMacLC630 = gestaltPowerMacQuadra630, gestaltPowerMacPerforma63x = gestaltPowerMacQuadra630, gestaltPowerMac7200 = 108, gestaltPowerMac7300 = 109, gestaltPowerMac7100_66 = 112, gestaltPowerBook150 = 115, gestaltPowerMacQuadra700 = 116, gestaltPowerMacQuadra900 = 117, gestaltPowerMacQuadra950 = 118, gestaltPowerMacCentris610 = 119, gestaltPowerMacCentris650 = 120, gestaltPowerMacQuadra610 = 121, gestaltPowerMacQuadra650 = 122, gestaltPowerMacQuadra800 = 123, gestaltPowerBookDuo2300 = 124, gestaltPowerBook500PPCUpgrade = 126, gestaltPowerBook5300 = 128, gestaltPowerBook1400 = 310, gestaltPowerBook3400 = 306, gestaltPowerBook2400 = 307, gestaltPowerBookG3Series = 312, gestaltPowerBookG3 = 313, gestaltPowerBookG3Series2 = 314, gestaltPowerMacNewWorld = 406, gestaltPowerMacG3 = 510, gestaltPowerMac5500 = 512, gestalt20thAnniversary = gestaltPowerMac5500, gestaltPowerMac6500 = 513, gestaltPowerMac4400_160 = 514, gestaltPowerMac4400 = 515, gestaltMacOSCompatibility = 1206 };

    Discussion

    To obtain a string containing the machine’s name, you can pass the returned value to the GetIndString procedure as an index into the resource of type 'STR#' in the System file having the resource ID defined by the constant kMachineNameStrID.

  • Specifies user-visibility information for the computer name.

    Declaration

    Objective-C

    enum { gestaltUserVisibleMachineName = 'mnam' };

  • Specify feature availability information for the Connection Manager.

    Declaration

    Objective-C

    enum { gestaltConnMgrAttr = 'conn', gestaltConnMgrPresent = 0, gestaltConnMgrCMSearchFix = 1, gestaltConnMgrErrorString = 2, gestaltConnMgrMultiAsyncIO = 3 };

    Constants

    • gestaltConnMgrAttr

      gestaltConnMgrAttr

      Available in OS X v10.0 and later.

    • gestaltConnMgrPresent

      gestaltConnMgrPresent

      Available in OS X v10.0 and later.

    • gestaltConnMgrCMSearchFix

      gestaltConnMgrCMSearchFix

      The gestaltConnMgrCMSearchFix bit flag indicates that the fix is present that allows the CMAddSearch function to work over the mAttn channel.

      Available in OS X v10.0 and later.

    • gestaltConnMgrErrorString

      gestaltConnMgrErrorString

      Available in OS X v10.0 and later.

    • gestaltConnMgrMultiAsyncIO

      gestaltConnMgrMultiAsyncIO

      Available in OS X v10.0 and later.

  • Specify feature availability information for the Control Manager.

    Declaration

    Objective-C

    enum { gestaltControlMgrAttr = 'cntl', gestaltControlMgrPresent = (1L << 0), gestaltControlMgrPresentBit = 0, gestaltControlMsgPresentMask = (1L << gestaltControlMgrPresentBit ) };

    Constants

    • gestaltControlMgrAttr

      gestaltControlMgrAttr

      The Gestalt selector passed to determine what features of the Control Manager are present. This selector is available with Mac OS 8.5 and later. The Gestalt function produces a 32-bit value whose bits you should test to determine what Control Manager functionality is available.

      Available in OS X v10.0 and later.

    • gestaltControlMgrPresent

      gestaltControlMgrPresent

      If the bit specified by this mask is set, the Control Manager functionality for Appearance Manager 1.1 is available. This bit is set for Mac OS 8.5 and later.

      Available in OS X v10.0 and later.

    • gestaltControlMgrPresentBit

      gestaltControlMgrPresentBit

      Available in OS X v10.0 and later.

    • gestaltControlMsgPresentMask

      gestaltControlMsgPresentMask

      Available in OS X v10.0 and later.

    Discussion

    Before calling any functions dependent upon the Control Manager, your application should pass the selector gestaltControlMgrAttr to the Gestalt function to determine which Control Manager functions are available.

  • Specifies version information for the Control Manager.

    Declaration

    Objective-C

    enum { gestaltControlMgrVersion = 'cmvr' };

    Constants

    • gestaltControlMgrVersion

      gestaltControlMgrVersion

      Available in OS X v10.1 and later.

  • Specify feature availability for the Control Strip.

    Declaration

    Objective-C

    enum { gestaltControlStripAttr = 'sdev', gestaltControlStripExists = 0, gestaltControlStripVersionFixed = 1, gestaltControlStripUserFont = 2, gestaltControlStripUserHotKey = 3 };

  • Specifies version information for the Control Strip.

    Declaration

    Objective-C

    enum { gestaltControlStripVersion = 'csvr' };

    Constants

    • gestaltControlStripVersion

      gestaltControlStripVersion

      Available in OS X v10.0 and later.

  • Specify version information for Apollo CPUs.

    Declaration

    Objective-C

    enum { gestaltCPUApollo = 0x0111, gestaltCPU750FX = 0x0120 };

  • Specify version information for Intel and Pentium CPUs.

    Declaration

    Objective-C

    enum { gestaltCPU486 = 'i486', gestaltCPUPentium = 'i586', gestaltCPUPentiumPro = 'i5pr', gestaltCPUPentiumII = 'i5ii', gestaltCPUX86 = 'ixxx' };

  • Specify feature availability information for the Data Access Manager.

    Declaration

    Objective-C

    enum { gestaltDBAccessMgrAttr = 'dbac', gestaltDBAccessMgrPresent = 0 };

  • Specify feature availability information for Desktop Pictures.

    Declaration

    Objective-C

    enum { gestaltDesktopPicturesAttr = 'dkpx', gestaltDesktopPicturesInstalled = 0, gestaltDesktopPicturesDisplayed = 1 };

  • Specify feature availability information for all desktop printer.

    Declaration

    Objective-C

    enum { gestaltDTPInfo = 'dtpx' };

  • Specify feature availability for third-party desktop printing drivers.

    Declaration

    Objective-C

    enum { gestaltDTPFeatures = 'dtpf', kDTPThirdPartySupported = 0x00000004 };

  • Specify feature availability for the Dialog Manager.

    Declaration

    Objective-C

    enum { gestaltDITLExtAttr = 'ditl', gestaltDITLExtPresent = 0, gestaltDITLExtSupportsIctb = 1 };

    Constants

    • gestaltDITLExtAttr

      gestaltDITLExtAttr

      Available in OS X v10.0 and later.

    • gestaltDITLExtPresent

      gestaltDITLExtPresent

      If this flag bit is TRUE, then the Dialog Manager extensions included in System 7 are available.

      Available in OS X v10.0 and later.

    • gestaltDITLExtSupportsIctb

      gestaltDITLExtSupportsIctb

      Available in OS X v10.0 and later.

  • Specify feature availability information for the Dictionary Manager.

    Declaration

    Objective-C

    enum { gestaltDictionaryMgrAttr = 'dict', gestaltDictionaryMgrPresent = 0 };

  • Specify version and feature availability information for the Dialog Manager in Mac OS 8.5.

    Declaration

    Objective-C

    enum { gestaltDialogMgrAttr = 'dlog', gestaltDialogMgrPresent = (1L << 0), gestaltDialogMgrPresentBit = 0, gestaltDialogMgrHasAquaAlertBit = 2, gestaltDialogMgrPresentMask = (1L << gestaltDialogMgrPresentBit ), gestaltDialogMgrHasAquaAlertMask = (1L << gestaltDialogMgrHasAquaAlertBit ), gestaltDialogMsgPresentMask = gestaltDialogMgrPresentMask };

    Constants

    • gestaltDialogMgrAttr

      gestaltDialogMgrAttr

      The Gestalt selector passed to determine what features of the Dialog Manager are present. This selector is available with Mac OS 8.5 and later. Passing gestaltDialogManagerAttr produces a 32-bit value whose bits you should test to determine what Dialog Manager functionality is available.

      Available in OS X v10.0 and later.

    • gestaltDialogMgrPresent

      gestaltDialogMgrPresent

      If the bit specified by this mask is set, the Dialog Manager functionality for Appearance Manager 1.1 is available. This bit is set for Mac OS 8.5 and later.

      Available in OS X v10.0 and later.

    • gestaltDialogMgrPresentBit

      gestaltDialogMgrPresentBit

      Available in OS X v10.0 and later.

    • gestaltDialogMgrHasAquaAlertBit

      gestaltDialogMgrHasAquaAlertBit

      Available in OS X v10.1 and later.

    • gestaltDialogMgrPresentMask

      gestaltDialogMgrPresentMask

      Available in OS X v10.1 and later.

    • gestaltDialogMgrHasAquaAlertMask

      gestaltDialogMgrHasAquaAlertMask

      Available in OS X v10.1 and later.

    • gestaltDialogMsgPresentMask

      gestaltDialogMsgPresentMask

      Available in OS X v10.0 and later.

    Discussion

    Before calling any Dialog Manager functions, your application should pass the selector gestaltDialogManagerAttr to the Gestalt function to determine which Dialog Manager functions are available.

  • Specifies version information for digital signatures.

    Declaration

    Objective-C

    enum { gestaltDigitalSignatureVersion = 'dsig' };

  • Specifies availability of direct input/output support by the file system.

    Declaration

    Objective-C

    enum { gestaltFSSupportsDirectIO = 11 };

  • Specifies size information for the disk cache buffer.

    Declaration

    Objective-C

    enum { gestaltDiskCacheSize = 'dcsz' };

    Constants

    • gestaltDiskCacheSize

      gestaltDiskCacheSize

      A selector that you pass to the Gestalt function. If the function returns noErr, the response parameter contains the size of the disk cache’s buffer. See the Gestalt Manager Reference for more information on the Gestalt function.

      Available in OS X v10.0 and later.

  • Specify feature availability for the Display Manager.

    Declaration

    Objective-C

    enum { gestaltDisplayMgrAttr = 'dply', gestaltDisplayMgrPresent = 0, gestaltDisplayMgrCanSwitchMirrored = 2, gestaltDisplayMgrSetDepthNotifies = 3, gestaltDisplayMgrCanConfirm = 4, gestaltDisplayMgrColorSyncAware = 5, gestaltDisplayMgrGeneratesProfiles = 6, gestaltDisplayMgrSleepNotifies = 7 };

    Constants

    • gestaltDisplayMgrAttr

      gestaltDisplayMgrAttr

      The Gestalt selector you pass to determine which Display Manager attributes are present.

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrPresent

      gestaltDisplayMgrPresent

      If true, the Display Manager is present.

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrCanSwitchMirrored

      gestaltDisplayMgrCanSwitchMirrored

      If true, the Display Manager can switch modes on mirrored displays.

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrSetDepthNotifies

      gestaltDisplayMgrSetDepthNotifies

      If true, and you have registered for notification and you will be notified of depth mode changes.

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrCanConfirm

      gestaltDisplayMgrCanConfirm

      Not yet supported. Most commonly comes up for display modes that are not marked kModeSafe. There is currently no system support for trying an unsafe mode and then restoring if the user does not confirm. When this is supported, this bit will be set.

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrColorSyncAware

      gestaltDisplayMgrColorSyncAware

      If true, Display Manager supports profiles for displays.

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrGeneratesProfiles

      gestaltDisplayMgrGeneratesProfiles

      Available in OS X v10.0 and later.

    • gestaltDisplayMgrSleepNotifies

      gestaltDisplayMgrSleepNotifies

      Available in OS X v10.2 and later.

    Discussion

    Before calling any function dependent upon the Display Manager, your application should pass the selector gestaltDisplayMgrAttr to the Gestalt function to determine the Display Manager attributes that are present.

  • Specifies version information for the Display Manager.

    Declaration

    Objective-C

    enum { gestaltDisplayMgrVers = 'dplv' };

    Constants

    • gestaltDisplayMgrVers

      gestaltDisplayMgrVers

      The Gestalt selector you pass to determine what version of the Display Manager is present. For example, a Gestalt result may be 0x00020500, which means that the Display Manager version 2.5 is present.

      Available in OS X v10.0 and later.

    Discussion

    To determine the version of the current Display Manager, your application should pass the selector gestaltDisplayMgrVers to the Gestalt function.

  • Specify feature availability information for the Drag Manager.

    Declaration

    Objective-C

    enum { gestaltDragMgrAttr = 'drag', gestaltDragMgrPresent = 0, gestaltDragMgrFloatingWind = 1, gestaltPPCDragLibPresent = 2, gestaltDragMgrHasImageSupport = 3, gestaltCanStartDragInFloatWindow = 4, gestaltSetDragImageUpdates = 5 };

    Constants

    • gestaltDragMgrAttr

      gestaltDragMgrAttr

      The Gestalt selector passed to determine what features of the Drag Manager are present. Passing the gestaltDragMgrAttr constant produces a 32-bit value whose bits you should test to determine what Drag Manager functionality is available.

      Available in OS X v10.0 and later.

    • gestaltDragMgrPresent

      gestaltDragMgrPresent

      If the bit specified by this mask is set, the Drag Manager functions are available.

      Available in OS X v10.0 and later.

    • gestaltDragMgrFloatingWind

      gestaltDragMgrFloatingWind

      If the bit specified by this mask is set, the Drag Manager floating window support functions are available.

      Available in OS X v10.0 and later.

    • gestaltPPCDragLibPresent

      gestaltPPCDragLibPresent

      If the bit specified by this mask is set, the Drag Manager PPC Drag Library functions are available.

      Available in OS X v10.0 and later.

    • gestaltDragMgrHasImageSupport

      gestaltDragMgrHasImageSupport

      If the bit specified by this mask is set, the Drag Manager image support functions are available.

      Available in OS X v10.0 and later.

    • gestaltCanStartDragInFloatWindow

      gestaltCanStartDragInFloatWindow

      If the bit specified by this mask is set, the Drag Manager can start a drag in a floating window.

      Available in OS X v10.0 and later.

    • gestaltSetDragImageUpdates

      gestaltSetDragImageUpdates

      Available in OS X v10.1 and later.

  • Specifies version information for Draw Sprocket.

    Declaration

    Objective-C

    enum { gestaltDrawSprocketVersion = 'dspv' };

  • Specify version and feature availability information for Easy Access.

    Declaration

    Objective-C

    enum { gestaltEasyAccessAttr = 'easy', gestaltEasyAccessOff = 0, gestaltEasyAccessOn = 1, gestaltEasyAccessSticky = 2, gestaltEasyAccessLocked = 3 };

  • Specify feature availability for the Edition Manager.

    Declaration

    Objective-C

    enum { gestaltEditionMgrAttr = 'edtn', gestaltEditionMgrPresent = 0, gestaltEditionMgrTranslationAware = 1 };

  • Specifies version information for the extension table.

    Declaration

    Objective-C

    enum { gestaltExtensionTableVersion = 'etbl' };

  • Specify feature availability for file mapping.

    Declaration

    Objective-C

    enum { gestaltFileMappingAttr = 'flmp', gestaltFileMappingPresent = 0, gestaltFileMappingMultipleFilesFix = 1 };

  • Specify feature availability for the file system.

    Declaration

    Objective-C

    enum { gestaltFSAttr = 'fs ', gestaltFullExtFSDispatching = 0, gestaltHasFSSpecCalls = 1, gestaltHasFileSystemManager = 2, gestaltFSMDoesDynamicLoad = 3, gestaltFSSupports4GBVols = 4, gestaltFSSupports2TBVols = 5, gestaltHasExtendedDiskInit = 6, gestaltDTMgrSupportsFSM = 7, gestaltFSNoMFSVols = 8, gestaltFSSupportsHFSPlusVols = 9, gestaltFSIncompatibleDFA82 = 10 };

    Constants

    • gestaltFSAttr

      gestaltFSAttr

      A selector you pass to the Gestalt function. If the Gestalt function returns noErr, the response parameter contains a 32-bit value specifying the features of the file system.

      Available in OS X v10.0 and later.

    • gestaltFullExtFSDispatching

      gestaltFullExtFSDispatching

      If this bit is set in the response parameter, all of the functions selected through the _HFSDispatch trap are available to external file systems. If this bit is clear, the File Manager checks the selector passed to _HFSDispatch and ensures that it is valid; if the selector is invalid, the result code paramErr is returned to the caller. If this bit is set, no such validity checking is performed. See the Guide to the File System Manager for more information on external file systems.

      Available in OS X v10.0 and later.

    • gestaltHasFSSpecCalls

      gestaltHasFSSpecCalls

      If this bit is set in the response parameter, the operating environment provides the file system specification (FSSpec) versions of the basic file-manipulation functions, as well as the FSMakeFSSpec function.

      Available in OS X v10.0 and later.

    • gestaltHasFileSystemManager

      gestaltHasFileSystemManager

      If this bit is set in the response parameter, the File System Manager is present. See the Guide to the File System Manager for more information about the File System Manager.

      Available in OS X v10.0 and later.

    • gestaltFSMDoesDynamicLoad

      gestaltFSMDoesDynamicLoad

      If this bit is set in the response parameter, the File System Manager supports dynamic loading of external file system code resources.

      Available in OS X v10.0 and later.

    • gestaltFSSupports4GBVols

      gestaltFSSupports4GBVols

      If this bit is set in the response parameter, the file system supports 4 gigabyte volumes.

      Available in OS X v10.0 and later.

    • gestaltFSSupports2TBVols

      gestaltFSSupports2TBVols

      If this bit is set in the response parameter, the file system supports 2 terabyte volumes.

      Available in OS X v10.0 and later.

    • gestaltHasExtendedDiskInit

      gestaltHasExtendedDiskInit

      If this bit is set in the response parameter, the extended Disk Initialization Package functions are present. These are the DIXFormat, DIXZero, or DIReformat functions. See the Guide to the File System Manager for more information about the Disk Initialization Package interfaces.

      Available in OS X v10.0 and later.

    • gestaltDTMgrSupportsFSM

      gestaltDTMgrSupportsFSM

      If this bit is set in the response parameter, the desktop database supports File System Manager-based foreign file systems.

      Available in OS X v10.0 and later.

    • gestaltFSNoMFSVols

      gestaltFSNoMFSVols

      If this bit is set in the response parameter, the file system does not support MFS volumes.

      Available in OS X v10.0 and later.

    • gestaltFSSupportsHFSPlusVols

      gestaltFSSupportsHFSPlusVols

      If this bit is set in the response parameter, the file system supports HFS Plus volumes.

      Available in OS X v10.0 and later.

    • gestaltFSIncompatibleDFA82

      gestaltFSIncompatibleDFA82

      If this bit is set in the response parameter, VCB and FCB structures are changed; DFA 8.2 is incompatible.

      Available in OS X v10.0 and later.

  • Specify feature availability for the file system for features introduced in Mac OS 9.

    Declaration

    Objective-C

    enum { gestaltHasHFSPlusAPIs = 12, gestaltMustUseFCBAccessors = 13, gestaltFSUsesPOSIXPathsForConversion = 14, gestaltFSSupportsExclusiveLocks = 15, gestaltFSSupportsHardLinkDetection = 16 };

    Constants

    • gestaltHasHFSPlusAPIs

      gestaltHasHFSPlusAPIs

      If this bit is set in the response parameter, the File Manager supports the HFS Plus APIs. Individual file systems may or may not implement the HFS Plus APIs. However, if this bit is set, the File Manager will emulate the HFS Plus APIs for file systems that do not implement them. Call the functions PBHGetVolParmsSync or PBHGetVolParmsAsync to determine whether the HFS Plus APIs are directly supported on a given volume.

      Available in OS X v10.0 and later.

    • gestaltMustUseFCBAccessors

      gestaltMustUseFCBAccessors

      If this bit is set in the response parameter, the File Manager no longer supports the low memory globals FCBSPtr and FSFCBLen. All access to file or fork control blocks must use the File System Manager utility functions instead.

      Available in OS X v10.0 and later.

    • gestaltFSUsesPOSIXPathsForConversion

      gestaltFSUsesPOSIXPathsForConversion

      Available in OS X v10.0 and later.

    • gestaltFSSupportsExclusiveLocks

      gestaltFSSupportsExclusiveLocks

      Available in OS X v10.2 and later.

    • gestaltFSSupportsHardLinkDetection

      gestaltFSSupportsHardLinkDetection

      Available in OS X v10.2 and later.

    Discussion

    Use these constants with the gestalt selector gestaltFSAttr, described in File System Attribute Selectors.

  • Specifies version information for the File System Manager.

    Declaration

    Objective-C

    enum { gestaltFSMVersion = 'fsm ' };

    Constants

    • gestaltFSMVersion

      gestaltFSMVersion

      Pass this selector to the Gestalt function to determine the version of the HFS External File Systems Manager (FSM).

      Available in OS X v10.0 and later.

  • Specify feature availability for the File System Transport Manager

    Declaration

    Objective-C

    enum { gestaltFXfrMgrAttr = 'fxfr', gestaltFXfrMgrPresent = 0, gestaltFXfrMgrMultiFile = 1, gestaltFXfrMgrErrorString = 2, gestaltFXfrMgrAsync = 3 };

    Constants

    • gestaltFXfrMgrAttr

      gestaltFXfrMgrAttr

      The selector you pass to the Gestalt function to determine the File Transfer Manager attributes.

      Available in OS X v10.0 and later.

  • Specify state information for Find By Content.

    Declaration

    Objective-C

    enum { gestaltFBCIndexingState = 'fbci', gestaltFBCindexingSafe = 0, gestaltFBCindexingCritical = 1 };

  • Specify version information for Find By Content.

    Declaration

    Objective-C

    enum { gestaltFBCVersion = 'fbcv', gestaltFBCCurrentVersion = 0x0011, gestaltOSXFBCCurrentVersion = 0x0100 };

  • Specifies feature availability information for Find Folder.

    Declaration

    Objective-C

    enum { gestaltFindFolderRedirectionAttr = 'fole' };

  • Specify feature availability for the Finder.

    Declaration

    Objective-C

    enum { gestaltFinderAttr = 'fndr', gestaltFinderDropEvent = 0, gestaltFinderMagicPlacement = 1, gestaltFinderCallsAEProcess = 2, gestaltOSLCompliantFinder = 3, gestaltFinderSupports4GBVolumes = 4, gestaltFinderHasClippings = 6, gestaltFinderFullDragManagerSupport = 7, gestaltFinderFloppyRootComments = 8, gestaltFinderLargeAndNotSavedFlavorsOK = 9, gestaltFinderUsesExtensibleFolderManager = 10, gestaltFinderUnderstandsRedirectedDesktopFolder = 11 };

  • Specify feature availability information for the floppy disk drive.

    Declaration

    Objective-C

    enum { gestaltFloppyAttr = 'flpy', gestaltFloppyIsMFMOnly = 0, gestaltFloppyIsManualEject = 1, gestaltFloppyUsesDiskInPlace = 2 };

  • Specify feature availability information for the Font Manager.

    Declaration

    Objective-C

    enum { gestaltFontMgrAttr = 'font', gestaltOutlineFonts = 0 };

    Constants

    • gestaltFontMgrAttr

      gestaltFontMgrAttr

      The Gestalt selector you pass to determine which Font Manager attributes are present.

      Available in OS X v10.0 and later.

    • gestaltOutlineFonts

      gestaltOutlineFonts

      If true, outline fonts are supported.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon the Font Manager, your application should pass the selector gestaltDisplayMgrAttr to the Gestalt function to determine the Font Manager attributes that are present.

  • Specify feature availability information for the Folder Manager.

    Declaration

    Objective-C

    enum { gestaltFindFolderAttr = 'fold', gestaltFindFolderPresent = 0, gestaltFolderDescSupport = 1, gestaltFolderMgrFollowsAliasesWhenResolving = 2, gestaltFolderMgrSupportsExtendedCalls = 3, gestaltFolderMgrSupportsDomains = 4, gestaltFolderMgrSupportsFSCalls = 5 };

    Constants

    • gestaltFindFolderAttr

      gestaltFindFolderAttr

      The selector you pass to the Gestalt function to determine the FindFolder function attributes.

      Available in OS X v10.0 and later.

    • gestaltFindFolderPresent

      gestaltFindFolderPresent

      Available in OS X v10.0 and later.

    • gestaltFolderDescSupport

      gestaltFolderDescSupport

      If this bit is set, the extended Folder Manager functionality supporting folder descriptors and routings is available. This bit is set for versions of the Mac OS starting with Mac OS 8.

      Available in OS X v10.0 and later.

    • gestaltFolderMgrFollowsAliasesWhenResolving

      gestaltFolderMgrFollowsAliasesWhenResolving

      Available in OS X v10.0 and later.

    • gestaltFolderMgrSupportsExtendedCalls

      gestaltFolderMgrSupportsExtendedCalls

      Available in OS X v10.0 and later.

    • gestaltFolderMgrSupportsDomains

      gestaltFolderMgrSupportsDomains

      Available in OS X v10.0 and later.

    • gestaltFolderMgrSupportsFSCalls

      gestaltFolderMgrSupportsFSCalls

      Available in OS X v10.0 and later.

    Discussion

    Before calling any Folder Manager functions, your application should pass the selector gestaltFindFolderAttr to the Gestalt function to determine which Folder Manager functions are available.

  • Specify version and availability information for the type of floating-point unit installed.

    Declaration

    Objective-C

    enum { gestaltFPUType = 'fpu ', gestaltNoFPU = 0, gestalt68881 = 1, gestalt68882 = 2, gestalt68040FPU = 3 };

    Constants

    • gestaltFPUType

      gestaltFPUType

      A constant that represents the type of floating-point unit currently installed, if any.

      Available in OS X v10.0 and later.

    • gestaltNoFPU

      gestaltNoFPU

      Available in OS X v10.0 and later.

    • gestalt68881

      gestalt68881

      Available in OS X v10.0 and later.

    • gestalt68882

      gestalt68882

      Available in OS X v10.0 and later.

    • gestalt68040FPU

      gestalt68040FPU

      Available in OS X v10.0 and later.

  • Specify Gestalt Manager version information.

    Declaration

    Objective-C

    enum { gestaltVersion = 'vers', gestaltValueImplementedVers = 5 };

    Constants

    • gestaltVersion

      gestaltVersion

      The selector you pass to the function Gestalt to determine the version of the Gestalt Manager. The function passes back the version in the low-order word of the response.

      Available in OS X v10.0 and later.

    • gestaltValueImplementedVers

      gestaltValueImplementedVers

      The first version of the Gestalt Manager that implements this selector.

      Available in OS X v10.0 and later.

  • Specify feature availability information for hardware.

    Declaration

    Objective-C

    enum { gestaltHardwareAttr = 'hdwr', gestaltHasVIA1 = 0, gestaltHasVIA2 = 1, gestaltHasASC = 3, gestaltHasSCC = 4, gestaltHasSCSI = 7, gestaltHasSoftPowerOff = 19, gestaltHasSCSI961 = 21, gestaltHasSCSI962 = 22, gestaltHasUniversalROM = 24, gestaltHasEnhancedLtalk = 30 };

    Constants

    • gestaltHardwareAttr

      gestaltHardwareAttr

      The selector you pass to the Gestalt function to determine low-level hardware configuration attributes.

      Never infer the existence of certain hardware or software features from the responses that Gestalt returns when you pass it this selector.

      Available in OS X v10.0 and later.

    • gestaltHasVIA1

      gestaltHasVIA1

      Available in OS X v10.0 and later.

    • gestaltHasVIA2

      gestaltHasVIA2

      Available in OS X v10.0 and later.

    • gestaltHasASC

      gestaltHasASC

      Available in OS X v10.0 and later.

    • gestaltHasSCC

      gestaltHasSCC

      The gestaltHasSCC bit is normally returned as 0 on the Macintosh IIfx and Macintosh Quadra 900 computers, which have intelligent I/O processors that isolate the hardware and make direct access to the SCC impossible. However, if the user has used the Compatibility Switch control panel to enable compatibility mode, gestaltHasSCC is set.

      Available in OS X v10.0 and later.

    • gestaltHasSCSI

      gestaltHasSCSI

      The gestaltHasSCSI bit means the machine is equipped with a SCSI implementation based on the 53C80 chip, which was introduced in the Macintosh Plus. This bit is 0 on computers with a different SCSI implementation.

      Available in OS X v10.0 and later.

    • gestaltHasSoftPowerOff

      gestaltHasSoftPowerOff

      Available in OS X v10.0 and later.

    • gestaltHasSCSI961

      gestaltHasSCSI961

      This bit is set if the machine has a SCSI implementation based on the 53C96 chip installed on an internal bus.

      Available in OS X v10.0 and later.

    • gestaltHasSCSI962

      gestaltHasSCSI962

      This bit is set if the machine has a SCSI implementation based on the 53C96 chip installed on an external bus.

      Available in OS X v10.0 and later.

    • gestaltHasUniversalROM

      gestaltHasUniversalROM

      Available in OS X v10.0 and later.

    • gestaltHasEnhancedLtalk

      gestaltHasEnhancedLtalk

      Available in OS X v10.0 and later.

  • Specifies icon family resource ID information for the computer hardware.

    Declaration

    Objective-C

    enum { gestaltMachineIcon = 'micn' };

    Constants

    • gestaltMachineIcon

      gestaltMachineIcon

      The selector you pass to the Gestalt function to determine the icon family resource ID for the current type of Macintosh.

      Never infer the existence of certain hardware or software features from the responses that Gestalt returns when you pass it this selector.

      Available in OS X v10.0 and later.

  • Specify hardware vendor information.

    Declaration

    Objective-C

    enum { gestaltHardwareVendorCode = 'hrad', gestaltHardwareVendorApple = 'Appl' };

  • Specify feature availability for the Apple Help Manager.

    Declaration

    Objective-C

    enum { gestaltHelpMgrAttr = 'help', gestaltHelpMgrPresent = 0, gestaltHelpMgrExtensions = 1, gestaltAppleGuideIsDebug = 30, gestaltAppleGuidePresent = 31 };

    Constants

    • gestaltHelpMgrAttr

      gestaltHelpMgrAttr

      The selector you pass to the Gestalt function to determine the Help Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltHelpMgrPresent

      gestaltHelpMgrPresent

      Available in OS X v10.0 and later.

    • gestaltHelpMgrExtensions

      gestaltHelpMgrExtensions

      Available in OS X v10.0 and later.

    • gestaltAppleGuideIsDebug

      gestaltAppleGuideIsDebug

      Available in OS X v10.0 and later.

    • gestaltAppleGuidePresent

      gestaltAppleGuidePresent

      Available in OS X v10.0 and later.

  • Specify feature availability for Icon Services.

    Declaration

    Objective-C

    enum { gestaltIconUtilitiesAttr = 'icon', gestaltIconUtilitiesPresent = 0, gestaltIconUtilitiesHas48PixelIcons = 1, gestaltIconUtilitiesHas32BitIcons = 2, gestaltIconUtilitiesHas8BitDeepMasks = 3, gestaltIconUtilitiesHasIconServices = 4 };

    Constants

    • gestaltIconUtilitiesAttr

      gestaltIconUtilitiesAttr

      The Gestalt selector passed to determine which features of Icon Services are present. The Gestalt function produces a 32-bit value whose bits you should test to determine which Icon Services features are available.

      Note: available in System 7.0, despite gestalt.

      Available in OS X v10.0 and later.

    • gestaltIconUtilitiesPresent

      gestaltIconUtilitiesPresent

      True if icon utilities are present.

      Available in OS X v10.0 and later.

    • gestaltIconUtilitiesHas48PixelIcons

      gestaltIconUtilitiesHas48PixelIcons

      True if 48x48 icons are supported by IconUtilities.

      Available in OS X v10.0 and later.

    • gestaltIconUtilitiesHas32BitIcons

      gestaltIconUtilitiesHas32BitIcons

      True if 32-bit deep icons are supported.

      Available in OS X v10.0 and later.

    • gestaltIconUtilitiesHas8BitDeepMasks

      gestaltIconUtilitiesHas8BitDeepMasks

      True if 8-bit deep masks are supported.

      Available in OS X v10.0 and later.

    • gestaltIconUtilitiesHasIconServices

      gestaltIconUtilitiesHasIconServices

      True if IconServices is present.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any Icon Services functions, your application should pass the selector gestaltIconUtilitiesAttr to the Gestalt function.

  • Specifies the version of the Image Compression Manager.

    Declaration

    Objective-C

    enum { gestaltCompressionMgr = 'icmp' };

    Constants

    • gestaltCompressionMgr

      gestaltCompressionMgr

      Available in OS X v10.0 and later.

  • Specifies the Intel architecture.

    Declaration

    Objective-C

    enum { gestaltIntel = 10 };

  • Specifies the slot number information for the internal display location.

    Declaration

    Objective-C

    enum { gestaltInternalDisplay = 'idsp' };

  • Specify keyboard information.

    Declaration

    Objective-C

    enum { gestaltKeyboardType = 'kbd ', gestaltMacKbd = 1, gestaltMacAndPad = 2, gestaltMacPlusKbd = 3, gestaltExtADBKbd = 4, gestaltStdADBKbd = 5, gestaltPrtblADBKbd = 6, gestaltPrtblISOKbd = 7, gestaltStdISOADBKbd = 8, gestaltExtISOADBKbd = 9, gestaltADBKbdII = 10, gestaltADBISOKbdII = 11, gestaltPwrBookADBKbd = 12, gestaltPwrBookISOADBKbd = 13, gestaltAppleAdjustKeypad = 14, gestaltAppleAdjustADBKbd = 15, gestaltAppleAdjustISOKbd = 16, gestaltJapanAdjustADBKbd = 17, gestaltPwrBkExtISOKbd = 20, gestaltPwrBkExtJISKbd = 21, gestaltPwrBkExtADBKbd = 24, gestaltPS2Keyboard = 27, gestaltPwrBkSubDomKbd = 28, gestaltPwrBkSubISOKbd = 29, gestaltPwrBkSubJISKbd = 30, gestaltPwrBkEKDomKbd = 195, gestaltPwrBkEKISOKbd = 196, gestaltPwrBkEKJISKbd = 197, gestaltUSBCosmoANSIKbd = 198, gestaltUSBCosmoISOKbd = 199, gestaltUSBCosmoJISKbd = 200, gestaltPwrBk99JISKbd = 201, gestaltUSBAndyANSIKbd = 204, gestaltUSBAndyISOKbd = 205, gestaltUSBAndyJISKbd = 206 };

    Constants

    • gestaltKeyboardType

      gestaltKeyboardType

      The selector you pass to the Gestalt function to determine the type of the keyboard.

      If the Apple Desktop Bus (ADB) is in use, there may be multiple keyboards or other ADB devices attached to the machine. The gestaltKeyboardType selector identifies only the type of the keyboard on which the last keystroke occurred.

      You cannot use this selector to find out what ADB devices are connected. For that, you can use the Apple Desktop Bus Manager. Note that the ADB keyboard types described by Gestalt do not necessarily map directly to ADB device handler IDs.

      Future support for the gestaltKeyboardType selector is not guaranteed. To determine the type of the keyboard last touched without using Gestalt, check the system global variable KbdType.

      If the Gestalt Manager does not recognize the keyboard type, it returns an error.

      Available in OS X v10.0 and later.

  • Specify laptop keyboard information.

    Declaration

    Objective-C

    enum { gestaltPortable2001ANSIKbd = 202, gestaltPortable2001ISOKbd = 203, gestaltPortable2001JISKbd = 207 };

  • Specifies logical page size information.

    Declaration

    Objective-C

    enum { gestaltLogicalPageSize = 'pgsz' };

    Constants

    • gestaltLogicalPageSize

      gestaltLogicalPageSize

      The logical page size. This value is defined only on machines with the MC68010, MC68020, MC68030, or MC68040 microprocessors. On a machine with the MC68000, the Gestalt function returns an error when called with this selector.

      Available in OS X v10.0 and later.

  • Specifies logical random-access memory size information.

    Declaration

    Objective-C

    enum { gestaltLogicalRAMSize = 'lram' };

    Constants

    • gestaltLogicalRAMSize

      gestaltLogicalRAMSize

      The amount of logical memory available. This value is the same as that returned by gestaltPhysicalRAMSize when virtual memory is not installed. On some machines, however, this value might be less than the value returned by gestaltPhysicalRAMSize because some RAM may be used by the video display and the Operating System.

      Available in OS X v10.0 and later.

  • Specifies information about the size of the low-memory area.

    Declaration

    Objective-C

    enum { gestaltLowMemorySize = 'lmem' };

    Constants

    • gestaltLowMemorySize

      gestaltLowMemorySize

      The size (in bytes) of the low-memory area. The low-memory area is used for vectors, global variables, and dispatch tables

      Available in OS X v10.0 and later.

  • Defines a machine name string ID.

    Declaration

    Objective-C

    enum { kMachineNameStrID = -16395 };

  • Specifies version information for the OCE standard mailer.

    Declaration

    Objective-C

    enum { gestaltSMPMailerVersion = 'malr' };

  • Specifies version information for the OCE standard mailer’s send letter.

    Declaration

    Objective-C

    enum { gestaltSMPSPSendLetterVersion = 'spsl' };

  • Specify information about media bay availability.

    Declaration

    Objective-C

    enum { gestaltMediaBay = 'mbeh', gestaltMBLegacy = 0, gestaltMBSingleBay = 1, gestaltMBMultipleBays = 2 };

  • Specify feature availability information for memory.

    Declaration

    Objective-C

    enum { gestaltOSAttr = 'os ', gestaltSysZoneGrowable = 0, gestaltLaunchCanReturn = 1, gestaltLaunchFullFileSpec = 2, gestaltLaunchControl = 3, gestaltTempMemSupport = 4, gestaltRealTempMemory = 5, gestaltTempMemTracked = 6, gestaltIPCSupport = 7, gestaltSysDebuggerSupport = 8, gestaltNativeProcessMgrBit = 19, gestaltAltivecRegistersSwappedCorrectlyBit = 20 };

    Constants

    • gestaltOSAttr

      gestaltOSAttr

      The Gestalt selector you pass to determine general Operating System attributes, such as whether temporary memory handles are real handles. The low-order bits of the response parameter are interpreted as bit flags. A flag is set to 1 to indicate that the corresponding feature is available. Currently, the following bits are significant.

      Available in OS X v10.0 and later.

    • gestaltSysZoneGrowable

      gestaltSysZoneGrowable

      Available in OS X v10.0 and later.

    • gestaltLaunchCanReturn

      gestaltLaunchCanReturn

      If this bit is set, the _Launch trap macro can return to the caller. The _Launch trap macro in system software version 7.0 (and in earlier versions running MultiFinder) gives your application the option to continue running after it launches another application. In earlier versions of system software not running MultiFinder, the _Launch trap macro forces the launching application to quit.

      Available in OS X v10.0 and later.

    • gestaltLaunchFullFileSpec

      gestaltLaunchFullFileSpec

      If this bit is set, the launchControlFlags field supports control flags in addition to the launchContinue flag, and if the _Launch trap can process the launchAppSpec, launchProcessSN, launchPreferredSize, launchMinimumSize, launchAvailableSize, and launchAppParameters fields in the launch parameter block.

      Available in OS X v10.0 and later.

    • gestaltLaunchControl

      gestaltLaunchControl

      If this bit is set, the Process Manager is available.

      Available in OS X v10.0 and later.

    • gestaltTempMemSupport

      gestaltTempMemSupport

      If true, there is temporary memory support.

      Available in OS X v10.0 and later.

    • gestaltRealTempMemory

      gestaltRealTempMemory

      If true, temporary memory handles are real.

      Available in OS X v10.0 and later.

    • gestaltTempMemTracked

      gestaltTempMemTracked

      If true, temporary memory handles are tracked.

      Available in OS X v10.0 and later.

    • gestaltIPCSupport

      gestaltIPCSupport

      Available in OS X v10.0 and later.

    • gestaltSysDebuggerSupport

      gestaltSysDebuggerSupport

      Available in OS X v10.0 and later.

    • gestaltNativeProcessMgrBit

      gestaltNativeProcessMgrBit

      Available in OS X v10.0 and later.

    • gestaltAltivecRegistersSwappedCorrectlyBit

      gestaltAltivecRegistersSwappedCorrectlyBit

      Available in OS X v10.2 and later.

  • Specify feature availability information for memory mapping.

    Declaration

    Objective-C

    enum { gestaltMemoryMapAttr = 'mmap', gestaltMemoryMapSparse = 0 };

  • Specify version and feature availability information for the Menu Manager in Mac OS 8.5

    Declaration

    Objective-C

    enum { gestaltMenuMgrAttr = 'menu', gestaltMenuMgrPresent = (1L << 0), gestaltMenuMgrPresentBit = 0, gestaltMenuMgrAquaLayoutBit = 1, gestaltMenuMgrMultipleItemsWithCommandIDBit = 2, gestaltMenuMgrRetainsIconRefBit = 3, gestaltMenuMgrSendsMenuBoundsToDefProcBit = 4, gestaltMenuMgrMoreThanFiveMenusDeepBit = 5, gestaltMenuMgrPresentMask = (1L << gestaltMenuMgrPresentBit ), gestaltMenuMgrAquaLayoutMask = (1L << gestaltMenuMgrAquaLayoutBit ), gestaltMenuMgrMultipleItemsWithCommandIDMask = (1L << gestaltMenuMgrMultipleItemsWithCommandIDBit ), gestaltMenuMgrRetainsIconRefMask = (1L << gestaltMenuMgrRetainsIconRefBit ), gestaltMenuMgrSendsMenuBoundsToDefProcMask = (1L << gestaltMenuMgrSendsMenuBoundsToDefProcBit ), gestaltMenuMgrMoreThanFiveMenusDeepMask = (1L << gestaltMenuMgrMoreThanFiveMenusDeepBit ) };

    Constants

    • gestaltMenuMgrAttr

      gestaltMenuMgrAttr

      The Gestalt selector passed to determine what features of the Menu Manager are present. This selector is available with Mac OS 8.5 and later. Passing gestaltMenuMgrAttr produces a 32-bit value whose bits you should test to determine what Menu Manager functionality is available.

      Available in OS X v10.0 and later.

    • gestaltMenuMgrPresent

      gestaltMenuMgrPresent

      If the bit specified by this mask is set, the Menu Manager functionality for Appearance Manager 1.1 is available. This bit is set for Mac OS 8.5 and later.

      Available in OS X v10.0 and later.

    • gestaltMenuMgrPresentBit

      gestaltMenuMgrPresentBit

      Available in OS X v10.0 and later.

    • gestaltMenuMgrAquaLayoutBit

      gestaltMenuMgrAquaLayoutBit

      Available in OS X v10.0 and later.

    • gestaltMenuMgrMultipleItemsWithCommandIDBit

      gestaltMenuMgrMultipleItemsWithCommandIDBit

      Available in OS X v10.0 and later.

    • gestaltMenuMgrRetainsIconRefBit

      gestaltMenuMgrRetainsIconRefBit

      Available in OS X v10.0 and later.

    • gestaltMenuMgrSendsMenuBoundsToDefProcBit

      gestaltMenuMgrSendsMenuBoundsToDefProcBit

      Available in OS X v10.0 and later.

    • gestaltMenuMgrMoreThanFiveMenusDeepBit

      gestaltMenuMgrMoreThanFiveMenusDeepBit

      Available in OS X v10.2 and later.

    • gestaltMenuMgrPresentMask

      gestaltMenuMgrPresentMask

      Available in OS X v10.0 and later.

    • gestaltMenuMgrAquaLayoutMask

      gestaltMenuMgrAquaLayoutMask

      Available in OS X v10.0 and later.

    • gestaltMenuMgrMultipleItemsWithCommandIDMask

      gestaltMenuMgrMultipleItemsWithCommandIDMask

      Available in OS X v10.0 and later.

    • gestaltMenuMgrRetainsIconRefMask

      gestaltMenuMgrRetainsIconRefMask

      Available in OS X v10.0 and later.

    • gestaltMenuMgrSendsMenuBoundsToDefProcMask

      gestaltMenuMgrSendsMenuBoundsToDefProcMask

      Available in OS X v10.0 and later.

    • gestaltMenuMgrMoreThanFiveMenusDeepMask

      gestaltMenuMgrMoreThanFiveMenusDeepMask

      Available in OS X v10.2 and later.

    Discussion

    Before calling any Menu Manager functions, your application should pass the selector gestaltMenuMgrAttr to the Gestalt function to determine which Menu Manager functions are available.

  • Specify version information for the Message Manager.

    Declaration

    Objective-C

    enum { gestaltMessageMgrVersion = 'mess' };

  • Specify feature availability information for miscellaneous pieces of the operating system or the hardware configuration.

    Declaration

    Objective-C

    enum { gestaltMiscAttr = 'misc', gestaltScrollingThrottle = 0, gestaltSquareMenuBar = 2 };

    Constants

    • gestaltMiscAttr

      gestaltMiscAttr

      The selector you pass to the Gestalt function to determine information about miscellaneous pieces of the Operating System or hardware configuration.

      Available in OS X v10.0 and later.

    • gestaltScrollingThrottle

      gestaltScrollingThrottle

      Available in OS X v10.0 and later.

    • gestaltSquareMenuBar

      gestaltSquareMenuBar

      Available in OS X v10.0 and later.

  • Specify version and feature availability information for the Mixed Mode Manager.

    Declaration

    Objective-C

    enum { gestaltMixedModeAttr = 'mixd', gestaltMixedModePowerPC = 0, gestaltPowerPCAware = 0, gestaltMixedModeCFM68K = 1, gestaltMixedModeCFM68KHasTrap = 2, gestaltMixedModeCFM68KHasState = 3 };

    Constants

    • gestaltMixedModeAttr

      gestaltMixedModeAttr

      The Gestalt selector you pass to determine what version of Mixed Mode Manager is present.

      Available in OS X v10.0 and later.

    • gestaltMixedModePowerPC

      gestaltMixedModePowerPC

      True if Mixed Mode supports PowerPC ABI calling conventions

      Available in OS X v10.0 and later.

    • gestaltPowerPCAware

      gestaltPowerPCAware

      Old name for gestaltMixedModePowerPC

      Available in OS X v10.0 and later.

    • gestaltMixedModeCFM68K

      gestaltMixedModeCFM68K

      True if Mixed Mode supports CFM-68K calling conventions

      Available in OS X v10.0 and later.

    • gestaltMixedModeCFM68KHasTrap

      gestaltMixedModeCFM68KHasTrap

      True if CFM-68K Mixed Mode implements _MixedModeDispatch (versions 1.0.1 and prior did not)

      Available in OS X v10.0 and later.

    • gestaltMixedModeCFM68KHasState

      gestaltMixedModeCFM68KHasState

      True if CFM-68K Mixed Mode exports Save/RestoreMixedModeState

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon Mixed Mode Manager, your application should pass the selector gestaltMixedModeAttr to the Gestalt function to determine the Mixed Mode Manager attributes that are present.

  • Specifies version information for the Mixed Mode Manager.

    Declaration

    Objective-C

    enum { gestaltMixedModeVersion = 'mixd' };

    Constants

    • gestaltMixedModeVersion

      gestaltMixedModeVersion

      The selector you pass to the Gestalt function to determine the version of Mixed Mode Manager.

      Available in OS X v10.0 and later.

  • Specify information about the type of MMU installed.

    Declaration

    Objective-C

    enum { gestaltMMUType = 'mmu ', gestaltNoMMU = 0, gestaltAMU = 1, gestalt68851 = 2, gestalt68030MMU = 3, gestalt68040MMU = 4, gestaltEMMU1 = 5 };

    Constants

    • gestaltMMUType

      gestaltMMUType

      The selector you pass to the Gestalt function to determine the type of MMU currently installed.

      Available in OS X v10.0 and later.

    • gestaltNoMMU

      gestaltNoMMU

      Available in OS X v10.0 and later.

    • gestaltAMU

      gestaltAMU

      Available in OS X v10.0 and later.

    • gestalt68851

      gestalt68851

      Available in OS X v10.0 and later.

    • gestalt68030MMU

      gestalt68030MMU

      Available in OS X v10.0 and later.

    • gestalt68040MMU

      gestalt68040MMU

      Available in OS X v10.0 and later.

    • gestaltEMMU1

      gestaltEMMU1

      Available in OS X v10.0 and later.

  • Specifies information about the multiple user state.

    Declaration

    Objective-C

    enum { gestaltMultipleUsersState = 'mfdr' };

  • Specify feature availability information for the standard name-binding protocol.

    Declaration

    Objective-C

    enum { gestaltStdNBPAttr = 'nlup', gestaltStdNBPPresent = 0, gestaltStdNBPSupportsAutoPosition = 1 };

    Constants

    • gestaltStdNBPAttr

      gestaltStdNBPAttr

      The selector you pass to the Gestalt function to determine information about the StandardNBP (Name-Binding Protocol) function.

      Available in OS X v10.0 and later.

    • gestaltStdNBPPresent

      gestaltStdNBPPresent

      Available in OS X v10.0 and later.

    • gestaltStdNBPSupportsAutoPosition

      gestaltStdNBPSupportsAutoPosition

      Available in OS X v10.0 and later.

  • Specifies the version of the name registry.

    Declaration

    Objective-C

    enum { gestaltNameRegistryVersion = 'nreg' };

    Constants

    • gestaltNameRegistryVersion

      gestaltNameRegistryVersion

      Available in OS X v10.0 and later.

  • Specify the native CPU type or family.

    Declaration

    Objective-C

    enum { gestaltNativeCPUtype = 'cput', gestaltNativeCPUfamily = 'cpuf', gestaltCPU68000 = 0, gestaltCPU68010 = 1, gestaltCPU68020 = 2, gestaltCPU68030 = 3, gestaltCPU68040 = 4, gestaltCPU601 = 0x0101, gestaltCPU603 = 0x0103, gestaltCPU604 = 0x0104, gestaltCPU603e = 0x0106, gestaltCPU603ev = 0x0107, gestaltCPU750 = 0x0108, gestaltCPU604e = 0x0109, gestaltCPU604ev = 0x010A, gestaltCPUG4 = 0x010C, gestaltCPUG47450 = 0x0110 };

    Constants

    • gestaltNativeCPUtype

      gestaltNativeCPUtype

      The selector you pass to the Gestalt function to determine the native CPU type.

      Available in OS X v10.0 and later.

    • gestaltNativeCPUfamily

      gestaltNativeCPUfamily

      Available in OS X v10.0 and later.

    • gestaltCPU68000

      gestaltCPU68000

      Available in OS X v10.0 and later.

    • gestaltCPU68010

      gestaltCPU68010

      Available in OS X v10.0 and later.

    • gestaltCPU68020

      gestaltCPU68020

      Available in OS X v10.0 and later.

    • gestaltCPU68030

      gestaltCPU68030

      Available in OS X v10.0 and later.

    • gestaltCPU68040

      gestaltCPU68040

      Available in OS X v10.0 and later.

    • gestaltCPU601

      gestaltCPU601

      Available in OS X v10.0 and later.

    • gestaltCPU603

      gestaltCPU603

      Available in OS X v10.0 and later.

    • gestaltCPU604

      gestaltCPU604

      Available in OS X v10.0 and later.

    • gestaltCPU603e

      gestaltCPU603e

      Available in OS X v10.0 and later.

    • gestaltCPU603ev

      gestaltCPU603ev

      Available in OS X v10.0 and later.

    • gestaltCPU750

      gestaltCPU750

      Available in OS X v10.0 and later.

    • gestaltCPU604e

      gestaltCPU604e

      Available in OS X v10.0 and later.

    • gestaltCPU604ev

      gestaltCPU604ev

      Available in OS X v10.0 and later.

    • gestaltCPUG4

      gestaltCPUG4

      Available in OS X v10.0 and later.

    • gestaltCPUG47450

      gestaltCPUG47450

      Available in OS X v10.2 and later.

    Discussion

    The use of these selectors is no longer recommended. You can use the gestaltSysArchitecture selector to determine whether your application is running on a PowerPC or Intel-based Macintosh. If you are trying to determine whether you can use a particular processor feature, you should check directly for that feature using a BSD library function such as sysctl or sysctlbyname. For more information, see OS X Man Pages.

  • Specify feature availability information for the Notification Manager.

    Declaration

    Objective-C

    enum { gestaltNotificationMgrAttr = 'nmgr', gestaltNotificationPresent = 0 };

    Constants

    • gestaltNotificationMgrAttr

      gestaltNotificationMgrAttr

      .The Gestalt selector which you pass to the Gestalt function to determine Notification Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltNotificationPresent

      gestaltNotificationPresent

      True if the Notification Manager exists.

      Available in OS X v10.0 and later.

  • Specifies information about the NuBus slot connector locations.

    Declaration

    Objective-C

    enum { gestaltNuBusConnectors = 'sltc' };

    Constants

    • gestaltNuBusConnectors

      gestaltNuBusConnectors

      A bitmap that describes the NuBus slot connector locations. On a Macintosh II, for example, the return value would have bits 9 through 14 set, indicating that 6 NuBus slots are present, at locations 9 through 14.

      Available in OS X v10.0 and later.

  • Specifies information about the number of NuBus slots.

    Declaration

    Objective-C

    enum { gestaltNuBusSlotCount = 'nubs' };

  • Specify feature availability for the OCE Toolbox.

    Declaration

    Objective-C

    enum { gestaltOCEToolboxAttr = 'oceu', gestaltOCETBPresent = 0x01, gestaltOCETBAvailable = 0x02, gestaltOCESFServerAvailable = 0x04, gestaltOCETBNativeGlueAvailable = 0x10 };

  • Specify version information for the OCE Toolbox.

    Declaration

    Objective-C

    enum { gestaltOCEToolboxVersion = 'ocet', gestaltOCETB = 0x0102, gestaltSFServer = 0x0100 };

  • Specifies version information for Open Firmware.

    Declaration

    Objective-C

    enum { gestaltOpenFirmwareInfo = 'opfw' };

  • Specify feature availability for Open Firmware safe features.

    Declaration

    Objective-C

    enum { gestaltSafeOFAttr = 'safe', gestaltVMZerosPagesBit = 0, gestaltInitHeapZerosOutHeapsBit = 1, gestaltNewHandleReturnsZeroedMemoryBit = 2, gestaltNewPtrReturnsZeroedMemoryBit = 3, gestaltFileAllocationZeroedBlocksBit = 4 };

  • Specify version and feature availability information for Open Transport.

    Declaration

    Objective-C

    enum { gestaltOpenTpt = 'otan', gestaltOpenTptPresentMask = 0x00000001, gestaltOpenTptLoadedMask = 0x00000002, gestaltOpenTptAppleTalkPresentMask = 0x00000004, gestaltOpenTptAppleTalkLoadedMask = 0x00000008, gestaltOpenTptTCPPresentMask = 0x00000010, gestaltOpenTptTCPLoadedMask = 0x00000020, gestaltOpenTptIPXSPXPresentMask = 0x00000040, gestaltOpenTptIPXSPXLoadedMask = 0x00000080, gestaltOpenTptPresentBit = 0, gestaltOpenTptLoadedBit = 1, gestaltOpenTptAppleTalkPresentBit = 2, gestaltOpenTptAppleTalkLoadedBit = 3, gestaltOpenTptTCPPresentBit = 4, gestaltOpenTptTCPLoadedBit = 5, gestaltOpenTptIPXSPXPresentBit = 6, gestaltOpenTptIPXSPXLoadedBit = 7 };

  • Specify feature availability and setup information for Open Transport networking.

    Declaration

    Objective-C

    enum { gestaltOpenTptNetworkSetup = 'otcf', gestaltOpenTptNetworkSetupLegacyImport = 0, gestaltOpenTptNetworkSetupLegacyExport = 1, gestaltOpenTptNetworkSetupSupportsMultihoming = 2 };

  • Specifies the version of the Open Transport network setup.

    Declaration

    Objective-C

    enum { gestaltOpenTptNetworkSetupVersion = 'otcv' };

  • Specify feature availability for Open Transport remote access.

    Declaration

    Objective-C

    enum { gestaltOpenTptRemoteAccess = 'otra', gestaltOpenTptRemoteAccessPresent = 0, gestaltOpenTptRemoteAccessLoaded = 1, gestaltOpenTptRemoteAccessClientOnly = 2, gestaltOpenTptRemoteAccessPServer = 3, gestaltOpenTptRemoteAccessMPServer = 4, gestaltOpenTptPPPPresent = 5, gestaltOpenTptARAPPresent = 6 };

  • Specifies version information for Open Transport remote access.

    Declaration

    Objective-C

    enum { gestaltOpenTptRemoteAccessVersion = 'otrv' };

  • Specifies version information for Open Transport.

    Declaration

    Objective-C

    enum { gestaltOpenTptVersions = 'otvr' };

  • Specifies base address information for the operating system trap dispatch table.

    Declaration

    Objective-C

    enum { gestaltOSTable = 'ostt' };

    Constants

    • gestaltOSTable

      gestaltOSTable

      The selector you pass to the Gestalt function to determine the base address of the operating system trap dispatch table.

      Available in OS X v10.0 and later.

  • Specify feature availability for parity checking.

    Declaration

    Objective-C

    enum { gestaltParityAttr = 'prty', gestaltHasParityCapability = 0, gestaltParityEnabled = 1 };

    Constants

    • gestaltParityAttr

      gestaltParityAttr

      The selector you pass to the Gestalt function to determine information about the machine’s parity-checking features.

      Note that parity is not considered to be enabled unless all installed memory is parity RAM.

      Available in OS X v10.0 and later.

    • gestaltHasParityCapability

      gestaltHasParityCapability

      Available in OS X v10.0 and later.

    • gestaltParityEnabled

      gestaltParityEnabled

      Available in OS X v10.0 and later.

  • Specify version and feature availability information for a PC-compatibility card.

    Declaration

    Objective-C

    enum { gestaltPCCard = 'pccd', gestaltCardServicesPresent = 0, gestaltPCCardFamilyPresent = 1, gestaltPCCardHasPowerControl = 2, gestaltPCCardSupportsCardBus = 3 };

  • Specify feature availability information for PC Exchange.

    Declaration

    Objective-C

    enum { gestaltPCXAttr = 'pcxg', gestaltPCXHas8and16BitFAT = 0, gestaltPCXHasProDOS = 1, gestaltPCXNewUI = 2, gestaltPCXUseICMapping = 3 };

    Constants

    • gestaltPCXAttr

      gestaltPCXAttr

      The selector you pass to the Gestalt function to determine the PC Exchange attributes.

      Available in OS X v10.0 and later.

    • gestaltPCXHas8and16BitFAT

      gestaltPCXHas8and16BitFAT

      Available in OS X v10.0 and later.

    • gestaltPCXHasProDOS

      gestaltPCXHasProDOS

      Available in OS X v10.0 and later.

    • gestaltPCXNewUI

      gestaltPCXNewUI

      Available in OS X v10.0 and later.

    • gestaltPCXUseICMapping

      gestaltPCXUseICMapping

      Available in OS X v10.0 and later.

  • Specifies information about the size of the physical RAM.

    Declaration

    Objective-C

    enum { gestaltPhysicalRAMSize = 'ram ' };

    Constants

    • gestaltPhysicalRAMSize

      gestaltPhysicalRAMSize

      The selector you pass to the Gestalt function to determine the number of bytes of physical RAM currently installed.

      Available in OS X v10.0 and later.

  • Specify feature availability for pop-up controls.

    Declaration

    Objective-C

    enum { gestaltPopupAttr = 'pop!', gestaltPopupPresent = 0 };

    Constants

    • gestaltPopupAttr

      gestaltPopupAttr

      The selector you pass to the Gestalt function to determine the attribute of the pop-up control definition.

      Available in OS X v10.0 and later.

    • gestaltPopupPresent

      gestaltPopupPresent

      Available in OS X v10.0 and later.

  • Specify feature availability for the Power Manager.

    Declaration

    Objective-C

    enum { gestaltPowerMgrAttr = 'powr', gestaltPMgrExists = 0, gestaltPMgrCPUIdle = 1, gestaltPMgrSCC = 2, gestaltPMgrSound = 3, gestaltPMgrDispatchExists = 4, gestaltPMgrSupportsAVPowerStateAtSleepWake = 5 };

    Constants

    • gestaltPowerMgrAttr

      gestaltPowerMgrAttr

      The Gestalt selector you pass to determine which Power Manager capabilities are available.

      Available in OS X v10.0 and later.

    • gestaltPMgrExists

      gestaltPMgrExists

      If true, the Power Manager is present.

      Available in OS X v10.0 and later.

    • gestaltPMgrCPUIdle

      gestaltPMgrCPUIdle

      If true the CPU is capable of going into a low–power-consumption state.

      Available in OS X v10.0 and later.

    • gestaltPMgrSCC

      gestaltPMgrSCC

      If true, it is possible to stop the SCC clock, thus effectively turning off the serial ports.

      Available in OS X v10.0 and later.

    • gestaltPMgrSound

      gestaltPMgrSound

      If true, it is possible to turn off power to the sound circuits.

      Available in OS X v10.0 and later.

    • gestaltPMgrDispatchExists

      gestaltPMgrDispatchExists

      If true, Dispatch is present.

      Available in OS X v10.0 and later.

    • gestaltPMgrSupportsAVPowerStateAtSleepWake

      gestaltPMgrSupportsAVPowerStateAtSleepWake

      Available in OS X v10.0 and later.

  • Specifies version information for the Power Manager.

    Declaration

    Objective-C

    enum { gestaltPowerMgrVers = 'pwrv' };

  • Specify feature availability for PowerPC processors.

    Declaration

    Objective-C

    enum { gestaltPowerPCProcessorFeatures = 'ppcf', gestaltPowerPCHasGraphicsInstructions = 0, gestaltPowerPCHasSTFIWXInstruction = 1, gestaltPowerPCHasSquareRootInstructions = 2, gestaltPowerPCHasDCBAInstruction = 3, gestaltPowerPCHasVectorInstructions = 4, gestaltPowerPCHasDataStreams = 5 };

  • Specify feature availability for the PowerPC Toolbox.

    Declaration

    Objective-C

    enum { gestaltPPCToolboxAttr = 'ppc ', gestaltPPCToolboxPresent = 0x0000, gestaltPPCSupportsRealTime = 0x1000, gestaltPPCSupportsIncoming = 0x0001, gestaltPPCSupportsOutGoing = 0x0002, gestaltPPCSupportsTCP_IP = 0x0004, gestaltPPCSupportsIncomingAppleTalk = 0x0010, gestaltPPCSupportsIncomingTCP_IP = 0x0020, gestaltPPCSupportsOutgoingAppleTalk = 0x0100, gestaltPPCSupportsOutgoingTCP_IP = 0x0200 };

    Constants

    • gestaltPPCToolboxAttr

      gestaltPPCToolboxAttr

      The selector you pass to the Gestalt function to determine the Program-to-Program Communication (PPC) Toolbox attributes. Note that these constants are defined as masks, not bit numbers.

      Available in OS X v10.0 and later.

    • gestaltPPCToolboxPresent

      gestaltPPCToolboxPresent

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsRealTime

      gestaltPPCSupportsRealTime

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsIncoming

      gestaltPPCSupportsIncoming

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsOutGoing

      gestaltPPCSupportsOutGoing

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsTCP_IP

      gestaltPPCSupportsTCP_IP

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsIncomingAppleTalk

      gestaltPPCSupportsIncomingAppleTalk

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsIncomingTCP_IP

      gestaltPPCSupportsIncomingTCP_IP

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsOutgoingAppleTalk

      gestaltPPCSupportsOutgoingAppleTalk

      Available in OS X v10.0 and later.

    • gestaltPPCSupportsOutgoingTCP_IP

      gestaltPPCSupportsOutgoingTCP_IP

      Available in OS X v10.0 and later.

  • Specify feature availability information for preemptive system software functions.

    Declaration

    Objective-C

    enum { gestaltMPCallableAPIsAttr = 'mpsc', gestaltMPFileManager = 0, gestaltMPDeviceManager = 1, gestaltMPTrapCalls = 2 };

    Constants

    • gestaltMPCallableAPIsAttr

      gestaltMPCallableAPIsAttr

      The Gestalt selector passed to determine the availability of preemptive system software functions. The Gestalt function produces a 32-bit value that you should test to determine which what type of preemptive calls are allowed.

      Available in OS X v10.0 and later.

    • gestaltMPFileManager

      gestaltMPFileManager

      If this bit is set, you can call preemptively safe File Manager functions.

      Available in OS X v10.0 and later.

    • gestaltMPDeviceManager

      gestaltMPDeviceManager

      If this bit is set, you can call preemptively safe Device Manager function.

      Available in OS X v10.0 and later.

    • gestaltMPTrapCalls

      gestaltMPTrapCalls

      Available in OS X v10.0 and later.

    Discussion

    Before calling any Mac OS system software functions from a preemptive task , you should call the Gestalt function with the gestaltMPCallableAPIsAttr selector set to determine which preemptively safe system calls are allowed.

    Note that for functions that are shared between managers (for example, PBCloseSync), you should check the bit that is appropriate for the manager you want to call.

  • Specifies information about processor clock speed.

    Declaration

    Objective-C

    enum { gestaltProcClkSpeed = 'pclk' };

  • Specifies information about the type of microprocessor.

    Declaration

    Objective-C

    enum { gestaltProcessorType = 'proc', gestalt68000 = 1, gestalt68010 = 2, gestalt68020 = 3, gestalt68030 = 4, gestalt68040 = 5 };

    Constants

    • gestaltProcessorType

      gestaltProcessorType

      The selector you pass to the Gestalt function to determine the type of microprocessor currently running.

      Available in OS X v10.0 and later.

    • gestalt68000

      gestalt68000

      Available in OS X v10.0 and later.

    • gestalt68010

      gestalt68010

      Available in OS X v10.0 and later.

    • gestalt68020

      gestalt68020

      Available in OS X v10.0 and later.

    • gestalt68030

      gestalt68030

      Available in OS X v10.0 and later.

    • gestalt68040

      gestalt68040

      Available in OS X v10.0 and later.

  • Specifies alternate names for MacQuadra constants.

    Declaration

    Objective-C

    enum { gestaltQuadra605 = gestaltMacQuadra605, gestaltQuadra610 = gestaltMacQuadra610, gestaltQuadra630 = gestaltMacQuadra630, gestaltQuadra650 = gestaltMacQuadra650, gestaltQuadra660AV = gestaltMacQuadra660AV, gestaltQuadra700 = gestaltMacQuadra700, gestaltQuadra800 = gestaltMacQuadra800, gestaltQuadra840AV = gestaltMacQuadra840AV, gestaltQuadra900 = gestaltMacQuadra900, gestaltQuadra950 = gestaltMacQuadra950 };

  • Specify feature availability information for QuickDraw 3D.

    Declaration

    Objective-C

    enum { gestaltQD3D = 'qd3d', gestaltQD3DPresent = 0 };

  • Specify old feature availability information for QuickDraw 3D.

    Declaration

    Objective-C

    enum { gestaltQD3DNotPresent = (0 << gestaltQD3DPresent ), gestaltQD3DAvailable = (1 << gestaltQD3DPresent ) };

  • Specifies version information for QuickDraw 3D.

    Declaration

    Objective-C

    enum { gestaltQD3DVersion = 'q3v ' };

  • Specify feature availability information for QuickDraw 3D Viewer.

    Declaration

    Objective-C

    enum { gestaltQD3DViewer = 'q3vc', gestaltQD3DViewerPresent = 0 };

  • Specify feature availability information for QuickDraw.

    Declaration

    Objective-C

    enum { gestaltQuickdrawFeatures = 'qdrw', gestaltHasColor = 0, gestaltHasDeepGWorlds = 1, gestaltHasDirectPixMaps = 2, gestaltHasGrayishTextOr = 3, gestaltSupportsMirroring = 4, gestaltQDHasLongRowBytes = 5 };

    Constants

    • gestaltQuickdrawFeatures

      gestaltQuickdrawFeatures

      The selector you pass to the Gestalt function to determine the QuickDraw features.

      Available in OS X v10.0 and later.

    • gestaltHasColor

      gestaltHasColor

      Available in OS X v10.0 and later.

    • gestaltHasDeepGWorlds

      gestaltHasDeepGWorlds

      Available in OS X v10.0 and later.

    • gestaltHasDirectPixMaps

      gestaltHasDirectPixMaps

      Available in OS X v10.0 and later.

    • gestaltHasGrayishTextOr

      gestaltHasGrayishTextOr

      Available in OS X v10.0 and later.

    • gestaltSupportsMirroring

      gestaltSupportsMirroring

      Available in OS X v10.0 and later.

    • gestaltQDHasLongRowBytes

      gestaltQDHasLongRowBytes

      Available in OS X v10.0 and later.

  • Specify version information for QuickDraw.

    Declaration

    Objective-C

    enum { gestaltQuickdrawVersion = 'qd ', gestaltOriginalQD = 0x0000, gestalt8BitQD = 0x0100, gestalt32BitQD = 0x0200, gestalt32BitQD11 = 0x0201, gestalt32BitQD12 = 0x0220, gestalt32BitQD13 = 0x0230, gestaltAllegroQD = 0x0250, gestaltMacOSXQD = 0x0300 };

    Constants

    • gestaltQuickdrawVersion

      gestaltQuickdrawVersion

      The Gestalt selector you pass to determine what version of QuickDraw is present. For QuickDraw Text, the Gestalt selector you pass to determine what version of QuickDraw Text is present.

      Available in OS X v10.0 and later.

    • gestaltOriginalQD

      gestaltOriginalQD

      Available in OS X v10.0 and later.

    • gestalt8BitQD

      gestalt8BitQD

      Available in OS X v10.0 and later.

    • gestalt32BitQD

      gestalt32BitQD

      Available in OS X v10.0 and later.

    • gestalt32BitQD11

      gestalt32BitQD11

      Available in OS X v10.0 and later.

    • gestalt32BitQD12

      gestalt32BitQD12

      Available in OS X v10.0 and later.

    • gestalt32BitQD13

      gestalt32BitQD13

      Available in OS X v10.0 and later.

    • gestaltAllegroQD

      gestaltAllegroQD

      Available in OS X v10.0 and later.

    • gestaltMacOSXQD

      gestaltMacOSXQD

      Available in OS X v10.0 and later.

    Discussion

    The version of QuickDraw is encoded as a revision number in the low-order word of the return value. The high-order byte represents the major revision number, and the low-order byte represents the minor revision number. For example, version 1.3 of 32-Bit QuickDraw represents QuickDraw revision 2.3; its response value is $0230.

    Values having a major revision number of 1 or 2 indicate that Color QuickDraw is available, in either the 8-bit or 32-bit version. These results do not, however, indicate whether a color monitor is attached to the system. You must use high-level QuickDraw functions to obtain that information.

  • Specifies version information for the overall version of QuickDraw GX.

    Declaration

    Objective-C

    enum { gestaltGXVersion = 'qdgx' };

  • Specifies version information for QuickDraw GX printing.

    Declaration

    Objective-C

    enum { gestaltGXPrintingMgrVersion = 'pmgr' };

  • Specify version information for QuickDraw GX.

    Declaration

    Objective-C

    enum { gestaltGraphicsVersion = 'grfx', gestaltCurrentGraphicsVersion = 0x00010200 };

    Constants

    • gestaltGraphicsVersion

      gestaltGraphicsVersion

      Available in OS X v10.0 and later.

    • gestaltCurrentGraphicsVersion

      gestaltCurrentGraphicsVersion

      Available in OS X v10.0 and later.

  • Specify feature availability information for QuickDraw GX.

    Declaration

    Objective-C

    enum { gestaltGraphicsAttr = 'gfxa', gestaltGraphicsIsDebugging = 0x00000001, gestaltGraphicsIsLoaded = 0x00000002, gestaltGraphicsIsPowerPC = 0x00000004 };

  • Specify old feature availability information for QuickDraw 3D.

    Declaration

    Objective-C

    enum { gestaltQD3DViewerNotPresent = (0 << gestaltQD3DViewerPresent ), gestaltQD3DViewerAvailable = (1 << gestaltQD3DViewerPresent ) };

  • Specify feature availability information for QuickDraw Text.

    Declaration

    Objective-C

    enum { gestaltQDTextFeatures = 'qdtf', gestaltWSIISupport = 0, gestaltSbitFontSupport = 1, gestaltAntiAliasedTextAvailable = 2, gestaltOFA2available = 3, gestaltCreatesAliasFontRsrc = 4, gestaltNativeType1FontSupport = 5, gestaltCanUseCGTextRendering = 6 };

    Constants

    • gestaltQDTextFeatures

      gestaltQDTextFeatures

      Available in OS X v10.0 and later.

    • gestaltWSIISupport

      gestaltWSIISupport

      WSII support is included.

      Available in OS X v10.0 and later.

    • gestaltSbitFontSupport

      gestaltSbitFontSupport

      sbit-only fonts are supported.

      Available in OS X v10.0 and later.

    • gestaltAntiAliasedTextAvailable

      gestaltAntiAliasedTextAvailable

      Capable of antialiased text.

      Available in OS X v10.0 and later.

    • gestaltOFA2available

      gestaltOFA2available

      OFA2 is available.

      Available in OS X v10.0 and later.

    • gestaltCreatesAliasFontRsrc

      gestaltCreatesAliasFontRsrc

      Available in OS X v10.0 and later.

    • gestaltNativeType1FontSupport

      gestaltNativeType1FontSupport

      Available in OS X v10.0 and later.

    • gestaltCanUseCGTextRendering

      gestaltCanUseCGTextRendering

      Available in OS X v10.2 and later.

    Discussion

    Before calling any function dependent upon QuickDraw Text, your application should pass the selector gestaltQDTextFeatures to the Gestalt function to determine the QuickDraw Text attributes that are present.

  • Specify version information for QuickDraw Text.

    Declaration

    Objective-C

    enum { gestaltQDTextVersion = 'qdtx', gestaltOriginalQDText = 0x0000, gestaltAllegroQDText = 0x0100, gestaltMacOSXQDText = 0x0200 };

    Constants

    • gestaltQDTextVersion

      gestaltQDTextVersion

      Available in OS X v10.0 and later.

    • gestaltOriginalQDText

      gestaltOriginalQDText

      This is the original version of QuickDraw Text, used through Mac OS 8.1.

      Available in OS X v10.0 and later.

    • gestaltAllegroQDText

      gestaltAllegroQDText

      This is the version of QuickDraw Text used with Mac OS 8.2 and up.

      Available in OS X v10.0 and later.

    • gestaltMacOSXQDText

      gestaltMacOSXQDText

      Available in OS X v10.0 and later.

    Discussion

    To determine the version of the current QuickDraw Text, your application should pass the selector gestaltQuickdrawVersion to the Gestalt function.

  • Specify feature availability information for QuickTime VR.

    Declaration

    Objective-C

    enum { gestaltQTVRMgrAttr = 'qtvr', gestaltQTVRMgrPresent = 0, gestaltQTVRObjMoviesPresent = 1, gestaltQTVRCylinderPanosPresent = 2, gestaltQTVRCubicPanosPresent = 3 };

  • Specifies version information for QuickTime VR.

    Declaration

    Objective-C

    enum { gestaltQTVRMgrVers = 'qtvv' };

  • Specify feature availability information for QuickTime.

    Declaration

    Objective-C

    enum { gestaltQuickTimeFeatures = 'qtrs', gestaltPPCQuickTimeLibPresent = 0 };

  • Specify version information for QuickTime.

    Declaration

    Objective-C

    enum { gestaltQuickTimeVersion = 'qtim', gestaltQuickTime = 'qtim' };

    Constants

    • gestaltQuickTimeVersion

      gestaltQuickTimeVersion

      The selector you pass to the Gestalt function to determine the QuickTime version.

      Available in OS X v10.0 and later.

    • gestaltQuickTime

      gestaltQuickTime

      Available in OS X v10.0 and later.

  • Specifies information about QuickTime conferencing.

    Declaration

    Objective-C

    enum { gestaltQuickTimeConferencingInfo = 'qtci' };

    Constants

    • gestaltQuickTimeConferencingInfo

      gestaltQuickTimeConferencingInfo

      Available in OS X v10.0 and later.

  • Specifies availability information for QuickTime conferencing.

    Declaration

    Objective-C

    enum { gestaltQuickTimeConferencing = 'mtlk' };

  • Specify feature availability information for QuickTime streaming.

    Declaration

    Objective-C

    enum { gestaltQuickTimeStreamingFeatures = 'qtsf' };

  • Specifies version information for QuickTime streaming.

    Declaration

    Objective-C

    enum { gestaltQuickTimeStreamingVersion = 'qtst' };

  • Specifies information about the RBV base address.

    Declaration

    Objective-C

    enum { gestaltRBVAddr = 'rbv ' };

  • Specify feature availability information for the Realtime Manager.

    Declaration

    Objective-C

    enum { gestaltRealtimeMgrAttr = 'rtmr', gestaltRealtimeMgrPresent = 0 };

    Constants

    • gestaltRealtimeMgrAttr

      gestaltRealtimeMgrAttr

      The selector you pass to the Gestalt function to determine the Realtime Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltRealtimeMgrPresent

      gestaltRealtimeMgrPresent

      ( description forthcoming )

      Available in OS X v10.0 and later.

  • Specify feature availability information for Resource Manager bug fixes.

    Declaration

    Objective-C

    enum { gestaltResourceMgrBugFixesAttrs = 'rmbg', gestaltRMForceSysHeapRolledIn = 0, gestaltRMFakeAppleMenuItemsRolledIn = 1, gestaltSanityCheckResourceFiles = 2, gestaltSupportsFSpResourceFileAlreadyOpenBit = 3, gestaltRMSupportsFSCalls = 4, gestaltRMTypeIndexOrderingReverse = 8 };

  • Specify feature availability information for the Resource Manager.

    Declaration

    Objective-C

    enum { gestaltResourceMgrAttr = 'rsrc', gestaltPartialRsrcs = 0, gestaltHasResourceOverrides = 1 };

    Constants

    • gestaltResourceMgrAttr

      gestaltResourceMgrAttr

      The Gestalt selector you pass to determine which Resource Manager attributes are present.

      Available in OS X v10.0 and later.

    • gestaltPartialRsrcs

      gestaltPartialRsrcs

      If true, partial resources exist.

      Available in OS X v10.0 and later.

    • gestaltHasResourceOverrides

      gestaltHasResourceOverrides

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon the Resource Manager, your application should pass the selector gestaltResourceMgrAttr to the Gestalt function to determine the Resource Manager attributes that are present.

  • Specifies information about ROM size information.

    Declaration

    Objective-C

    enum { gestaltROMSize = 'rom ' };

    Constants

    • gestaltROMSize

      gestaltROMSize

      The selector you pass to the Gestalt function to determine the size of the installed ROM, in bytes. The value is returned in only one word.

      You should not infer the existence of certain hardware or software features from the responses that Gestalt returns when you pass it this selector.

      Available in OS X v10.0 and later.

  • Specifies ROM version information.

    Declaration

    Objective-C

    enum { gestaltROMVersion = 'romv' };

    Constants

    • gestaltROMVersion

      gestaltROMVersion

      This selector is NOT supported in Carbon.

      The selector you pass to the Gestalt function to determine the version number of the installed ROM (in the low-order word of the return value).

      Never infer the existence of certain hardware or software features from the responses that Gestalt returns when you pass it this selector.

      Available in OS X v10.0 and later.

  • Specifies information about the base address for reading SCC.

    Declaration

    Objective-C

    enum { gestaltSCCReadAddr = 'sccr' };

  • Specifies information about the base address for writing SCC.

    Declaration

    Objective-C

    enum { gestaltSCCWriteAddr = 'sccw' };

  • Specify feature availability information for the SCSI Manager.

    Declaration

    Objective-C

    enum { gestaltSCSI = 'scsi', gestaltAsyncSCSI = 0, gestaltAsyncSCSIINROM = 1, gestaltSCSISlotBoot = 2, gestaltSCSIPollSIH = 3 };

  • Specify version and feature availability information for the Scrap Manager.

    Declaration

    Objective-C

    enum { gestaltScrapMgrAttr = 'scra', gestaltScrapMgrTranslationAware = 0 };

    Constants

    • gestaltScrapMgrAttr

      gestaltScrapMgrAttr

      The Gestalt selector you pass to determine which Scrap Manager attributes are present.

      Available in OS X v10.0 and later.

    • gestaltScrapMgrTranslationAware

      gestaltScrapMgrTranslationAware

      If true, the Scrap Manager supports Translation Manager.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon the Scrap Manager, your application should pass the selector gestaltScrapMgrAttr to the Gestalt function to determine the Scrap Manager attributes that are present.

  • Specifies location information for screen capture.

    Declaration

    Objective-C

    enum { gestaltScreenCaptureMain = 'pic1', gestaltScreenCaptureDir = 'pic2' };

  • Specifies version information for the Script Manager.

    Declaration

    Objective-C

    enum { gestaltScriptMgrVersion = 'scri' };

    Constants

    • gestaltScriptMgrVersion

      gestaltScriptMgrVersion

      The selector you pass to the Gestalt function to determine the version number of the Script Manager (in the low-order word of the return value).

      Available in OS X v10.0 and later.

  • Specifies information about the number of active script systems.

    Declaration

    Objective-C

    enum { gestaltScriptCount = 'scr#' };

    Constants

    • gestaltScriptCount

      gestaltScriptCount

      The selector you pass to the Gestalt function to determine the number of script systems currently active.

      Available in OS X v10.0 and later.

  • Specify serial hardware attributes.

    Declaration

    Objective-C

    enum { gestaltSerialAttr = 'ser ', gestaltHasGPIaToDCDa = 0, gestaltHasGPIaToRTxCa = 1, gestaltHasGPIbToDCDb = 2, gestaltHidePortA = 3, gestaltHidePortB = 4, gestaltPortADisabled = 5, gestaltPortBDisabled = 6 };

    Constants

    • gestaltSerialAttr

      gestaltSerialAttr

      The selector you pass to the Gestalt function to determine the serial hardware attributes of the machine, such as whether or not the GPIa line is connected and can be used for external clocking.

      Available in OS X v10.0 and later.

    • gestaltHasGPIaToDCDa

      gestaltHasGPIaToDCDa

      Available in OS X v10.0 and later.

    • gestaltHasGPIaToRTxCa

      gestaltHasGPIaToRTxCa

      Available in OS X v10.0 and later.

    • gestaltHasGPIbToDCDb

      gestaltHasGPIbToDCDb

      Available in OS X v10.0 and later.

    • gestaltHidePortA

      gestaltHidePortA

      Available in OS X v10.0 and later.

    • gestaltHidePortB

      gestaltHidePortB

      Available in OS X v10.0 and later.

    • gestaltPortADisabled

      gestaltPortADisabled

      Available in OS X v10.0 and later.

    • gestaltPortBDisabled

      gestaltPortBDisabled

      Available in OS X v10.0 and later.

  • Specify feature availability information for serial port arbitration.

    Declaration

    Objective-C

    enum { gestaltArbitorAttr = 'arb ', gestaltSerialArbitrationExists = 0 };

  • Specify feature availability information for the Settings Manager.

    Declaration

    Objective-C

    enum { gestaltALMAttr = 'trip', gestaltALMPresent = 0, gestaltALMHasSFGroup = 1, gestaltALMHasCFMSupport = 2, gestaltALMHasRescanNotifiers = 3 };

    Discussion

    See also Settings Manager Version Selector.

  • Specifies location information for the Settings Manager.

    Declaration

    Objective-C

    enum { gestaltALMHasSFLocation = gestaltALMHasSFGroup };

  • Specifies version information for the Settings Manager.

    Declaration

    Objective-C

    enum { gestaltALMVers = 'walk' };

  • Specify shutdown attributes.

    Declaration

    Objective-C

    enum { gestaltShutdownAttributes = 'shut', gestaltShutdownHassdOnBootVolUnmount = 0 };

  • Specify single-window modes.

    Declaration

    Objective-C

    enum { gestaltHasSingleWindowModeBit = 8, gestaltHasSingleWindowModeMask = (1L << gestaltHasSingleWindowModeBit ) };

  • Specify feature availability for slots.

    Declaration

    Objective-C

    enum { gestaltSlotAttr = 'slot', gestaltSlotMgrExists = 0, gestaltNuBusPresent = 1, gestaltSESlotPresent = 2, gestaltSE30SlotPresent = 3, gestaltPortableSlotPresent = 4 };

    Constants

    • gestaltSlotAttr

      gestaltSlotAttr

      The selector you pass to the Gestalt function to determine the Slot Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltSlotMgrExists

      gestaltSlotMgrExists

      Available in OS X v10.0 and later.

    • gestaltNuBusPresent

      gestaltNuBusPresent

      Available in OS X v10.0 and later.

    • gestaltSESlotPresent

      gestaltSESlotPresent

      Available in OS X v10.0 and later.

    • gestaltSE30SlotPresent

      gestaltSE30SlotPresent

      Available in OS X v10.0 and later.

    • gestaltPortableSlotPresent

      gestaltPortableSlotPresent

      Available in OS X v10.0 and later.

  • Specifies information about the first physical slot in the computer.

    Declaration

    Objective-C

    enum { gestaltFirstSlotNumber = 'slt1' };

    Constants

    • gestaltFirstSlotNumber

      gestaltFirstSlotNumber

      The first physical slot.

      Available in OS X v10.0 and later.

  • Specify codes for software vendors.

    Declaration

    Objective-C

    enum { gestaltSoftwareVendorCode = 'srad', gestaltSoftwareVendorApple = 'Appl', gestaltSoftwareVendorLicensee = 'Lcns' };

  • Specify feature availability information for the Sound Manager.

    Declaration

    Objective-C

    enum { gestaltSoundAttr = 'snd ', gestaltStereoCapability = 0, gestaltStereoMixing = 1, gestaltSoundIOMgrPresent = 3, gestaltBuiltInSoundInput = 4, gestaltHasSoundInputDevice = 5, gestaltPlayAndRecord = 6, gestalt16BitSoundIO = 7, gestaltStereoInput = 8, gestaltLineLevelInput = 9, gestaltSndPlayDoubleBuffer = 10, gestaltMultiChannels = 11, gestalt16BitAudioSupport = 12 };

    Constants

    • gestaltSoundAttr

      gestaltSoundAttr

      The Gestalt selector which you pass to the Gestalt function.

      Available in OS X v10.0 and later.

    • gestaltStereoCapability

      gestaltStereoCapability

      Set if the built-in sound hardware is able to produce stereo sounds.

      Available in OS X v10.0 and later.

    • gestaltStereoMixing

      gestaltStereoMixing

      Set if the built-in sound hardware mixes both left and right channels of stereo sound into a single audio signal for the internal speaker.

      Available in OS X v10.0 and later.

    • gestaltSoundIOMgrPresent

      gestaltSoundIOMgrPresent

      Set if the Sound Input Manager is available.

      Available in OS X v10.0 and later.

    • gestaltBuiltInSoundInput

      gestaltBuiltInSoundInput

      Set if a built-in sound input device is available.

      Available in OS X v10.0 and later.

    • gestaltHasSoundInputDevice

      gestaltHasSoundInputDevice

      Set if a sound input device is available. This device can be either built-in or external.

      Available in OS X v10.0 and later.

    • gestaltPlayAndRecord

      gestaltPlayAndRecord

      Set if the built-in sound hardware is able to play and record sounds simultaneously. If this bit is clear, the built-in sound hardware can either play or record, but not do both at once. This bit is valid only if the gestaltBuiltInSoundInput bit is set, and it applies only to any built-in sound input and output hardware.

      Available in OS X v10.0 and later.

    • gestalt16BitSoundIO

      gestalt16BitSoundIO

      Set if the built-in sound hardware is able to play and record 16-bit samples. This indicates that built-in hardware necessary to handle 16-bit data is available.

      This bit is not defined for versions of the Sound Manager prior to version 3.0.

      Available in OS X v10.0 and later.

    • gestaltStereoInput

      gestaltStereoInput

      Set if the built-in sound hardware can record stereo sounds.

      This bit is not defined for versions of the Sound Manager prior to version 3.0.

      Available in OS X v10.0 and later.

    • gestaltLineLevelInput

      gestaltLineLevelInput

      Set if the built-in sound input port requires line level input.

      This bit is not defined for versions of the Sound Manager prior to version 3.0.

      Available in OS X v10.0 and later.

    • gestaltSndPlayDoubleBuffer

      gestaltSndPlayDoubleBuffer

      Set if the Sound Manager supports the play-from-disk functions.

      This bit is not defined for versions of the Sound Manager prior to version 3.0.

      Available in OS X v10.0 and later.

    • gestaltMultiChannels

      gestaltMultiChannels

      Set if the Sound Manager supports multiple channels of sound.

      This bit is not defined for versions of the Sound Manager prior to version 3.0.

      Available in OS X v10.0 and later.

    • gestalt16BitAudioSupport

      gestalt16BitAudioSupport

      Set if the Sound Manager can handle 16-bit audio data. This indicates that software necessary to handle 16-bit data is available.

      This bit is not defined for versions of the Sound Manager prior to version 3.0.

      Available in OS X v10.0 and later.

    Discussion

    You can pass the gestaltSoundAttr selector to the Gestalt function to determine information about the sound input capabilities of a Macintosh computer.

    The Gestalt function returns information by setting or clearing bits in the response parameter. The bits relevant to the Sound Input Manager are defined by constants.

  • Specify feature availability information for the Speech Manager.

    Declaration

    Objective-C

    enum { gestaltSpeechAttr = 'ttsc', gestaltSpeechMgrPresent = 0, gestaltSpeechHasPPCGlue = 1 };

    Constants

    • gestaltSpeechAttr

      gestaltSpeechAttr

      The selector you pass to the Gestalt function to determine the Speech Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltSpeechMgrPresent

      gestaltSpeechMgrPresent

      Available in OS X v10.0 and later.

    • gestaltSpeechHasPPCGlue

      gestaltSpeechHasPPCGlue

      Available in OS X v10.0 and later.

  • Specifies version information for the Speech Recognition Manager.

    Declaration

    Objective-C

    enum { gestaltSpeechRecognitionVersion = 'srtb' };

  • Specify feature availability information for the Speech Recognition Manager.

    Declaration

    Objective-C

    enum { gestaltSpeechRecognitionAttr = 'srta', gestaltDesktopSpeechRecognition = 1, gestaltTelephoneSpeechRecognition = 2 };

    Constants

    • gestaltSpeechRecognitionAttr

      gestaltSpeechRecognitionAttr

      The selector which you pass to the Gestalt function to determine the Speech Recognition Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltDesktopSpeechRecognition

      gestaltDesktopSpeechRecognition

      If this bit is set, the Speech Recognition Manager supports the desktop microphone.

      Available in OS X v10.0 and later.

    • gestaltTelephoneSpeechRecognition

      gestaltTelephoneSpeechRecognition

      If this bit is set, the Speech Recognition Manager supports telephone input. In versions 1.5 and earlier, this bit is always 0.

      Available in OS X v10.0 and later.

    Discussion

    You can pass the gestaltSpeechRecognitionAttr selector to the Gestalt function to get the attributes of the Speech Recognition Manager. Gestalt returns information to you by returning a long word in the response parameter. The returned values are defined by these constants.

  • Specifies version information for the standard directory find panel.

    Declaration

    Objective-C

    enum { gestaltSDPFindVersion = 'dfnd' };

  • Specifies version information for the standard directory prompt panel.

    Declaration

    Objective-C

    enum { gestaltSDPPromptVersion = 'prpv' };

  • Specifies version information for the standard directory.

    Declaration

    Objective-C

    enum { gestaltSDPStandardDirectoryVersion = 'sdvr' };

  • Specify feature availability information for the startup disk.

    Declaration

    Objective-C

    enum { gestaltSplitOSAttr = 'spos', gestaltSplitOSBootDriveIsNetworkVolume = 0, gestaltSplitOSAware = 1, gestaltSplitOSEnablerVolumeIsDifferentFromBootVolume = 2, gestaltSplitOSMachineNameSetToNetworkNameTemp = 3, gestaltSplitOSMachineNameStartupDiskIsNonPersistent = 5 };

  • Specify feature availability information for Standard File.

    Declaration

    Objective-C

    enum { gestaltStandardFileAttr = 'stdf', gestaltStandardFile58 = 0, gestaltStandardFileTranslationAware = 1, gestaltStandardFileHasColorIcons = 2, gestaltStandardFileUseGenericIcons = 3, gestaltStandardFileHasDynamicVolumeAllocation = 4 };

    Constants

    • gestaltStandardFileAttr

      gestaltStandardFileAttr

      The selector you pass to the Gestalt function to determine the Standard File Package attributes.

      Available in OS X v10.0 and later.

    • gestaltStandardFile58

      gestaltStandardFile58

      If the gestaltStandardFile58 flag bit is set, you can call the four new procedures—StandardPutFile, StandardGetFile, CustomPutFile, and CustomGetFile—introduced with System 7. (The name of the constant reflects the enabling of selectors 5 through 8 on the trap macro that handles the Standard File Package.)

      Available in OS X v10.0 and later.

    • gestaltStandardFileTranslationAware

      gestaltStandardFileTranslationAware

      Available in OS X v10.0 and later.

    • gestaltStandardFileHasColorIcons

      gestaltStandardFileHasColorIcons

      Available in OS X v10.0 and later.

    • gestaltStandardFileUseGenericIcons

      gestaltStandardFileUseGenericIcons

      Available in OS X v10.0 and later.

    • gestaltStandardFileHasDynamicVolumeAllocation

      gestaltStandardFileHasDynamicVolumeAllocation

      Available in OS X v10.0 and later.

  • Specify the native system architecture.

    Declaration

    Objective-C

    enum { gestaltSysArchitecture = 'sysa', gestalt68k = 1, gestaltPowerPC = 2, gestaltIntel = 10 };

    Constants

    • gestaltSysArchitecture

      gestaltSysArchitecture

      The selector you pass to the Gestalt function to determine the native system architecture.

      Available in OS X v10.0 and later.

    • gestalt68k

      gestalt68k

      If the Gestalt function returns gestalt68k, the system is a MC680x0 Macintosh.

      Available in OS X v10.0 and later.

    • gestaltPowerPC

      gestaltPowerPC

      If the Gestalt function returns gestaltPowerPC, the system is a PowerPC Macintosh.

      Available in OS X v10.0 and later.

    • gestaltIntel

      gestaltIntel

      If the Gestalt function returns gestaltIntel, the system is is an Intel-based Macintosh.

      Available in OS X v10.0 and later.

  • Indicates version information for system updates.

    Declaration

    Objective-C

    enum { gestaltSystemUpdateVersion = 'sysu' };

  • Indicates operating system version information.

    Declaration

    Objective-C

    enum { gestaltSystemVersion = 'sysv' gestaltSystemVersionMajor = 'sys1', gestaltSystemVersionMinor = 'sys2', gestaltSystemVersionBugFix = 'sys3' };

    Constants

    • gestaltSystemVersion

      gestaltSystemVersion

      Indicates the version number of the operating system, with limitations on the values returned.

      If the values of the minor or bug fix revision are larger than 9, then gestaltSystemVersion will substitute the value 9 for them. For example, when running OS X v10.3.15, this selector returns 0x1039. When running OS X v10.10.5, this selector returns 0x1095.

      For OS X, the version representations are as shown in Table 1.

      Table 1Representation of OS X versions for the gestaltSystemVersion selector

      OS X version

      Representation

      10.0

      0x1000

      10.1

      0x1010

      10.2

      0x1020

      10.3

      0x1030

      10.4

      0x1040

      For systems prior to OS X, the version is represented as four hexadecimal digits in the low-order word of the return value. For example, if your application is running in version 7.0.1, then Gestalt returns the value 0x0701. Ignore the high-order word of the returned value.

      Available in OS X v10.0 and later.

      Deprecated in OS X v10.8.

    • gestaltSystemVersionMajor

      gestaltSystemVersionMajor

      The major operating system version number. For example, in 10.4.12 this would be the decimal value 10.

      Available in OS X v10.0 and later.

      Deprecated in OS X v10.8.

    • gestaltSystemVersionMinor

      gestaltSystemVersionMinor

      The minor operating system version number. For example, in 10.4.12 this would be the decimal value 4.

      Available in OS X v10.0 and later.

      Deprecated in OS X v10.8.

    • gestaltSystemVersionBugFix

      gestaltSystemVersionBugFix

      The bug fix version number. For example, in 10.4.12 this would be the decimal value 12.

      Available in OS X v10.0 and later.

      Deprecated in OS X v10.8.

    Discussion

    Use the gestaltSystemVersionMajor, gestaltSystemVersionMinor, and gestaltSystemVersionBugFix selectors in concert to obtain the operating system version. Do not use the gestaltSystemVersion selector for this purpose.

  • Specify feature availability information for the Telephone Manager.

    Declaration

    Objective-C

    enum { gestaltTeleMgrAttr = 'tele', gestaltTeleMgrPresent = 0, gestaltTeleMgrPowerPCSupport = 1, gestaltTeleMgrSoundStreams = 2, gestaltTeleMgrAutoAnswer = 3, gestaltTeleMgrIndHandset = 4, gestaltTeleMgrSilenceDetect = 5, gestaltTeleMgrNewTELNewSupport = 6 };

  • Specify feature availability information for the Terminal Manager.

    Declaration

    Objective-C

    enum { gestaltTermMgrAttr = 'term', gestaltTermMgrPresent = 0, gestaltTermMgrErrorString = 2 };

    Constants

    • gestaltTermMgrAttr

      gestaltTermMgrAttr

      The selector you pass to the Gestalt function to determine the Terminal Manager attributes.

      Available in OS X v10.0 and later.

    • gestaltTermMgrPresent

      gestaltTermMgrPresent

      Available in OS X v10.0 and later.

    • gestaltTermMgrErrorString

      gestaltTermMgrErrorString

      Available in OS X v10.0 and later.

  • Specify feature availability information for TextEdit.

    Declaration

    Objective-C

    enum { gestaltTEAttr = 'teat', gestaltTEHasGetHiliteRgn = 0, gestaltTESupportsInlineInput = 1, gestaltTESupportsTextObjects = 2, gestaltTEHasWhiteBackground = 3 };

    Constants

    • gestaltTEAttr

      gestaltTEAttr

      The Gestalt selector you pass to determine whichTextEdit attributes are present.

      Available in OS X v10.0 and later.

    • gestaltTEHasGetHiliteRgn

      gestaltTEHasGetHiliteRgn

      If true, TextEdit has TEGetHiliteRgn.

      Available in OS X v10.0 and later.

    • gestaltTESupportsInlineInput

      gestaltTESupportsInlineInput

      If true, TextEdit does Inline Input.

      Available in OS X v10.0 and later.

    • gestaltTESupportsTextObjects

      gestaltTESupportsTextObjects

      If true, TextEdit does Text Objects.

      Available in OS X v10.0 and later.

    • gestaltTEHasWhiteBackground

      gestaltTEHasWhiteBackground

      If true, TextEdit supports overriding the TERec' data structure background field to white.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon TextEdit, your application should pass the selector gestaltTEAttr to the Gestalt function to determine the TextEdit attributes that are present.

  • Specify version information for TextEdit.

    Declaration

    Objective-C

    enum { gestaltTextEditVersion = 'te ', gestaltTE1 = 1, gestaltTE2 = 2, gestaltTE3 = 3, gestaltTE4 = 4, gestaltTE5 = 5 };

    Constants

    • gestaltTextEditVersion

      gestaltTextEditVersion

      The Gestalt selector you pass to determine what version of TextEdit is present.

      Available in OS X v10.0 and later.

    • gestaltTE1

      gestaltTE1

      The version of TextEdit found in Mac IIci ROM.

      Available in OS X v10.0 and later.

    • gestaltTE2

      gestaltTE2

      The version of TextEdit shipped with 6.0.4 Script Systems on Mac IIci (Script bug fixes for Mac IIci).

      Available in OS X v10.0 and later.

    • gestaltTE3

      gestaltTE3

      The version of TextEdit shipped with 6.0.4 Script Systems (all but Mac IIci).

      Available in OS X v10.0 and later.

    • gestaltTE4

      gestaltTE4

      The version of TextEdit shipped in System 7.0.

      Available in OS X v10.0 and later.

    • gestaltTE5

      gestaltTE5

      TextWidthHook is available in TextEdit.

      Available in OS X v10.0 and later.

    Discussion

    To determine the version of the current TextEdit, your application should pass the selector gestalt TextEditVersion to the Gestalt function.

  • Specify feature availability information for the Text Services Manager.

    Declaration

    Objective-C

    enum { gestaltTSMgrAttr = 'tsma', gestaltTSMDisplayMgrAwareBit = 0, gestaltTSMdoesTSMTEBit = 1 };

  • Specifies version information for the Text Services Manager.

    Declaration

    Objective-C

    enum { gestaltTSMgrVersion = 'tsmv', gestaltTSMgr15 = 0x0150, gestaltTSMgr20 = 0x0200 };

    Constants

    • gestaltTSMgrVersion

      gestaltTSMgrVersion

      The selector you pass to the Gestalt function to determine the version of the Text Services Manager.

      Available in OS X v10.0 and later.

    • gestaltTSMgr15

      gestaltTSMgr15

      Available in OS X v10.0 and later.

    • gestaltTSMgr20

      gestaltTSMgr20

      Available in OS X v10.0 and later.

  • Specify feature availability information for the Thread Manager.

    Declaration

    Objective-C

    enum { gestaltThreadMgrAttr = 'thds', gestaltThreadMgrPresent = 0, gestaltSpecificMatchSupport = 1, gestaltThreadsLibraryPresent = 2 };

    Constants

    • gestaltThreadMgrAttr

      gestaltThreadMgrAttr

      Available in OS X v10.0 and later.

    • gestaltThreadMgrPresent

      gestaltThreadMgrPresent

      This bit is set if the Thread Manager is present.

      Available in OS X v10.0 and later.

    • gestaltSpecificMatchSupport

      gestaltSpecificMatchSupport

      This bit is set if the Thread Manager supports the allocation of threads based on an exact match with the requested stack size. If this bit is not set, the Thread Manager allocates threads based on the closest match to the requested stack size.

      Available in OS X v10.0 and later.

    • gestaltThreadsLibraryPresent

      gestaltThreadsLibraryPresent

      This bit is set if the native version of the threads library has been loaded.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon the Thread Manager, your application should pass the selector gestaltThreadMgrAttr to the Gestalt function to determine the Thread Manager attributes that are present.

  • Specify version information for the Time Manager.

    Declaration

    Objective-C

    enum { gestaltTimeMgrVersion = 'tmgr', gestaltStandardTimeMgr = 1, gestaltRevisedTimeMgr = 2, gestaltExtendedTimeMgr = 3, gestaltNativeTimeMgr = 4 };

    Constants

    • gestaltTimeMgrVersion

      gestaltTimeMgrVersion

      The Gestalt selector you pass to determine what version of the Time Manager is present.

      Available in OS X v10.0 and later.

    • gestaltStandardTimeMgr

      gestaltStandardTimeMgr

      If this bit is set, the original Time Manager is present.

      Available in OS X v10.0 and later.

    • gestaltRevisedTimeMgr

      gestaltRevisedTimeMgr

      If this bit is set, the revised Time Manager is present.

      Available in OS X v10.0 and later.

    • gestaltExtendedTimeMgr

      gestaltExtendedTimeMgr

      If this bit is set, the extended Time Manager is present.

      Available in OS X v10.0 and later.

    • gestaltNativeTimeMgr

      gestaltNativeTimeMgr

      If this bit is set, the native Time Manager is present.

      Available in OS X v10.0 and later.

    Discussion

    To determine the version of the current Time Manager, your application should pass the selector gestaltTimeMgrVersion to the Gestalt function.

  • Specifies base address information for the Toolbox trap dispatch table.

    Declaration

    Objective-C

    enum { gestaltToolboxTable = 'tbtt' };

    Constants

    • gestaltToolboxTable

      gestaltToolboxTable

      The selector you pass to the Gestalt function to determine the base address of the Toolbox trap dispatch table.

      Available in OS X v10.0 and later.

  • Specifies address information for the second half of the Toolbox trap table.

    Declaration

    Objective-C

    enum { gestaltExtToolboxTable = 'xttt' };

    Constants

    • gestaltExtToolboxTable

      gestaltExtToolboxTable

      The base address of the second half of the Toolbox trap table if the table is discontiguous. If the table is contiguous, this selector returns 0.

      Available in OS X v10.0 and later.

  • Specify feature availability information for the Translation Manager.

    Declaration

    Objective-C

    enum { gestaltTranslationAttr = 'xlat', gestaltTranslationMgrExists = 0, gestaltTranslationMgrHintOrder = 1, gestaltTranslationPPCAvail = 2, gestaltTranslationGetPathAPIAvail = 3 };

    Constants

    • gestaltTranslationAttr

      gestaltTranslationAttr

      The Gestalt selector you pass to determine which Translation Manager attributes are present.

      Available in OS X v10.0 and later.

    • gestaltTranslationMgrExists

      gestaltTranslationMgrExists

      If true, the Translation Manager is present.

      Available in OS X v10.0 and later.

    • gestaltTranslationMgrHintOrder

      gestaltTranslationMgrHintOrder

      In earlier versions of the Translation Manager, the scrap hints in the DoTranslateScrapProcPtr function were reversed. In later versions, this was fixed. If this bit is true, this bug fix is in effect.

      Available in OS X v10.0 and later.

    • gestaltTranslationPPCAvail

      gestaltTranslationPPCAvail

      If true, the PowerPC Translation Library is available, and you can call the Translation Manager from native PowerPC code.

      Available in OS X v10.0 and later.

    • gestaltTranslationGetPathAPIAvail

      gestaltTranslationGetPathAPIAvail

      If true, the functions GetFileTranslationPath and GetPathTranslationDialog are available.

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent upon the Translation Manager your application should pass the selector gestaltTranslationAttr to the Gestalt function to determine the Translation Manager attributes that are present.

  • Specifies version information for the Text Services Manager integrated with TextEdit.

    Declaration

    Objective-C

    enum { gestaltTE6 = 6 };

  • Specify feature availability information for TSMTE.

    Declaration

    Objective-C

    enum { gestaltTSMTEAttr = 'tmTE', gestaltTSMTEPresent = 0, gestaltTSMTE = 0 };

  • Specify version information for TSMTE.

    Declaration

    Objective-C

    enum { gestaltTSMTEVersion = 'tmTV', gestaltTSMTE1 = 0x0100, gestaltTSMTE15 = 0x0150, gestaltTSMTE152 = 0x0152 };

  • Specifies feature availability information for the TV tuner.

    Declaration

    Objective-C

    enum { gestaltTVAttr = 'tv ', gestaltHasTVTuner = 0, gestaltHasSoundFader = 1, gestaltHasHWClosedCaptioning = 2, gestaltHasIRRemote = 3, gestaltHasVidDecoderScaler = 4, gestaltHasStereoDecoder = 5, gestaltHasSerialFader = 6, gestaltHasFMTuner = 7, gestaltHasSystemIRFunction = 8, gestaltIRDisabled = 9, gestaltINeedIRPowerOffConfirm = 10, gestaltHasZoomedVideo = 11 };

  • Specifies support information for communication between implementations of UDF .

    Declaration

    Objective-C

    enum { gestaltUDFSupport = 'kudf' };

  • Specifies feature availability information for USB.

    Declaration

    Objective-C

    enum { gestaltUSBAttr = 'usb ', gestaltUSBPresent = 0, gestaltUSBHasIsoch = 1 };

  • Specify version information for USB printer sharing.

    Declaration

    Objective-C

    enum { gestaltUSBPrinterSharingVersion = 'zak ', gestaltUSBPrinterSharingVersionMask = 0x0000FFFF, gestaltUSBPrinterSharingAttr = 'zak ', gestaltUSBPrinterSharingAttrMask = 0xFFFF0000, gestaltUSBPrinterSharingAttrRunning = 0x80000000, gestaltUSBPrinterSharingAttrBooted = 0x40000000 };

  • Specifies version information for USB.

    Declaration

    Objective-C

    enum { gestaltUSBVersion = 'usbv' };

  • Specifies base address information for VIA 1.

    Declaration

    Objective-C

    enum { gestaltVIA1Addr = 'via1' };

  • Specifies base address information for VIA 2.

    Declaration

    Objective-C

    enum { gestaltVIA2Addr = 'via2' };

  • Specify feature availability information for the Virtual Memory Manager.

    Declaration

    Objective-C

    enum { gestaltVMAttr = 'vm ', gestaltVMPresent = 0, gestaltVMHasLockMemoryForOutput = 1, gestaltVMFilemappingOn = 3, gestaltVMHasPagingControl = 4 };

    Constants

    • gestaltVMAttr

      gestaltVMAttr

      The Gestalt selector you pass to determine the virtual memory attributes that are present.

      Available in OS X v10.0 and later.

    • gestaltVMPresent

      gestaltVMPresent

      If true, virtual memory is present.

      Available in OS X v10.0 and later.

    • gestaltVMHasLockMemoryForOutput

      gestaltVMHasLockMemoryForOutput

      Available in OS X v10.0 and later.

    • gestaltVMFilemappingOn

      gestaltVMFilemappingOn

      Available in OS X v10.0 and later.

    • gestaltVMHasPagingControl

      gestaltVMHasPagingControl

      Available in OS X v10.0 and later.

    Discussion

    Before calling any function dependent on memory, your application should pass the selector gestaltVMAttr to the Gestalt function to determine the virtual memory attributes that are present.

  • Specifies file reference number information for the VM backing store.

    Declaration

    Objective-C

    enum { gestaltVMBackingStoreFileRefNum = 'vmbs' };

  • Specifies information about the VM type.

    Declaration

    Objective-C

    enum { gestaltVMInfoType = 'vmin', gestaltVMInfoSizeStorageType = 0, gestaltVMInfoSizeType = 1, gestaltVMInfoSimpleType = 2, gestaltVMInfoNoneType = 3 };

  • Specify feature availability information for Win32.

    Declaration

    Objective-C

    enum { gestaltX86Features = 'x86f', gestaltX86HasFPU = 0, gestaltX86HasVME = 1, gestaltX86HasDE = 2, gestaltX86HasPSE = 3, gestaltX86HasTSC = 4, gestaltX86HasMSR = 5, gestaltX86HasPAE = 6, gestaltX86HasMCE = 7, gestaltX86HasCX8 = 8, gestaltX86HasAPIC = 9, gestaltX86Reserved10 = 10, gestaltX86HasSEP = 11, gestaltX86HasMTRR = 12, gestaltX86HasPGE = 13, gestaltX86HasMCA = 14, gestaltX86HasCMOV = 15, gestaltX86HasPAT = 16, gestaltX86HasPSE36 = 17, gestaltX86HasMMX = 23, gestaltX86HasFXSR = 24 };

  • Specify feature availability information for the Window Manager.

    Declaration

    Objective-C

    enum { gestaltWindowMgrAttr = 'wind', gestaltWindowMgrPresent = (1L << 0), gestaltWindowMgrPresentBit = 0, gestaltExtendedWindowAttributes = 1, gestaltExtendedWindowAttributesBit = 1, gestaltHasFloatingWindows = 2, gestaltHasFloatingWindowsBit = 2, gestaltHasWindowBuffering = 3, gestaltHasWindowBufferingBit = 3, gestaltWindowLiveResizeBit = 4, gestaltWindowMinimizeToDockBit = 5, gestaltHasWindowShadowsBit = 6, gestaltSheetsAreWindowModalBit = 7, gestaltFrontWindowMayBeHiddenBit = 8, gestaltWindowMgrPresentMask = (1L << gestaltWindowMgrPresentBit ), gestaltExtendedWindowAttributesMask = (1L << gestaltExtendedWindowAttributesBit ), gestaltHasFloatingWindowsMask = (1L << gestaltHasFloatingWindowsBit ), gestaltHasWindowBufferingMask = (1L << gestaltHasWindowBufferingBit ), gestaltWindowLiveResizeMask = (1L << gestaltWindowLiveResizeBit ), gestaltWindowMinimizeToDockMask = (1L << gestaltWindowMinimizeToDockBit ), gestaltHasWindowShadowsMask = (1L << gestaltHasWindowShadowsBit ), gestaltSheetsAreWindowModalMask = (1L << gestaltSheetsAreWindowModalBit ), gestaltFrontWindowMayBeHiddenMask = (1L << gestaltFrontWindowMayBeHiddenBit ) };

    Constants

    • gestaltWindowMgrAttr

      gestaltWindowMgrAttr

      The Gestalt selector passed to determine what features of the Window Manager are present. This selector is available with Mac OS 8.5 and later. The Gestalt function produces a 32-bit value whose bits you should test to determine which Window Manager features are available.

      Available in OS X v10.0 and later.

    • gestaltWindowMgrPresent

      gestaltWindowMgrPresent

      If the bit specified by this mask is set, the Window Manager functionality for Appearance Manager 1.1 is available. This bit is set for Mac OS 8.5 and later.

      Available in OS X v10.0 and later.

    • gestaltWindowMgrPresentBit

      gestaltWindowMgrPresentBit

      Available in OS X v10.0 and later.

    • gestaltExtendedWindowAttributes

      gestaltExtendedWindowAttributes

      Available in OS X v10.0 and later.

    • gestaltExtendedWindowAttributesBit

      gestaltExtendedWindowAttributesBit

      Available in OS X v10.0 and later.

    • gestaltHasFloatingWindows

      gestaltHasFloatingWindows

      Available in OS X v10.0 and later.

    • gestaltHasFloatingWindowsBit

      gestaltHasFloatingWindowsBit

      Available in OS X v10.0 and later.

    • gestaltHasWindowBuffering

      gestaltHasWindowBuffering

      Available in OS X v10.0 and later.

    • gestaltHasWindowBufferingBit

      gestaltHasWindowBufferingBit

      Available in OS X v10.0 and later.

    • gestaltWindowLiveResizeBit

      gestaltWindowLiveResizeBit

      Available in OS X v10.0 and later.

    • gestaltWindowMinimizeToDockBit

      gestaltWindowMinimizeToDockBit

      Available in OS X v10.0 and later.

    • gestaltHasWindowShadowsBit

      gestaltHasWindowShadowsBit

      Available in OS X v10.0 and later.

    • gestaltSheetsAreWindowModalBit

      gestaltSheetsAreWindowModalBit

      Available in OS X v10.0 and later.

    • gestaltFrontWindowMayBeHiddenBit

      gestaltFrontWindowMayBeHiddenBit

      Available in OS X v10.2 and later.

    • gestaltWindowMgrPresentMask

      gestaltWindowMgrPresentMask

      Available in OS X v10.0 and later.

    • gestaltExtendedWindowAttributesMask

      gestaltExtendedWindowAttributesMask

      Available in OS X v10.0 and later.

    • gestaltHasFloatingWindowsMask

      gestaltHasFloatingWindowsMask

      Available in OS X v10.0 and later.

    • gestaltHasWindowBufferingMask

      gestaltHasWindowBufferingMask

      Available in OS X v10.0 and later.

    • gestaltWindowLiveResizeMask

      gestaltWindowLiveResizeMask

      Available in OS X v10.0 and later.

    • gestaltWindowMinimizeToDockMask

      gestaltWindowMinimizeToDockMask

      Available in OS X v10.0 and later.

    • gestaltHasWindowShadowsMask

      gestaltHasWindowShadowsMask

      Available in OS X v10.0 and later.

    • gestaltSheetsAreWindowModalMask

      gestaltSheetsAreWindowModalMask

      Available in OS X v10.0 and later.

    • gestaltFrontWindowMayBeHiddenMask

      gestaltFrontWindowMayBeHiddenMask

      Available in OS X v10.2 and later.

    Discussion

    Before calling any functions dependent on the Window Manager, your application should pass the selector gestaltWindowMgrAttr to the Gestalt function to determine which Window Manager functions are available.

  • Specify version information for WorldScript II.

    Declaration

    Objective-C

    enum { gestaltWorldScriptIIVersion = 'doub', gestaltWorldScriptIIAttr = 'wsat', gestaltWSIICanPrintWithoutPrGeneralBit = 0 };

Result Codes

The most common result codes returned by the Gestalt Manager are listed below.

  • Specifies an unknown error.

    Value

    -5550

    Description

    Specifies an unknown error.

    Available in OS X v10.0 and later.

  • Specifies an undefined selector was passed to the Gestalt Manager.

    Value

    -5551

    Description

    Specifies an undefined selector was passed to the Gestalt Manager.

    Available in OS X v10.0 and later.

  • Specifies you tried to add an entry that already existed.

    Value

    -5552

    Description

    Specifies you tried to add an entry that already existed.

    Available in OS X v10.0 and later.

  • Specifies the gestalt function ptr was not in the system heap.

    Value

    -5553

    Description

    Specifies the gestalt function ptr was not in the system heap.

    Available in OS X v10.0 and later.