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
@@ -890,6 +897,7 @@ extension URLError {
890
897
891
898
/// Describes an error in the POSIX error domain.
892
899
public struct POSIXError : _BridgedStoredNSError {
900
+
893
901
public let _nsError : NSError
894
902
895
903
public init ( _nsError error: NSError ) {
@@ -898,117 +906,12 @@ public struct POSIXError : _BridgedStoredNSError {
898
906
}
899
907
900
908
public static var _nsErrorDomain : String { return NSPOSIXErrorDomain }
909
+
910
+ public typealias Code = POSIXErrorCode
911
+ }
901
912
902
- public enum Code : Int , _ErrorCodeProtocol {
903
- public typealias _ErrorType = POSIXError
904
-
905
- case EPERM
906
- case ENOENT
907
- case ESRCH
908
- case EINTR
909
- case EIO
910
- case ENXIO
911
- case E2BIG
912
- case ENOEXEC
913
- case EBADF
914
- case ECHILD
915
- case EDEADLK
916
- case ENOMEM
917
- case EACCES
918
- case EFAULT
919
- case ENOTBLK
920
- case EBUSY
921
- case EEXIST
922
- case EXDEV
923
- case ENODEV
924
- case ENOTDIR
925
- case EISDIR
926
- case EINVAL
927
- case ENFILE
928
- case EMFILE
929
- case ENOTTY
930
- case ETXTBSY
931
- case EFBIG
932
- case ENOSPC
933
- case ESPIPE
934
- case EROFS
935
- case EMLINK
936
- case EPIPE
937
- case EDOM
938
- case ERANGE
939
- case EAGAIN
940
- case EWOULDBLOCK
941
- case EINPROGRESS
942
- case EALREADY
943
- case ENOTSOCK
944
- case EDESTADDRREQ
945
- case EMSGSIZE
946
- case EPROTOTYPE
947
- case ENOPROTOOPT
948
- case EPROTONOSUPPORT
949
- case ESOCKTNOSUPPORT
950
- case ENOTSUP
951
- case EPFNOSUPPORT
952
- case EAFNOSUPPORT
953
- case EADDRINUSE
954
- case EADDRNOTAVAIL
955
- case ENETDOWN
956
- case ENETUNREACH
957
- case ENETRESET
958
- case ECONNABORTED
959
- case ECONNRESET
960
- case ENOBUFS
961
- case EISCONN
962
- case ENOTCONN
963
- case ESHUTDOWN
964
- case ETOOMANYREFS
965
- case ETIMEDOUT
966
- case ECONNREFUSED
967
- case ELOOP
968
- case ENAMETOOLONG
969
- case EHOSTDOWN
970
- case EHOSTUNREACH
971
- case ENOTEMPTY
972
- case EPROCLIM
973
- case EUSERS
974
- case EDQUOT
975
- case ESTALE
976
- case EREMOTE
977
- case EBADRPC
978
- case ERPCMISMATCH
979
- case EPROGUNAVAIL
980
- case EPROGMISMATCH
981
- case EPROCUNAVAIL
982
- case ENOLCK
983
- case ENOSYS
984
- case EFTYPE
985
- case EAUTH
986
- case ENEEDAUTH
987
- case EPWROFF
988
- case EDEVERR
989
- case EOVERFLOW
990
- case EBADEXEC
991
- case EBADARCH
992
- case ESHLIBVERS
993
- case EBADMACHO
994
- case ECANCELED
995
- case EIDRM
996
- case ENOMSG
997
- case EILSEQ
998
- case ENOATTR
999
- case EBADMSG
1000
- case EMULTIHOP
1001
- case ENODATA
1002
- case ENOLINK
1003
- case ENOSR
1004
- case ENOSTR
1005
- case EPROTO
1006
- case ETIME
1007
- case ENOPOLICY
1008
- case ENOTRECOVERABLE
1009
- case EOWNERDEAD
1010
- case EQFULL
1011
- }
913
+ extension POSIXErrorCode : _ErrorCodeProtocol {
914
+ public typealias _ErrorType = POSIXError
1012
915
}
1013
916
1014
917
extension POSIXError {
@@ -1153,8 +1056,10 @@ extension POSIXError {
1153
1056
/// Socket type not supported.
1154
1057
public static var ESOCKTNOSUPPORT : POSIXError . Code { return . ESOCKTNOSUPPORT }
1155
1058
1059
+ #if canImport(Darwin)
1156
1060
/// Operation not supported.
1157
1061
public static var ENOTSUP : POSIXError . Code { return . ENOTSUP }
1062
+ #endif
1158
1063
1159
1064
/// Protocol family not supported.
1160
1065
public static var EPFNOSUPPORT : POSIXError . Code { return . EPFNOSUPPORT }
@@ -1223,9 +1128,11 @@ extension POSIXError {
1223
1128
1224
1129
/// Quotas
1225
1130
1131
+ #if canImport(Darwin)
1226
1132
/// Too many processes.
1227
1133
public static var EPROCLIM : POSIXError . Code { return . EPROCLIM }
1228
-
1134
+ #endif
1135
+
1229
1136
/// Too many users.
1230
1137
public static var EUSERS : POSIXError . Code { return . EUSERS }
1231
1138
@@ -1240,6 +1147,7 @@ extension POSIXError {
1240
1147
/// Too many levels of remote in path.
1241
1148
public static var EREMOTE : POSIXError . Code { return . EREMOTE }
1242
1149
1150
+ #if canImport(Darwin)
1243
1151
/// RPC struct is bad.
1244
1152
public static var EBADRPC : POSIXError . Code { return . EBADRPC }
1245
1153
@@ -1254,13 +1162,15 @@ extension POSIXError {
1254
1162
1255
1163
/// Bad procedure for program.
1256
1164
public static var EPROCUNAVAIL : POSIXError . Code { return . EPROCUNAVAIL }
1257
-
1165
+ #endif
1166
+
1258
1167
/// No locks available.
1259
1168
public static var ENOLCK : POSIXError . Code { return . ENOLCK }
1260
1169
1261
1170
/// Function not implemented.
1262
1171
public static var ENOSYS : POSIXError . Code { return . ENOSYS }
1263
-
1172
+
1173
+ #if canImport(Darwin)
1264
1174
/// Inappropriate file type or format.
1265
1175
public static var EFTYPE : POSIXError . Code { return . EFTYPE }
1266
1176
@@ -1269,32 +1179,39 @@ extension POSIXError {
1269
1179
1270
1180
/// Need authenticator.
1271
1181
public static var ENEEDAUTH : POSIXError . Code { return . ENEEDAUTH }
1272
-
1182
+ #endif
1183
+
1273
1184
/// Intelligent device errors.
1274
1185
1186
+ #if canImport(Darwin)
1275
1187
/// Device power is off.
1276
1188
public static var EPWROFF : POSIXError . Code { return . EPWROFF }
1277
1189
1278
1190
/// Device error, e.g. paper out.
1279
1191
public static var EDEVERR : POSIXError . Code { return . EDEVERR }
1280
-
1192
+ #endif
1193
+
1281
1194
/// Value too large to be stored in data type.
1282
1195
public static var EOVERFLOW : POSIXError . Code { return . EOVERFLOW }
1283
1196
1284
1197
/// Program loading errors.
1285
1198
1199
+ #if canImport(Darwin)
1286
1200
/// Bad executable.
1287
1201
public static var EBADEXEC : POSIXError . Code { return . EBADEXEC }
1288
-
1202
+ #endif
1203
+
1204
+ #if canImport(Darwin)
1289
1205
/// Bad CPU type in executable.
1290
1206
public static var EBADARCH : POSIXError . Code { return . EBADARCH }
1291
-
1207
+
1292
1208
/// Shared library version mismatch.
1293
1209
public static var ESHLIBVERS : POSIXError . Code { return . ESHLIBVERS }
1294
1210
1295
1211
/// Malformed Macho file.
1296
1212
public static var EBADMACHO : POSIXError . Code { return . EBADMACHO }
1297
-
1213
+ #endif
1214
+
1298
1215
/// Operation canceled.
1299
1216
public static var ECANCELED : POSIXError . Code { return . ECANCELED }
1300
1217
@@ -1307,8 +1224,10 @@ extension POSIXError {
1307
1224
/// Illegal byte sequence.
1308
1225
public static var EILSEQ : POSIXError . Code { return . EILSEQ }
1309
1226
1227
+ #if canImport(Darwin)
1310
1228
/// Attribute not found.
1311
1229
public static var ENOATTR : POSIXError . Code { return . ENOATTR }
1230
+ #endif
1312
1231
1313
1232
/// Bad message.
1314
1233
public static var EBADMSG : POSIXError . Code { return . EBADMSG }
@@ -1334,17 +1253,21 @@ extension POSIXError {
1334
1253
/// STREAM ioctl timeout.
1335
1254
public static var ETIME : POSIXError . Code { return . ETIME }
1336
1255
1256
+ #if canImport(Darwin)
1337
1257
/// No such policy registered.
1338
1258
public static var ENOPOLICY : POSIXError . Code { return . ENOPOLICY }
1259
+ #endif
1339
1260
1340
1261
/// State not recoverable.
1341
1262
public static var ENOTRECOVERABLE : POSIXError . Code { return . ENOTRECOVERABLE }
1342
1263
1343
1264
/// Previous owner died.
1344
1265
public static var EOWNERDEAD : POSIXError . Code { return . EOWNERDEAD }
1345
1266
1267
+ #if canImport(Darwin)
1346
1268
/// Interface output queue is full.
1347
1269
public static var EQFULL : POSIXError . Code { return . EQFULL }
1270
+ #endif
1348
1271
}
1349
1272
1350
1273
enum UnknownNSError : Error {
0 commit comments