| 302 | } |
| 303 | |
| 304 | int Ext2LinuxError (NTSTATUS Status) |
| 305 | { |
| 306 | switch (Status) { |
| 307 | case STATUS_ACCESS_DENIED: |
| 308 | return (-EACCES); |
| 309 | |
| 310 | case STATUS_ACCESS_VIOLATION: |
| 311 | return (-EFAULT); |
| 312 | |
| 313 | case STATUS_BUFFER_TOO_SMALL: |
| 314 | return (-ETOOSMALL); |
| 315 | |
| 316 | case STATUS_INVALID_PARAMETER: |
| 317 | return (-EINVAL); |
| 318 | |
| 319 | case STATUS_NOT_IMPLEMENTED: |
| 320 | case STATUS_NOT_SUPPORTED: |
| 321 | return (-EOPNOTSUPP); |
| 322 | |
| 323 | case STATUS_INVALID_ADDRESS: |
| 324 | case STATUS_INVALID_ADDRESS_COMPONENT: |
| 325 | return (-EADDRNOTAVAIL); |
| 326 | |
| 327 | case STATUS_NO_SUCH_DEVICE: |
| 328 | case STATUS_NO_SUCH_FILE: |
| 329 | case STATUS_OBJECT_NAME_NOT_FOUND: |
| 330 | case STATUS_OBJECT_PATH_NOT_FOUND: |
| 331 | case STATUS_NETWORK_BUSY: |
| 332 | case STATUS_INVALID_NETWORK_RESPONSE: |
| 333 | case STATUS_UNEXPECTED_NETWORK_ERROR: |
| 334 | return (-ENETDOWN); |
| 335 | |
| 336 | case STATUS_BAD_NETWORK_PATH: |
| 337 | case STATUS_NETWORK_UNREACHABLE: |
| 338 | case STATUS_PROTOCOL_UNREACHABLE: |
| 339 | return (-ENETUNREACH); |
| 340 | |
| 341 | case STATUS_LOCAL_DISCONNECT: |
| 342 | case STATUS_TRANSACTION_ABORTED: |
| 343 | case STATUS_CONNECTION_ABORTED: |
| 344 | return (-ECONNABORTED); |
| 345 | |
| 346 | case STATUS_REMOTE_DISCONNECT: |
| 347 | case STATUS_LINK_FAILED: |
| 348 | case STATUS_CONNECTION_DISCONNECTED: |
| 349 | case STATUS_CONNECTION_RESET: |
| 350 | case STATUS_PORT_UNREACHABLE: |
| 351 | return (-ECONNRESET); |
| 352 | |
| 353 | case STATUS_INSUFFICIENT_RESOURCES: |
| 354 | return (-ENOMEM); |
| 355 | |
| 356 | case STATUS_PAGEFILE_QUOTA: |
| 357 | case STATUS_NO_MEMORY: |
| 358 | case STATUS_CONFLICTING_ADDRESSES: |
| 359 | case STATUS_QUOTA_EXCEEDED: |
| 360 | case STATUS_TOO_MANY_PAGING_FILES: |
| 361 | case STATUS_WORKING_SET_QUOTA: |
no outgoing calls
no test coverage detected