# Types and Constants

2005 Free Software Foundation, Inc.
Type index
Variable index
Constant index
NSArchiver constants

Specified in OpenStep to be raised by NSArchiver or subclasses if there are problems initializing or encoding. Not currently used. NSInternalInconsistencyException usually raised instead.
NSBundle constants

Notification posted when a bundle is loaded. The notification object is the NSBundle itself. The notification also contains a userInfo dictionary, containing the single key ' `NSLoadedClasses` ', mapped to an NSArray containing the names of each class and category loaded (as strings).
When an NSBundle loads classes and posts a `NSBundleDidLoadNotification`, its userInfo dictionary contains this key, mapped to an NSArray containing the names of each class and category loaded (as strings).
A user default affecting the behavior of [NSBundle -localizedStringForKey:value:table:]. If set, the value of the key will be returned as an uppercase string rather than any localized equivalent found. This can be useful during development to check where a given string in the UI is "coming from".
NSClassDescription constants

Posted by [NSClassDescription +classDescriptionForClass:] when a class description cannot be found for a class. The implementation will check again after the notification is (synchronously) processed, allowing descriptions to be registered lazily.
NSConnection constants

Posted when an NSConnection is deallocated or it is notified its port is deactivated. (Note, connections to remote ports don't get such a notification.) Receivers should deregister themselves for notifications from the given connection.
Posted when an NSConnection is initialized.
GNUstep-specific key for dictionary returned by [NSConnection -statistics] : number of local objects currently in use remotely.
GNUstep-specific key for dictionary returned by [NSConnection -statistics] : number of remote objects currently in use.
Key for dictionary returned by [NSConnection -statistics] : number of messages replied to so far by the remote connection.
Key for dictionary returned by [NSConnection -statistics] : number of messages sent so far to the remote connection.
NSRunLoop
mode for NSConnection objects waiting for replies. Mainly used internally by distributed objects system.
Key for dictionary returned by [NSConnection -statistics] : number of messages received so far from the remote connection.
Key for dictionary returned by [NSConnection -statistics] : number of messages sent so far to the remote connection.
Raised by an NSConnection on receiving a message that it or its delegate cannot authenticate.
NSDate constants

Description forthcoming.
Time interval between the unix standard reference date of 1 January 1970 and the OpenStep reference date of 1 January 2001
This number comes from:
(((31 years * 365 days) + 8 days for leap years) = total number of days
24 hours * 60 minutes * 60 seconds)
This ignores leap-seconds.
NSDistributedNotificationCenter constants

Type of [NSDistributedNotificationCenter +notificationCenterForType:] - localhost and LAN broadcast. This type is available only on GNUstep.
Type of [NSDistributedNotificationCenter +notificationCenterForType:] - all users on the local host. This type is available only on GNUstep.
Type for [NSDistributedNotificationCenter +notificationCenterForType:] - localhost current user broadcast only. This is the only type on OS X.
NSError constants

Domain for Foundation and AppKit (base and gui) errors.
This key can be used to store the file path of a resource involved in the error (eg unreadable file).
Key for user info dictionary component which describes the error in a human readable format.
Key to store a string describing what caused the error to occur.
Key to store an NSArray of strings suitable for use as the titles of buttons in an alert panel used to attempt error recovery in a GUI application.
Key to store a string providing a hint on how to use the buttons in an alert panel.
Domain for system errors (on MACH).
Domain for system errors.
Domain for system and system library errors.
Key to store an object which can be used to attempt to recover from the error.
Key for an NSNumber containing an NSStringEncoding value.
NSURL to indicate the URL which did not load, in the NSURLErrorDomain.
NSString in the NSURLDomain to indicate the object for the URL that did not load. This supersedes NSErrorFailingURLStringKey
This can be used to store the URLK involved in the error.
Where one error has caused another, the underlying error can be stored in the user info dictionary using this key.
NSException constants

Description forthcoming.
An exception when character set conversion fails.
Attempt to use an invalidated destination.
A generic exception for general purpose usage.
An exception for cases where unexpected state is detected within an object.
An exception used when an invalid argument is passed to a method or function.
Attempt to use a receive port which has been invalidated.
Attempt to use a send port which has been invalidated.
An exception used when the system fails to allocate required memory.
An exception when a remote object is sent a message from a thread unable to access the object.
Attempt to send to an object which is no longer available.
UNused... for MacOS-X compatibility.
An exception used when some form of parsing fails.
Some failure to receive on a port.
Some failure to send on a port.
Exception raised by NSPort , NSConnection , and friends if sufficient time elapses while waiting for a response, or if the receiving port is invalidated before a request can be received. See [NSConnection -setReplyTimeout:].
An exception used when an illegal range is encountered... usually this is used to provide more information than an invalid argument exception.
NSFileHandle constants

Notification posted when an asynchronous NSFileHandle connection attempt (to an FTP, HTTP, or other internet server) has succeeded.
Message describing error in asynchronous NSFileHandle accept,read,write operation.
Notification posted when an asynchronous NSFileHandle write operation (to an FTP, HTTP, or other internet server) has succeeded.
Dictionary key for the path to a PEM encoded certificate authority file.
Dictionary key for the path to a PEM encoded certificate used to identify this end of a connection.
Dictionary key for the path to a PEM encoded private key used to unlock the certificate used by this end of a connection.
Dictionary key for the password used to decrypt the key file used to unlock the certificate used by this end of a connection.
Dictionary key for a boolean to enable TLS debug for a session.
Dictionary key for a GNUTLS priority setting for a session.
Dictionary key for a list of hosts to use in certificate verification.
Dictionary key for the path to a PEM encoded certificate revocation file.
Dictionary key for the value controlling the Server Name Indication (SNI) sent as part of the TLS handshake.
Dictionary key for a boolean to enable certificate verification.
Posted when one of the NSFileHandle methods `acceptConnectionInBackground...` succeeds and has connected to a stream-type socket in another process. The notification's userInfo dictionary will contain the NSFileHandle for the near end of the connection (associated to the key ' `NSFileHandleNotificationFileHandleItem` ').
Posted when one of the NSFileHandle methods `waitForDataInBackground...` has been informed that data is available. The receiving NSFileHandle is passed in the notification.
Dictionary key for NSFileHandle notifications used to access an NSData object containing received data.
Dictionary key for NSFileHandle notifications used to mark the NSFileHandle that has established a stream-socket connection.
Dictionary key for NSFileHandle notifications postable to certain run loop modes, associated to an NSArray containing the modes allowed.
Exception raised when attempts to read from an NSFileHandle channel fail.
An exception used when a file error occurs.
Posted when one of the NSFileHandle methods readDataInBackground... has consumed data. The receiving NSFileHandle is passed in the notification's userInfo dictionary associated to the key ' `NSFileHandleNotificationDataItem` '.
Posted when one of the NSFileHandle methods `readToEndOfFileInBackground...` has finished. The receiving NSFileHandle is passed in the notification's userInfo dictionary associated to the key ' `NSFileHandleNotificationDataItem` '.
NSFileManager constants

File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File system attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File system attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File system attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File system attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
File attribute key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
Possible value for ' `NSFileType` ' key in dictionary returned by [NSFileManager -fileAttributesAtPath:traverseLink:].
NSGeometry constants

Zero edge insets
Point at 0,0
Zero-size rectangle at 0,0
Zero size
NSHashTable constants

Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
NSHTTPCookie constants

Obtain text of the comment
Obtain the comment URL
Obtain the sessions discard setting
Obtain cookie domain
Obtain cookie expiry date
Obtain maximum age (expiry)
Obtain name of cookie
Obtain cookie origin URL
Obtain cookie path
Obtain cookie ports
Obtain cookie security
Obtain value of cookie
Obtain cookie version
NSHTTPCookieStorage constants

Posted to the distributed notification center when the cookie accept policy is changed.
Posted when the set of cookies changes
NSKeyedArchiver constants

An archiving error has occurred.
An unarchiving error has occurred.
NSKeyValueCoding constants

An exception for an unknown key in NSObject(NSKeyValueCoding) .
NSKeyValueObserving constants

Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
NSMapTable constants

Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
NSNetServices constants

This key identifies the most recent error.
This key identifies the originator of the error.
NSPort constants

Notification posted when an instance of NSPort or a subclass becomes invalid.
NSRunLoop constants

Run loop mode used to deal with input sources other than NSConnections or dialog windows. Most commonly used. Defined in `Foundation/NSRunLoop.h`.
NSStream constants

Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
NSTask constants

Notification posted when an NSTask terminates, either due to the subprocess ending or the [NSTask -terminate] method explicitly being called.
NSThread constants

Notification posted whenever a new thread is started up. This is a GNUstep extension.
Notification posted when an NSThread instance receives an exit message, or an external thread has been deregistered.
Notification posted the first time a new NSThread is created or a separate thread from another library is registered in an application. (The initial thread that a program starts with does not post this notification.) Before such a notification has been posted you can assume the application is in single-threaded mode and locks are not necessary. Afterwards multiple threads may be running.
NSTimeZone constants

Description forthcoming.
NSUndoManager constants

Notification posted whenever NSUndoManager opens or closes an undo group. The undo manager itself is the notification object, with no userInfo dictionary.
Notification posted after an NSUndoManager opens an undo group.
Notification posted after an NSUndoManager executes a redo operation.
Notification posted after an NSUndoManager executes an undo operation.
Notification posted before an NSUndoManager closes an undo group.
Notification posted before an NSUndoManager will execute a redo operation.
Notification posted before an NSUndoManager will execute an undo operation.
NSURLCredentialStorage constants

Notification sent when the set of stored credentials changes.
NSURLError constants

Obtain the URL which caused the failure
The domain for a URL error.
NSURL constants

Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
URL scheme constant for use with [NSURL -initWithScheme:host:path:].
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
NSURLHandle constants

Key for passing to NSURLHandle 's `propertyForKey..` methods to specify the location of an SSL certificate file.
Key for passing to NSURLHandle 's `propertyForKey..` methods to specify the location of an SSL key file.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain local host.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain method (GET, POST, etc.).
Key for passing to NSURLHandle 's `propertyForKey..` methods to specify the password for an SSL key file.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain proxy host.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain proxy port.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain error page data.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain redirection headers.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain HTTP version supported by server.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain status code.
Key for passing to NSURLHandle 's `propertyForKey..` methods to obtain status reason.
NSURLProtectionSpace constants

Description forthcoming.
Default authentication (Basic)
HTML form authentication
HTTP Basic authentication
HTTP Digest authentication
Description forthcoming.
Description forthcoming.
Description forthcoming.
An FTP proxy
An HTTP proxy
An HTTPS proxy
A SOCKS proxy
NSUserDefaults constants

User defaults domain for GNUstep config file and for any defaults stored in the GlobalDefaults.plist file alongside the config file.
Key for locale dictionary: name of locale.
Key for locale dictionary: array of strings for AM and PM.
User defaults domain for process arguments. Command-line arguments (key-value pairs, as in "-NSFoo bar") are placed in this domain.
Where there is a sequence of arguments beginning with '-', only the last one is used (so "-a -b -c d" will produce a single user default 'c' with value 'd').
NB. On OSX the argument "-" means a key consisting of an empty string (so you can't use a '-' as a default value), while in GNUstep a "-" is a special case which does not mean a default key (so '-' may be used as a value).
Key for locale dictionary: text formatter string for monetary amounts.
Key for locale dictionary: currency symbol.
Key for locale dictionary: format string for feeding to NSDateFormatter .
Key for locale dictionary: string with 'Y', 'M', 'D', and 'H' designating the default method of writing dates, as in "MDYH" for the U.S..
Key for locale dictionary: array of strings for 0-9.
Key for locale dictionary: decimal separator.
Key for locale dictionary: adjectives that modify values in NSYearMonthWeekDesignations, as in "last", "previous", etc..
Key for locale dictionary: formal name of language.
User defaults domain for system defaults.
Array of arrays of NSStrings, first member of each specifying a time, followed by one or more colloquial names for the time, as in "(0, midnight), (12, noon, lunch)".
Key for locale dictionary: three-letter ISO 4217 currency abbreviation.
Key for locale dictionary: two-letter ISO code.
Key for locale dictionary: name of language.
Key for locale dictionary: adjectives that modify values in NSYearMonthWeekDesignations, as in "next", "subsequent", etc..
Key for locale dictionary: names of months of year.
Key for locale dictionary: one or more strings designating the next day, such as "tomorrow".
Key for locale dictionary: one or more strings designating the next day, such as "day after tomorrow".
Key for locale dictionary: one or more strings designating the previous day, such as "yesterday".
User defaults domain for application-registered "default defaults".
Key for locale dictionary: format string for feeding to NSDateFormatter .
Key for locale dictionary: abbreviations of months of year.
Key for locale dictionary: format string for feeding to NSDateFormatter .
Key for locale dictionary: abbreviations of days of week.
Key for locale dictionary: one or more strings designating the current day, such as "today".
Key for locale dictionary: thousands separator.
Key for locale dictionary: format string for feeding to NSDateFormatter .
Key for locale dictionary: format string for feeding to NSDateFormatter .
Notification posted when a defaults synchronize has been performed (see [NSUserDefaults -synchronize] ) and changes have been loaded in from disk.
Key for locale dictionary: names of days of week.
Strings for "year", "month", "week".
NSValueTransformer constants

This transformer converts a `nil` value to a `YES`.
Not reversible.
This transformer converts a non-nil value to a `YES`.
Not reversible.
This transformer converts a `YES` to a `NO` and a `NO` to a `YES`.
This transformer converts an NSData instance to the object archived in it, or archives an object inot an NSData .
NSXMLParser constants

Domain for errors
NSArray types

Description forthcoming.
NSAutoreleasePool types

Each pool holds its objects-to-be-released in a linked-list of these structures. { struct autorelease_array_list *next; unsigned size; unsigned count; id objects[0]; } Each thread has its own copy of these variables. { NSAutoreleasePool *current_pool; // current pool for thread unsigned total_objects_count; // total #/autoreleased objects over thread's lifetime id *pool_cache; // cache of previously-allocated pools, int pool_cache_size; // used internally for recycling int pool_cache_count; }
NSData types

Description forthcoming. Description forthcoming.
NSDateFormatter types

Description forthcoming. Description forthcoming.
NSDate types

Time interval difference between two dates, in seconds.
NSDecimal types

Description forthcoming. Description forthcoming.
NSDistributedNotificationCenter types

Description forthcoming.
NSException types

The actual structure for an NSHandler. You shouldn't need to worry about it.
NSFileManager types

Description forthcoming. Description forthcoming.
NSGeometry types

{ CGFloat x; CGFloat y; }

Represents a 2-d cartesian position.

Array of NSPoint structs. Pointer to NSPoint struct. { NSPoint origin; NSSize size; }

Rectangle.

Array of NSRect structs. Sides of a rectangle. { NSMinXEdge, NSMinYEdge, NSMaxXEdge, NSMaxYEdge } Pointer to NSRect struct. { CGFloat width; CGFloat height; }

Floating point rectangle size.

Array of NSSize structs. Pointer to NSSize struct. Description forthcoming.
NSHashTable types

Description forthcoming. Callback functions for an NSHashTable. See NSCreateHashTable() .
`NSUInteger (*hash)(NSHashTable *, const void *)` ... Hashing function. NOTE: Elements with equal values must have equal hash function values. The default if NULL uses the pointer addresses directly.
`BOOL (*isEqual)(NSHashTable *, const void *, const void *)` ... Comparison function. The default if NULL uses ' `==` '.
`void (*retain)(NSHashTable *, const void *)` ... Retaining function called when adding elements to the table. The default if NULL is a no-op (no reference counting).
`void (*release)(NSHashTable *, void *)` ... Releasing function called when a data element is removed from the table. The default if NULL is a no-op (no reference counting).
`NSString *(*describe)(NSHashTable *, const void *)` ... Description function. The default if NULL prints boilerplate.
NSHTTPCookieStorage types

NSHTTPCookieAcceptPolicyAlways Accept all cookies NSHTTPCookieAcceptPolicyNever Reject all cookies NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain Accept cookies only from the main document domain
NSKeyValueObserving types

Description forthcoming. Description forthcoming. Description forthcoming.
NSMapTable types

Description forthcoming. Callback functions for a value. Callback functions for a key.
Comparison function. Must not modify either key.
Retaining function called when adding elements to table.
Notionally this must not modify the key (the key may not actually have a retain count, or the retain count may be stored externally to the key, but in practice this often actually changes a counter within the key).
Releasing function called when a data element is removed from the table. This may decrease a retain count or may actually destroy the key.
Description function. Generates a string describing the key and does not modify the key itself.
Quantity that is not a key to the map table.
NSNetServices types

Description forthcoming. NSNetServicesUnknownError
An unknown error occurred.
NSNetServicesCollisionError
The given registration has had a name collision. Registration should be cancelled and tried again with a different name.
NSNetServicesNotFoundError
The service could not be found.
NSNetServicesActivityInProgress
A request is already in progress.
NSNetServicesBadArgumentError
An invalid argument was used to create the object.
NSNetServicesCancelledError
The request has been cancelled.
NSNetServicesInvalidError
The service was improperly configured.
NSNetServicesTimeoutError
The request has timed out before a successful resolution.
NSNotificationQueue types

Description forthcoming. Description forthcoming.
NSNumberFormatter types

Description forthcoming. Description forthcoming. Description forthcoming. Description forthcoming.
NSObjCRuntime types

Description forthcoming. Contains values `NSOrderedSame`, `NSOrderedAscending` `NSOrderedDescending`, for left hand side equals, less than, or greater than right hand side.
NSOrderedAscending
NSOrderedSame
NSOrderedDescending
Bitfield used to specify options to control enumeration over collections.
NSEnumerationConcurrent
NSEnumerationReverse
Specifies that the enumeration is concurrency-safe. Note that this does not mean that it will be carried out in a concurrent manner, only that it can be. Description forthcoming. Bitfield used to specify options to control the sorting of collections.
NSSortConcurrent
NSSortStable
Specifies that the sort is concurrency-safe. Note that this does not mean that it will be carried out in a concurrent manner, only that it can be. Description forthcoming.
NSPathUtilities types

Enumeration of possible requested directory type specifiers for NSSearchPathForDirectoriesInDomains() function. On a traditional GNUstep filesystem layout these correspond to the subdirectories that may be found in the various domains, such as "Library" and "Applications". In a different filesystem layout these directories might be located anywhere on disk. { NSApplicationDirectory, NSDemoApplicationDirectory, NSDeveloperApplicationDirectory, NSAdminApplicationDirectory, NSLibraryDirectory, NSDeveloperDirectory, NSUserDirectory, NSDocumentationDirectory, NSDocumentDirectory, NSCoreServiceDirectory, NSDesktopDirectory, NSCachesDirectory, NSApplicationSupportDirectory NSAllApplicationsDirectory, NSAllLibrariesDirectory, GSLibrariesDirectory, GSToolsDirectory, GSAdminToolsDirectory, GSFontsDirectory, GSFrameworksDirectory, GSWebApplicationsDirectory } Mask type for NSSearchPathForDirectoriesInDomains() function. A bitwise OR of one or more of `NSUserDomainMask, NSLocalDomainMask, NSNetworkDomainMask, NSSystemDomainMask, NSAllDomainsMask`.
NSPointerFunctions types

An integer value containing memory option, personality option, and copying option.
NSPort types

Native socket type.
NSProcessInfo types

Description forthcoming.
NSPropertyList types

Specifies the serialisation format for a serialised property list. NSPropertyListOpenStepFormat the most human-readable format NSPropertyListXMLFormat_v1_0 portable and readable NSPropertyListBinaryFormat_v1_0 the standard format on macos-x NSPropertyListGNUstepFormat extension of OpenStep format NSPropertyListGNUstepBinaryFormat efficient, hardware independent Describes the mutability to use when generating objects during deserialisation of a property list. NSPropertyListImmutable all objects in created list are immutable NSPropertyListMutableContainers dictionaries, arrays, strings and data objects are mutable Description forthcoming. Description forthcoming.
NSRange types

{ NSUInteger location; NSUInteger length; }

The NSRange type is used to specify ranges of locations, typically items in an array, characters in a string, and bytes in a data object.

As 'boundary' or 'fencepost' errors are a particularly common problem in programming, it is important that you understand how an NSRange works.

An NSRange consists of a location and a length. The points that are considered to lie in a range are the integers from the location to the location plus the length, so the number of points in a range is the length of the range plus one.
However, if you consider these points like the marks on a ruler, you can only store information between points. So the number of items that can be stored in a range is the length of the range.

Pointer to an NSRange structure.
NSRunLoop types

This type specifies the kinds of event which may be 'watched' in a run loop.
ET_RPORT
ET_WINMSG
ET_TRIGGER
ET_WDESC
ET_RPORT
ET_EDESC
ET_TRIGGER
NSStream types

Description forthcoming. Description forthcoming.
NSString types

Description forthcoming.

Enumeration of available encodings for converting between bytes and characters (in NSString s). The ones that are shared with OpenStep and Cocoa are: `NSASCIIStringEncoding, NSNEXTSTEPStringEncoding, NSJapaneseEUCStringEncoding, NSUTF8StringEncoding, NSISOLatin1StringEncoding, NSSymbolStringEncoding, NSNonLossyASCIIStringEncoding, NSShiftJISStringEncoding, NSISOLatin2StringEncoding, NSUnicodeStringEncoding, NSWindowsCP1251StringEncoding, NSWindowsCP1252StringEncoding, NSWindowsCP1253StringEncoding, NSWindowsCP1254StringEncoding, NSWindowsCP1250StringEncoding, NSISO2022JPStringEncoding, NSMacOSRomanStringEncoding, NSProprietaryStringEncoding` .

Additional encodings available under GNUstep are: `NSKOI8RStringEncoding, NSISOLatin3StringEncoding, NSISOLatin4StringEncoding, NSISOCyrillicStringEncoding, NSISOArabicStringEncoding, NSISOGreekStringEncoding, NSISOHebrewStringEncoding, NSISOLatin5StringEncoding, NSISOLatin6StringEncoding, NSISOThaiStringEncoding, NSISOLatin7StringEncoding, NSISOLatin8StringEncoding, NSISOLatin9StringEncoding, NSGB2312StringEncoding, NSUTF7StringEncoding, NSGSM0338StringEncoding, NSBIG5StringEncoding, NSKoreanEUCStringEncoding` .

GSUndefinedEncoding
NSASCIIStringEncoding
NSNEXTSTEPStringEncoding
NSJapaneseEUCStringEncoding
NSUTF8StringEncoding
NSISOLatin1StringEncoding
NSSymbolStringEncoding
NSNonLossyASCIIStringEncoding
NSShiftJISStringEncoding
NSISOLatin2StringEncoding
NSUnicodeStringEncoding
NSUTF16StringEncoding
NSWindowsCP1251StringEncoding
NSWindowsCP1252StringEncoding
NSWindowsCP1253StringEncoding
NSWindowsCP1254StringEncoding
NSWindowsCP1250StringEncoding
NSISO2022JPStringEncoding
NSMacOSRomanStringEncoding
NSProprietaryStringEncoding
NSKOI8RStringEncoding
NSISOLatin3StringEncoding
NSISOLatin4StringEncoding
NSISOCyrillicStringEncoding
NSISOArabicStringEncoding
NSISOGreekStringEncoding
NSISOHebrewStringEncoding
NSISOLatin5StringEncoding
NSISOLatin6StringEncoding
NSISOThaiStringEncoding
NSISOLatin7StringEncoding
NSISOLatin8StringEncoding
NSISOLatin9StringEncoding
NSGB2312StringEncoding
NSUTF7StringEncoding
NSGSM0338StringEncoding
NSBIG5StringEncoding
NSKoreanEUCStringEncoding
GS_API_LATEST
NSUTF16BigEndianStringEncoding
NSUTF16LittleEndianStringEncoding
NSUTF32StringEncoding
NSUTF32BigEndianStringEncoding
NSUTF32LittleEndianStringEncoding
Description forthcoming. Type for representing unicode characters. (16-bit)
NSTask types

Description forthcoming.
NSTimeZone types

Description forthcoming.
NSURLCache types

Specifies the cache storage policy.
NSURLCacheStorageAllowed
NSURLCacheStorageAllowedInMemoryOnly
Unrestricted caching
NSURLCacheStorageNotAllowed
In memory caching only
NSURLCredential types

Controls how long a credential is retained.
NSURLCredentialPersistenceNone
NSURLCredentialPersistenceForSession
Don't save at all
NSURLCredentialPersistencePermanent
Save for current session
NSURLCredentialPersistenceSynchronizable
Save forever (on disk)
NSURL types

Description forthcoming.
NSURLHandle types

Description forthcoming.
NSURLRequest types

NSURLRequestUseProtocolCachePolicy
Says that any protocol specific cache policy should be used... this is the default.
NSURLRequestReloadIgnoringCacheData
Says the data should be re-loaded from source rather than any cached data being used, irrespective of any protocol standard.
NSURLRequestReturnCacheDataElseLoad
Says to use cached data if any is available, but to load from source if the cache is empty. Ignores any protocol specific logic (like cache aging).
NSURLRequestReturnCacheDataDontLoad
Says to use cached data if any is available, but to return `nil` without loading if the cache is empty.
NSXMLDocument types

Define what type of document this is.
NSXMLDTDNode types

Description forthcoming.
NSXMLNode types

Description forthcoming.
NSXMLParser types

Description forthcoming.
NSZone types

Primary structure representing an `NSZone` . Technically it consists of a set of function pointers for zone upkeep functions plus some other things- { // Functions for zone. void *(*malloc)(struct _NSZone *zone, size_t size); void *(*realloc)(struct _NSZone *zone, void *ptr, size_t size); void (*free)(struct _NSZone *zone, void *ptr); void (*recycle)(struct _NSZone *zone); BOOL (*check)(struct _NSZone *zone); BOOL (*lookup)(struct _NSZone *zone, void *ptr); // Zone statistics (not always maintained). struct NSZoneStats (*stats)(struct _NSZone *zone); size_t gran; // Zone granularity (passed in on initialization) NSString *name; // Name of zone (default is 'nil') NSZone *next; // Pointer used for internal management of multiple zones. }
NSDebug variables

Enable/disable object deallocation.

If zombies are enabled, objects are by default not deallocated, and memory leaks. The NSDeallocateZombies variable lets you say that the the memory used by zombies should be freed.

Doing this makes the behavior of zombies similar to that when zombies are not enabled... the memory occupied by the zombie may be re-used for other purposes, at which time the isa pointer may be overwritten and the zombie behavior will cease.

The default value of this boolean is `NO`, but this can be controlled by the NSDeallocateZombies environment variable.
Enable/disable zombies.

When an object is deallocated, its isa pointer is normally modified to the hexadecimal value 0xdeadface, so that any attempt to send a message to the deallocated object will cause a crash, and examination of the object within the debugger will show the 0xdeadface value... making it obvious why the program crashed.

Turning on zombies changes this behavior so that the isa pointer is modified to be that of the NSZombie class. When messages are sent to the object, instead of crashing, NSZombie will use NSLog() to produce an error message. By default the memory used by the object will not really be freed, so error messages will continue to be generated whenever a message is sent to the object, and the object instance variables will remain available for examination by the debugger.

The default value of this boolean is `NO`, but this can be controlled by the NSZombieEnabled environment variable.
NSFileManager variables

Description forthcoming.
NSGeometry variables

Description forthcoming.
Description forthcoming.
Description forthcoming.
NSLock variables

Code may replace this function pointer in order to intercept the normal logging of a deadlock.
NSMapTable variables

Retaining function called when adding elements to table.
Notionally this must not modify the element (the element may not actually have a retain count, or the retain count may be stored externally to the element, but in practice this often actually changes a counter within the element).
Releasing function called when a data element is removed from the table. This may decrease a retain count or may actually destroy the element.
Description function. Generates a string describing the element and does not modify the element itself.
NSNotificationQueue variables

Structure used internally by NSNotificationQueue .
NSObjCRuntime variables

A variable holding the file descriptor to which NSLogv() messages are written by default. GNUstep initialises this to stderr.
You may change this, but for thread safety should use the lock provided by GSLogLock() to protect the change.
A pointer to a function used to actually write the log data.

GNUstep initialises this to a function implementing the standard behavior for logging, but you may change this in your program in order to implement any custom behavior you wish. You should use the lock returned by GSLogLock() to protect any change you make.

Calls from NSLogv() to the function pointed to by this variable are protected by a lock, and should therefore be thread safe.

This function should accept a single NSString argument and return void.

The default implementation in GNUstep performs as follows - Converts the string to be logged to data in the default CString encoding or, if that is not possible, to UTF8 data. If the system supports writing to syslog and the user default to say that logging should be done to syslog (GSLogSyslog) is set, writes the data to the syslog.
On an mswindows system, where syslog is not available, the GSLogSyslog user default controls whether or not data is written to the system event log, Otherwise, writes the data to the file descriptor stored in the variable _NSLogDescriptor , which is set by default to stderr.
Your program may change this descriptor... but you should protect changes using the lock provided by GSLogLock() .
NB. If the write to the descriptor fails, and the system supports writing to syslog, then the log is written to syslog as if the appropriate user default had been set.
NSObject variables

Global lock to be used by classes when operating on any global data that invoke other methods which also access global; thus, creating the potential for deadlock.
NSRange variables

Description forthcoming.
NSString variables

For internal use with NeXT runtime; needed, until Apple Radar 2870817 is fixed.
NSZone variables

NSZoneStats
is the structure returned by the NSZoneStats() function that summarizes the current usage of a zone. It is similar to the structure mstats in the GNU C library. It has 5 fields of type `size_t` -
`bytes_total`
This is the total size of memory managed by the zone, in bytes.
`chunks_used`
This is the number of memory chunks in use in the zone.
`bytes_used`
This is the number of bytes in use.
`chunks_free`
This is the number of memory chunks that are not in use.
`bytes_free`
This is the number of bytes managed by the zone that are not in use.
Description forthcoming.