Obtains information about the operating environment.
- macOS 10.0–10.8Deprecated
- Core Services
The selector code for the information you need. You can provide any of the four-character sequences defined in Constants.
Gestaltinterprets this parameter as an address at which it is to place the result returned by the selector function.
Gestaltignores 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
Gestaltfunction 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.
A result code. See Gestalt Manager.
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.
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.
machine selectors are not supported in Carbon.
In general, the
Gestalt function returns a different result when called from a Carbon application running in macOS than it returns when called from a Classic application in macOS, 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.