-
Notifications
You must be signed in to change notification settings - Fork 10.4k
/
Copy pathMachError.swift
205 lines (153 loc) · 7.07 KB
/
MachError.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
//===----------------------------------------------------------------------===//
//
// 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)