10
10
//
11
11
//===----------------------------------------------------------------------===//
12
12
13
+ #if canImport(Darwin)
14
+ import Darwin
15
+ #elseif canImport(Glibc)
16
+ import Glibc
17
+ #elseif canImport(MSVCRT)
18
+ import MSVCRT
19
+ #endif
13
20
14
21
import CoreFoundation
15
22
@@ -899,6 +906,7 @@ extension URLError {
899
906
900
907
/// Describes an error in the POSIX error domain.
901
908
public struct POSIXError : _BridgedStoredNSError {
909
+
902
910
public let _nsError : NSError
903
911
904
912
public init ( _nsError error: NSError ) {
@@ -907,117 +915,12 @@ public struct POSIXError : _BridgedStoredNSError {
907
915
}
908
916
909
917
public static var _nsErrorDomain : String { return NSPOSIXErrorDomain }
918
+
919
+ public typealias Code = POSIXErrorCode
920
+ }
910
921
911
- public enum Code : Int , _ErrorCodeProtocol {
912
- public typealias _ErrorType = POSIXError
913
-
914
- case EPERM
915
- case ENOENT
916
- case ESRCH
917
- case EINTR
918
- case EIO
919
- case ENXIO
920
- case E2BIG
921
- case ENOEXEC
922
- case EBADF
923
- case ECHILD
924
- case EDEADLK
925
- case ENOMEM
926
- case EACCES
927
- case EFAULT
928
- case ENOTBLK
929
- case EBUSY
930
- case EEXIST
931
- case EXDEV
932
- case ENODEV
933
- case ENOTDIR
934
- case EISDIR
935
- case EINVAL
936
- case ENFILE
937
- case EMFILE
938
- case ENOTTY
939
- case ETXTBSY
940
- case EFBIG
941
- case ENOSPC
942
- case ESPIPE
943
- case EROFS
944
- case EMLINK
945
- case EPIPE
946
- case EDOM
947
- case ERANGE
948
- case EAGAIN
949
- case EWOULDBLOCK
950
- case EINPROGRESS
951
- case EALREADY
952
- case ENOTSOCK
953
- case EDESTADDRREQ
954
- case EMSGSIZE
955
- case EPROTOTYPE
956
- case ENOPROTOOPT
957
- case EPROTONOSUPPORT
958
- case ESOCKTNOSUPPORT
959
- case ENOTSUP
960
- case EPFNOSUPPORT
961
- case EAFNOSUPPORT
962
- case EADDRINUSE
963
- case EADDRNOTAVAIL
964
- case ENETDOWN
965
- case ENETUNREACH
966
- case ENETRESET
967
- case ECONNABORTED
968
- case ECONNRESET
969
- case ENOBUFS
970
- case EISCONN
971
- case ENOTCONN
972
- case ESHUTDOWN
973
- case ETOOMANYREFS
974
- case ETIMEDOUT
975
- case ECONNREFUSED
976
- case ELOOP
977
- case ENAMETOOLONG
978
- case EHOSTDOWN
979
- case EHOSTUNREACH
980
- case ENOTEMPTY
981
- case EPROCLIM
982
- case EUSERS
983
- case EDQUOT
984
- case ESTALE
985
- case EREMOTE
986
- case EBADRPC
987
- case ERPCMISMATCH
988
- case EPROGUNAVAIL
989
- case EPROGMISMATCH
990
- case EPROCUNAVAIL
991
- case ENOLCK
992
- case ENOSYS
993
- case EFTYPE
994
- case EAUTH
995
- case ENEEDAUTH
996
- case EPWROFF
997
- case EDEVERR
998
- case EOVERFLOW
999
- case EBADEXEC
1000
- case EBADARCH
1001
- case ESHLIBVERS
1002
- case EBADMACHO
1003
- case ECANCELED
1004
- case EIDRM
1005
- case ENOMSG
1006
- case EILSEQ
1007
- case ENOATTR
1008
- case EBADMSG
1009
- case EMULTIHOP
1010
- case ENODATA
1011
- case ENOLINK
1012
- case ENOSR
1013
- case ENOSTR
1014
- case EPROTO
1015
- case ETIME
1016
- case ENOPOLICY
1017
- case ENOTRECOVERABLE
1018
- case EOWNERDEAD
1019
- case EQFULL
1020
- }
922
+ extension POSIXErrorCode : _ErrorCodeProtocol {
923
+ public typealias _ErrorType = POSIXError
1021
924
}
1022
925
1023
926
extension POSIXError {
@@ -1162,8 +1065,10 @@ extension POSIXError {
1162
1065
/// Socket type not supported.
1163
1066
public static var ESOCKTNOSUPPORT : POSIXError . Code { return . ESOCKTNOSUPPORT }
1164
1067
1068
+ #if canImport(Darwin)
1165
1069
/// Operation not supported.
1166
1070
public static var ENOTSUP : POSIXError . Code { return . ENOTSUP }
1071
+ #endif
1167
1072
1168
1073
/// Protocol family not supported.
1169
1074
public static var EPFNOSUPPORT : POSIXError . Code { return . EPFNOSUPPORT }
@@ -1232,9 +1137,11 @@ extension POSIXError {
1232
1137
1233
1138
/// Quotas
1234
1139
1140
+ #if canImport(Darwin)
1235
1141
/// Too many processes.
1236
1142
public static var EPROCLIM : POSIXError . Code { return . EPROCLIM }
1237
-
1143
+ #endif
1144
+
1238
1145
/// Too many users.
1239
1146
public static var EUSERS : POSIXError . Code { return . EUSERS }
1240
1147
@@ -1249,6 +1156,7 @@ extension POSIXError {
1249
1156
/// Too many levels of remote in path.
1250
1157
public static var EREMOTE : POSIXError . Code { return . EREMOTE }
1251
1158
1159
+ #if canImport(Darwin)
1252
1160
/// RPC struct is bad.
1253
1161
public static var EBADRPC : POSIXError . Code { return . EBADRPC }
1254
1162
@@ -1263,13 +1171,15 @@ extension POSIXError {
1263
1171
1264
1172
/// Bad procedure for program.
1265
1173
public static var EPROCUNAVAIL : POSIXError . Code { return . EPROCUNAVAIL }
1266
-
1174
+ #endif
1175
+
1267
1176
/// No locks available.
1268
1177
public static var ENOLCK : POSIXError . Code { return . ENOLCK }
1269
1178
1270
1179
/// Function not implemented.
1271
1180
public static var ENOSYS : POSIXError . Code { return . ENOSYS }
1272
-
1181
+
1182
+ #if canImport(Darwin)
1273
1183
/// Inappropriate file type or format.
1274
1184
public static var EFTYPE : POSIXError . Code { return . EFTYPE }
1275
1185
@@ -1278,32 +1188,39 @@ extension POSIXError {
1278
1188
1279
1189
/// Need authenticator.
1280
1190
public static var ENEEDAUTH : POSIXError . Code { return . ENEEDAUTH }
1281
-
1191
+ #endif
1192
+
1282
1193
/// Intelligent device errors.
1283
1194
1195
+ #if canImport(Darwin)
1284
1196
/// Device power is off.
1285
1197
public static var EPWROFF : POSIXError . Code { return . EPWROFF }
1286
1198
1287
1199
/// Device error, e.g. paper out.
1288
1200
public static var EDEVERR : POSIXError . Code { return . EDEVERR }
1289
-
1201
+ #endif
1202
+
1290
1203
/// Value too large to be stored in data type.
1291
1204
public static var EOVERFLOW : POSIXError . Code { return . EOVERFLOW }
1292
1205
1293
1206
/// Program loading errors.
1294
1207
1208
+ #if canImport(Darwin)
1295
1209
/// Bad executable.
1296
1210
public static var EBADEXEC : POSIXError . Code { return . EBADEXEC }
1297
-
1211
+ #endif
1212
+
1213
+ #if canImport(Darwin)
1298
1214
/// Bad CPU type in executable.
1299
1215
public static var EBADARCH : POSIXError . Code { return . EBADARCH }
1300
-
1216
+
1301
1217
/// Shared library version mismatch.
1302
1218
public static var ESHLIBVERS : POSIXError . Code { return . ESHLIBVERS }
1303
1219
1304
1220
/// Malformed Macho file.
1305
1221
public static var EBADMACHO : POSIXError . Code { return . EBADMACHO }
1306
-
1222
+ #endif
1223
+
1307
1224
/// Operation canceled.
1308
1225
public static var ECANCELED : POSIXError . Code { return . ECANCELED }
1309
1226
@@ -1316,8 +1233,10 @@ extension POSIXError {
1316
1233
/// Illegal byte sequence.
1317
1234
public static var EILSEQ : POSIXError . Code { return . EILSEQ }
1318
1235
1236
+ #if canImport(Darwin)
1319
1237
/// Attribute not found.
1320
1238
public static var ENOATTR : POSIXError . Code { return . ENOATTR }
1239
+ #endif
1321
1240
1322
1241
/// Bad message.
1323
1242
public static var EBADMSG : POSIXError . Code { return . EBADMSG }
@@ -1343,17 +1262,21 @@ extension POSIXError {
1343
1262
/// STREAM ioctl timeout.
1344
1263
public static var ETIME : POSIXError . Code { return . ETIME }
1345
1264
1265
+ #if canImport(Darwin)
1346
1266
/// No such policy registered.
1347
1267
public static var ENOPOLICY : POSIXError . Code { return . ENOPOLICY }
1268
+ #endif
1348
1269
1349
1270
/// State not recoverable.
1350
1271
public static var ENOTRECOVERABLE : POSIXError . Code { return . ENOTRECOVERABLE }
1351
1272
1352
1273
/// Previous owner died.
1353
1274
public static var EOWNERDEAD : POSIXError . Code { return . EOWNERDEAD }
1354
1275
1276
+ #if canImport(Darwin)
1355
1277
/// Interface output queue is full.
1356
1278
public static var EQFULL : POSIXError . Code { return . EQFULL }
1279
+ #endif
1357
1280
}
1358
1281
1359
1282
enum UnknownNSError : Error {
0 commit comments