| //===----------------------------------------------------------------------===// |
| // |
| // 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) |