mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-14 15:52:47 -05:00
dll: fuse: fsp_fuse_ntstatus_from_errno
This commit is contained in:
113
src/dll/fuse/errno.i
Normal file
113
src/dll/fuse/errno.i
Normal file
@ -0,0 +1,113 @@
|
||||
#if FSP_FUSE_ERRNO == 87 /* Windows */
|
||||
|
||||
case 1: return STATUS_ACCESS_DENIED;
|
||||
case 2: return STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
case 3: return STATUS_PROCEDURE_NOT_FOUND;
|
||||
case 4: return STATUS_CANCELLED;
|
||||
case 5: return STATUS_IO_DEVICE_ERROR;
|
||||
case 6: return STATUS_FILE_INVALID;
|
||||
case 7: return STATUS_INSUFFICIENT_RESOURCES;
|
||||
case 8: return STATUS_INVALID_IMAGE_FORMAT;
|
||||
case 9: return STATUS_INVALID_HANDLE;
|
||||
case 12: return STATUS_INSUFFICIENT_RESOURCES;
|
||||
case 13: return STATUS_ACCESS_DENIED;
|
||||
case 14: return STATUS_ACCESS_VIOLATION;
|
||||
case 16: return STATUS_DEVICE_BUSY;
|
||||
case 17: return STATUS_OBJECT_NAME_COLLISION;
|
||||
case 18: return STATUS_NOT_SAME_DEVICE;
|
||||
case 19: return STATUS_NO_SUCH_DEVICE;
|
||||
case 20: return STATUS_NOT_A_DIRECTORY;
|
||||
case 21: return STATUS_FILE_IS_A_DIRECTORY;
|
||||
case 22: return STATUS_INVALID_PARAMETER;
|
||||
case 23: return STATUS_TOO_MANY_OPENED_FILES;
|
||||
case 24: return STATUS_TOO_MANY_OPENED_FILES;
|
||||
case 27: return STATUS_DISK_FULL;
|
||||
case 28: return STATUS_DISK_FULL;
|
||||
case 29: return STATUS_INVALID_PARAMETER;
|
||||
case 30: return STATUS_MEDIA_WRITE_PROTECTED;
|
||||
case 31: return STATUS_TOO_MANY_LINKS;
|
||||
case 32: return STATUS_PIPE_BROKEN;
|
||||
case 33: return STATUS_INVALID_PARAMETER;
|
||||
case 34: return STATUS_INVALID_PARAMETER;
|
||||
case 36: return STATUS_POSSIBLE_DEADLOCK;
|
||||
case 38: return STATUS_NAME_TOO_LONG;
|
||||
case 39: return STATUS_LOCK_NOT_GRANTED;
|
||||
case 40: return STATUS_INVALID_DEVICE_REQUEST;
|
||||
case 41: return STATUS_DIRECTORY_NOT_EMPTY;
|
||||
case 42: return STATUS_INVALID_PARAMETER;
|
||||
case 100: return STATUS_ADDRESS_ALREADY_ASSOCIATED;
|
||||
case 103: return STATUS_CONNECTION_ACTIVE;
|
||||
case 105: return STATUS_CANCELLED;
|
||||
case 106: return STATUS_CONNECTION_ABORTED;
|
||||
case 107: return STATUS_CONNECTION_REFUSED;
|
||||
case 108: return STATUS_CONNECTION_RESET;
|
||||
case 110: return STATUS_HOST_UNREACHABLE;
|
||||
case 113: return STATUS_CONNECTION_ACTIVE;
|
||||
case 114: return STATUS_REPARSE_POINT_NOT_RESOLVED;
|
||||
case 116: return STATUS_HOST_DOWN;
|
||||
case 117: return STATUS_CONNECTION_RESET;
|
||||
case 118: return STATUS_NETWORK_UNREACHABLE;
|
||||
case 119: return STATUS_INSUFFICIENT_RESOURCES;
|
||||
case 120: return STATUS_END_OF_FILE;
|
||||
case 121: return STATUS_CONNECTION_INVALID;
|
||||
case 126: return STATUS_CONNECTION_INVALID;
|
||||
case 128: return STATUS_INVALID_HANDLE;
|
||||
case 138: return STATUS_TRANSACTION_TIMED_OUT;
|
||||
|
||||
#elif FSP_FUSE_ERRNO == 67 /* Cygwin */
|
||||
|
||||
case 1: return STATUS_ACCESS_DENIED;
|
||||
case 2: return STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
case 3: return STATUS_PROCEDURE_NOT_FOUND;
|
||||
case 4: return STATUS_CANCELLED;
|
||||
case 5: return STATUS_IO_DEVICE_ERROR;
|
||||
case 6: return STATUS_FILE_INVALID;
|
||||
case 7: return STATUS_INSUFFICIENT_RESOURCES;
|
||||
case 8: return STATUS_INVALID_IMAGE_FORMAT;
|
||||
case 9: return STATUS_INVALID_HANDLE;
|
||||
case 12: return STATUS_INSUFFICIENT_RESOURCES;
|
||||
case 13: return STATUS_ACCESS_DENIED;
|
||||
case 14: return STATUS_ACCESS_VIOLATION;
|
||||
case 16: return STATUS_DEVICE_BUSY;
|
||||
case 17: return STATUS_OBJECT_NAME_COLLISION;
|
||||
case 18: return STATUS_NOT_SAME_DEVICE;
|
||||
case 19: return STATUS_NO_SUCH_DEVICE;
|
||||
case 20: return STATUS_NOT_A_DIRECTORY;
|
||||
case 21: return STATUS_FILE_IS_A_DIRECTORY;
|
||||
case 22: return STATUS_INVALID_PARAMETER;
|
||||
case 23: return STATUS_TOO_MANY_OPENED_FILES;
|
||||
case 24: return STATUS_TOO_MANY_OPENED_FILES;
|
||||
case 27: return STATUS_DISK_FULL;
|
||||
case 28: return STATUS_DISK_FULL;
|
||||
case 29: return STATUS_INVALID_PARAMETER;
|
||||
case 30: return STATUS_MEDIA_WRITE_PROTECTED;
|
||||
case 31: return STATUS_TOO_MANY_LINKS;
|
||||
case 32: return STATUS_PIPE_BROKEN;
|
||||
case 33: return STATUS_INVALID_PARAMETER;
|
||||
case 34: return STATUS_INVALID_PARAMETER;
|
||||
case 45: return STATUS_POSSIBLE_DEADLOCK;
|
||||
case 91: return STATUS_NAME_TOO_LONG;
|
||||
case 46: return STATUS_LOCK_NOT_GRANTED;
|
||||
case 88: return STATUS_INVALID_DEVICE_REQUEST;
|
||||
case 90: return STATUS_DIRECTORY_NOT_EMPTY;
|
||||
case 138: return STATUS_INVALID_PARAMETER;
|
||||
case 112: return STATUS_ADDRESS_ALREADY_ASSOCIATED;
|
||||
case 120: return STATUS_CONNECTION_ACTIVE;
|
||||
case 140: return STATUS_CANCELLED;
|
||||
case 113: return STATUS_CONNECTION_ABORTED;
|
||||
case 111: return STATUS_CONNECTION_REFUSED;
|
||||
case 104: return STATUS_CONNECTION_RESET;
|
||||
case 118: return STATUS_HOST_UNREACHABLE;
|
||||
case 127: return STATUS_CONNECTION_ACTIVE;
|
||||
case 92: return STATUS_REPARSE_POINT_NOT_RESOLVED;
|
||||
case 115: return STATUS_HOST_DOWN;
|
||||
case 126: return STATUS_CONNECTION_RESET;
|
||||
case 114: return STATUS_NETWORK_UNREACHABLE;
|
||||
case 105: return STATUS_INSUFFICIENT_RESOURCES;
|
||||
case 61: return STATUS_END_OF_FILE;
|
||||
case 67: return STATUS_CONNECTION_INVALID;
|
||||
case 128: return STATUS_CONNECTION_INVALID;
|
||||
case 108: return STATUS_INVALID_HANDLE;
|
||||
case 116: return STATUS_TRANSACTION_TIMED_OUT;
|
||||
|
||||
#endif
|
@ -645,3 +645,26 @@ FSP_FUSE_API struct fuse_context *fsp_fuse_get_context(struct fsp_fuse_env *env)
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
FSP_FUSE_API NTSTATUS fsp_fuse_ntstatus_from_errno(struct fsp_fuse_env *env,
|
||||
int err)
|
||||
{
|
||||
if ('C' == env->environment)
|
||||
switch (err)
|
||||
{
|
||||
#undef FSP_FUSE_ERRNO
|
||||
#define FSP_FUSE_ERRNO 67
|
||||
#include "errno.i"
|
||||
default:
|
||||
return STATUS_ACCESS_DENIED;
|
||||
}
|
||||
else
|
||||
switch (err)
|
||||
{
|
||||
#undef FSP_FUSE_ERRNO
|
||||
#define FSP_FUSE_ERRNO 87
|
||||
#include "errno.i"
|
||||
default:
|
||||
return STATUS_ACCESS_DENIED;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user