blob: d79fb7382a456f0d4fdbb0841b0d27c3da799c8a [file] [log] [blame]
//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && _runtime(_ObjC)
/// Enumeration describing Mach error codes.
@objc
public enum MachErrorCode : Int32 {
case success = 0
/// Specified address is not currently valid.
case invalidAddress = 1
/// Specified memory is valid, but does not permit the required
/// forms of access.
case protectionFailure = 2
/// The address range specified is already in use, or no address
/// range of the size specified could be found.
case noSpace = 3
/// The function requested was not applicable to this type of
/// argument, or an argument is invalid.
case invalidArgument = 4
/// The function could not be performed. A catch-all.
case failure = 5
/// A system resource could not be allocated to fulfill this
/// request. This failure may not be permanent.
case resourceShortage = 6
/// The task in question does not hold receive rights for the port
/// argument.
case notReceiver = 7
/// Bogus access restriction.
case noAccess = 8
/// During a page fault, the target address refers to a memory
/// object that has been destroyed. This failure is permanent.
case memoryFailure = 9
/// During a page fault, the memory object indicated that the data
/// could not be returned. This failure may be temporary; future
/// attempts to access this same data may succeed, as defined by the
/// memory object.
case memoryError = 10
/// The receive right is already a member of the portset.
case alreadyInSet = 11
/// The receive right is not a member of a port set.
case notInSet = 12
/// The name already denotes a right in the task.
case nameExists = 13
/// The operation was aborted. Ipc code will catch this and reflect
/// it as a message error.
case aborted = 14
/// The name doesn't denote a right in the task.
case invalidName = 15
/// Target task isn't an active task.
case invalidTask = 16
/// The name denotes a right, but not an appropriate right.
case invalidRight = 17
/// A blatant range error.
case invalidValue = 18
/// Operation would overflow limit on user-references.
case userReferencesOverflow = 19
/// The supplied (port) capability is improper.
case invalidCapability = 20
/// The task already has send or receive rights for the port under
/// another name.
case rightExists = 21
/// Target host isn't actually a host.
case invalidHost = 22
/// An attempt was made to supply "precious" data for memory that is
/// already present in a memory object.
case memoryPresent = 23
/// A page was requested of a memory manager via
/// memory_object_data_request for an object using a
/// MEMORY_OBJECT_COPY_CALL strategy, with the VM_PROT_WANTS_COPY
/// flag being used to specify that the page desired is for a copy
/// of the object, and the memory manager has detected the page was
/// pushed into a copy of the object while the kernel was walking
/// the shadow chain from the copy to the object. This error code is
/// delivered via memory_object_data_error and is handled by the
/// kernel (it forces the kernel to restart the fault). It will not
/// be seen by users.
case memoryDataMoved = 24
/// A strategic copy was attempted of an object upon which a quicker
/// copy is now possible. The caller should retry the copy using
/// vm_object_copy_quickly. This error code is seen only by the
/// kernel.
case memoryRestartCopy = 25
/// An argument applied to assert processor set privilege was not a
/// processor set control port.
case invalidProcessorSet = 26
/// The specified scheduling attributes exceed the thread's limits.
case policyLimit = 27
/// The specified scheduling policy is not currently enabled for the
/// processor set.
case invalidPolicy = 28
/// The external memory manager failed to initialize the memory object.
case invalidObject = 29
/// A thread is attempting to wait for an event for which there is
/// already a waiting thread.
case alreadyWaiting = 30
/// An attempt was made to destroy the default processor set.
case defaultSet = 31
/// An attempt was made to fetch an exception port that is
/// protected, or to abort a thread while processing a protected
/// exception.
case exceptionProtected = 32
/// A ledger was required but not supplied.
case invalidLedger = 33
/// The port was not a memory cache control port.
case invalidMemoryControl = 34
/// An argument supplied to assert security privilege was not a host
/// security port.
case invalidSecurity = 35
/// thread_depress_abort was called on a thread which was not
/// currently depressed.
case notDepressed = 36
/// Object has been terminated and is no longer available.
case terminated = 37
/// Lock set has been destroyed and is no longer available.
case lockSetDestroyed = 38
/// The thread holding the lock terminated before releasing the lock.
case lockUnstable = 39
/// The lock is already owned by another thread.
case lockOwned = 40
/// The lock is already owned by the calling thread.
case lockOwnedSelf = 41
/// Semaphore has been destroyed and is no longer available.
case semaphoreDestroyed = 42
/// Return from RPC indicating the target server was terminated
/// before it successfully replied.
case rpcServerTerminated = 43
/// Terminate an orphaned activation.
case rpcTerminateOrphan = 44
/// Allow an orphaned activation to continue executing.
case rpcContinueOrphan = 45
/// Empty thread activation (No thread linked to it).
case notSupported = 46
/// Remote node down or inaccessible.
case nodeDown = 47
/// A signalled thread was not actually waiting.
case notWaiting = 48
/// Some thread-oriented operation (semaphore_wait) timed out.
case operationTimedOut = 49
/// During a page fault, indicates that the page was rejected as a
/// result of a signature check.
case codesignError = 50
/// The requested property cannot be changed at this time.
case policyStatic = 51
}
#endif // (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && _runtime(_ObjC)