extend error codes (from samba)
authorAmandeep Gautam <amandeep@cohesity.com>
Fri, 31 Jan 2020 21:24:22 +0000 (13:24 -0800)
committerAmandeep Gautam <amandeep@cohesity.com>
Fri, 31 Jan 2020 21:35:10 +0000 (13:35 -0800)
include/smb2/smb2-errors.h
lib/errors.c

index 41f60e9d5c8e7604e0e0b39b40151da47d974093..6753c5bd09e0b830e166aa9c295d9c8d5cb6f525 100644 (file)
 
 
 /* Error codes */
-#define SMB2_STATUS_SUCCESS                  0x00000000
-#define SMB2_STATUS_CANCELLED                0xffffffff
-#define SMB2_STATUS_PENDING                  0x00000103
-#define SMB2_STATUS_SMB_BAD_FID              0x00060001
-#define SMB2_STATUS_NO_MORE_FILES            0x80000006
-#define SMB2_STATUS_NOT_IMPLEMENTED          0xC0000002
-#define SMB2_STATUS_INVALID_HANDLE           0xC0000008
-#define SMB2_STATUS_INVALID_PARAMETER        0xC000000d
-#define SMB2_STATUS_NO_SUCH_DEVICE           0xC000000E
-#define SMB2_STATUS_NO_SUCH_FILE             0xC000000F
-#define SMB2_STATUS_INVALID_DEVICE_REQUEST   0xC0000010
-#define SMB2_STATUS_END_OF_FILE              0xC0000011
-#define SMB2_STATUS_NO_MEDIA_IN_DEVICE       0xC0000013
-#define SMB2_STATUS_MORE_PROCESSING_REQUIRED 0xC0000016
-#define SMB2_STATUS_INVALID_LOCK_SEQUENCE    0xC000001E
-#define SMB2_STATUS_INVALID_VIEW_SIZE        0xC000001F
-#define SMB2_STATUS_ALREADY_COMMITTED        0xC0000021
-#define SMB2_STATUS_ACCESS_DENIED            0xC0000022
-#define SMB2_STATUS_OBJECT_TYPE_MISMATCH     0xC0000024
-#define SMB2_STATUS_OBJECT_NAME_NOT_FOUND    0xC0000034
-#define SMB2_STATUS_OBJECT_NAME_COLLISION    0xC0000035
-#define SMB2_STATUS_PORT_DISCONNECTED        0xC0000037
-#define SMB2_STATUS_OBJECT_PATH_INVALID      0xC0000039
-#define SMB2_STATUS_OBJECT_PATH_NOT_FOUND    0xC000003A
-#define SMB2_STATUS_OBJECT_PATH_SYNTAX_BAD   0xC000003B
-#define SMB2_STATUS_DATA_ERROR               0xC000003E
-#define SMB2_STATUS_CRC_ERROR                0xC000003F
-#define SMB2_STATUS_SECTION_TOO_BIG          0xC0000040
-#define SMB2_STATUS_PORT_CONNECTION_REFUSED  0xC0000041
-#define SMB2_STATUS_INVALID_PORT_HANDLE      0xC0000042
-#define SMB2_STATUS_SHARING_VIOLATION        0xC0000043
-#define SMB2_STATUS_THREAD_IS_TERMINATING    0xC000004B
-#define SMB2_STATUS_FILE_LOCK_CONFLICT       0xC0000054
-#define SMB2_STATUS_LOCK_NOT_GRANTED         0xC0000055
-#define SMB2_STATUS_DELETE_PENDING           0xC0000056
-#define SMB2_STATUS_PRIVILEGE_NOT_HELD       0xC0000061
-#define SMB2_STATUS_LOGON_FAILURE            0xC000006d
-#define SMB2_STATUS_ACCOUNT_RESTRICTION      0xC000006E
-#define SMB2_STATUS_INVALID_LOGON_HOURS      0xC000006F
-#define SMB2_STATUS_PASSWORD_EXPIRED         0xC0000071
-#define SMB2_STATUS_ACCOUNT_DISABLED         0xC0000072
-#define SMB2_STATUS_DISK_FULL                0xC000007F
-#define SMB2_STATUS_TOO_MANY_PAGING_FILES    0xC0000097
-#define SMB2_STATUS_DFS_EXIT_PATH_FOUND      0xC000009B
-#define SMB2_STATUS_DEVICE_DATA_ERROR        0xC000009C
-#define SMB2_STATUS_MEDIA_WRITE_PROTECTED    0xC00000A2
-#define SMB2_STATUS_ILLEGAL_FUNCTION         0xC00000AF
-#define SMB2_STATUS_PIPE_DISCONNECTED        0xC00000B0
-#define SMB2_STATUS_FILE_IS_A_DIRECTORY      0xC00000BA
-#define SMB2_STATUS_BAD_NETWORK_PATH         0xC00000BE
-#define SMB2_STATUS_NETWORK_ACCESS_DENIED    0xC00000CA
-#define SMB2_STATUS_BAD_NETWORK_NAME         0xC00000CC
-#define SMB2_STATUS_NOT_SAME_DEVICE          0xC00000D4
-#define SMB2_STATUS_FILE_RENAMED             0xC00000D5
-#define SMB2_STATUS_REDIRECTOR_NOT_STARTED   0xC00000FB
-#define SMB2_STATUS_DIRECTORY_NOT_EMPTY      0xC0000101
-#define SMB2_STATUS_NOT_A_DIRECTORY          0xC0000103
-#define SMB2_STATUS_PROCESS_IS_TERMINATING   0xC000010A
-#define SMB2_STATUS_TOO_MANY_OPENED_FILES    0xC000011F
-#define SMB2_STATUS_CANNOT_DELETE            0xC0000121
-#define SMB2_STATUS_FILE_DELETED             0xC0000123
-#define SMB2_STATUS_FILE_CLOSED              0xC0000128
-#define SMB2_STATUS_INSUFF_SERVER_RESOURCES  0xC0000205
-#define SMB2_STATUS_HANDLE_NOT_CLOSABLE      0xC0000235
-#define SMB2_STATUS_NOT_A_REPARSE_POINT      0xC0000275
+#define SMB2_STATUS_SUCCESS                            0x00000000
+#define SMB2_STATUS_ABORTED                            0xffffffff
+#define SMB2_STATUS_PENDING                            0x00000103
+#define SMB2_STATUS_SMB_BAD_FID                        0x00060001
+#define SMB2_STATUS_NO_MORE_FILES                      0x80000006
+#define SMB2_STATUS_UNSUCCESSFUL                       0xC0000001
+#define SMB2_STATUS_NOT_IMPLEMENTED                    0xC0000002
+#define SMB2_STATUS_INVALID_INFO_CLASS                 0xC0000003
+#define SMB2_STATUS_INFO_LENGTH_MISMATCH               0xC0000004
+#define SMB2_STATUS_ACCESS_VIOLATION                   0xC0000005
+#define SMB2_STATUS_IN_PAGE_ERROR                      0xC0000006
+#define SMB2_STATUS_PAGEFILE_QUOTA                     0xC0000007
+#define SMB2_STATUS_INVALID_HANDLE                     0xC0000008
+#define SMB2_STATUS_BAD_INITIAL_STACK                  0xC0000009
+#define SMB2_STATUS_BAD_INITIAL_PC                     0xC000000A
+#define SMB2_STATUS_INVALID_CID                        0xC000000B
+#define SMB2_STATUS_TIMER_NOT_CANCELED                 0xC000000C
+#define SMB2_STATUS_INVALID_PARAMETER                  0xC000000D
+#define SMB2_STATUS_NO_SUCH_DEVICE                     0xC000000E
+#define SMB2_STATUS_NO_SUCH_FILE                       0xC000000F
+#define SMB2_STATUS_INVALID_DEVICE_REQUEST             0xC0000010
+#define SMB2_STATUS_END_OF_FILE                        0xC0000011
+#define SMB2_STATUS_WRONG_VOLUME                       0xC0000012
+#define SMB2_STATUS_NO_MEDIA_IN_DEVICE                 0xC0000013
+#define SMB2_STATUS_UNRECOGNIZED_MEDIA                 0xC0000014
+#define SMB2_STATUS_NONEXISTENT_SECTOR                 0xC0000015
+#define SMB2_STATUS_MORE_PROCESSING_REQUIRED           0xC0000016
+#define SMB2_STATUS_NO_MEMORY                          0xC0000017
+#define SMB2_STATUS_CONFLICTING_ADDRESSES              0xC0000018
+#define SMB2_STATUS_NOT_MAPPED_VIEW                    0xC0000019
+#define SMB2_STATUS_UNABLE_TO_FREE_VM                  0xC000001A
+#define SMB2_STATUS_UNABLE_TO_DELETE_SECTION           0xC000001B
+#define SMB2_STATUS_INVALID_SYSTEM_SERVICE             0xC000001C
+#define SMB2_STATUS_ILLEGAL_INSTRUCTION                0xC000001D
+#define SMB2_STATUS_INVALID_LOCK_SEQUENCE              0xC000001E
+#define SMB2_STATUS_INVALID_VIEW_SIZE                  0xC000001F
+#define SMB2_STATUS_INVALID_FILE_FOR_SECTION           0xC0000020
+#define SMB2_STATUS_ALREADY_COMMITTED                  0xC0000021
+#define SMB2_STATUS_ACCESS_DENIED                      0xC0000022
+#define SMB2_STATUS_BUFFER_TOO_SMALL                   0xC0000023
+#define SMB2_STATUS_OBJECT_TYPE_MISMATCH               0xC0000024
+#define SMB2_STATUS_NONCONTINUABLE_EXCEPTION           0xC0000025
+#define SMB2_STATUS_INVALID_DISPOSITION                0xC0000026
+#define SMB2_STATUS_UNWIND                             0xC0000027
+#define SMB2_STATUS_BAD_STACK                          0xC0000028
+#define SMB2_STATUS_INVALID_UNWIND_TARGET              0xC0000029
+#define SMB2_STATUS_NOT_LOCKED                         0xC000002A
+#define SMB2_STATUS_PARITY_ERROR                       0xC000002B
+#define SMB2_STATUS_UNABLE_TO_DECOMMIT_VM              0xC000002C
+#define SMB2_STATUS_NOT_COMMITTED                      0xC000002D
+#define SMB2_STATUS_INVALID_PORT_ATTRIBUTES            0xC000002E
+#define SMB2_STATUS_PORT_MESSAGE_TOO_LONG              0xC000002F
+#define SMB2_STATUS_INVALID_PARAMETER_MIX              0xC0000030
+#define SMB2_STATUS_INVALID_QUOTA_LOWER                0xC0000031
+#define SMB2_STATUS_DISK_CORRUPT_ERROR                 0xC0000032
+#define SMB2_STATUS_OBJECT_NAME_INVALID                0xC0000033
+#define SMB2_STATUS_OBJECT_NAME_NOT_FOUND              0xC0000034
+#define SMB2_STATUS_OBJECT_NAME_COLLISION              0xC0000035
+#define SMB2_STATUS_HANDLE_NOT_WAITABLE                0xC0000036
+#define SMB2_STATUS_PORT_DISCONNECTED                  0xC0000037
+#define SMB2_STATUS_DEVICE_ALREADY_ATTACHED            0xC0000038
+#define SMB2_STATUS_OBJECT_PATH_INVALID                0xC0000039
+#define SMB2_STATUS_OBJECT_PATH_NOT_FOUND              0xC000003A
+#define SMB2_STATUS_OBJECT_PATH_SYNTAX_BAD             0xC000003B
+#define SMB2_STATUS_DATA_OVERRUN                       0xC000003C
+#define SMB2_STATUS_DATA_LATE_ERROR                    0xC000003D
+#define SMB2_STATUS_DATA_ERROR                         0xC000003E
+#define SMB2_STATUS_CRC_ERROR                          0xC000003F
+#define SMB2_STATUS_SECTION_TOO_BIG                    0xC0000040
+#define SMB2_STATUS_PORT_CONNECTION_REFUSED            0xC0000041
+#define SMB2_STATUS_INVALID_PORT_HANDLE                0xC0000042
+#define SMB2_STATUS_SHARING_VIOLATION                  0xC0000043
+#define SMB2_STATUS_QUOTA_EXCEEDED                     0xC0000044
+#define SMB2_STATUS_INVALID_PAGE_PROTECTION            0xC0000045
+#define SMB2_STATUS_MUTANT_NOT_OWNED                   0xC0000046
+#define SMB2_STATUS_SEMAPHORE_LIMIT_EXCEEDED           0xC0000047
+#define SMB2_STATUS_PORT_ALREADY_SET                   0xC0000048
+#define SMB2_STATUS_SECTION_NOT_IMAGE                  0xC0000049
+#define SMB2_STATUS_SUSPEND_COUNT_EXCEEDED             0xC000004A
+#define SMB2_STATUS_THREAD_IS_TERMINATING              0xC000004B
+#define SMB2_STATUS_BAD_WORKING_SET_LIMIT              0xC000004C
+#define SMB2_STATUS_INCOMPATIBLE_FILE_MAP              0xC000004D
+#define SMB2_STATUS_SECTION_PROTECTION                 0xC000004E
+#define SMB2_STATUS_EAS_NOT_SUPPORTED                  0xC000004F
+#define SMB2_STATUS_EA_TOO_LARGE                       0xC0000050
+#define SMB2_STATUS_NONEXISTENT_EA_ENTRY               0xC0000051
+#define SMB2_STATUS_NO_EAS_ON_FILE                     0xC0000052
+#define SMB2_STATUS_EA_CORRUPT_ERROR                   0xC0000053
+#define SMB2_STATUS_FILE_LOCK_CONFLICT                 0xC0000054
+#define SMB2_STATUS_LOCK_NOT_GRANTED                   0xC0000055
+#define SMB2_STATUS_DELETE_PENDING                     0xC0000056
+#define SMB2_STATUS_CTL_FILE_NOT_SUPPORTED             0xC0000057
+#define SMB2_STATUS_UNKNOWN_REVISION                   0xC0000058
+#define SMB2_STATUS_REVISION_MISMATCH                  0xC0000059
+#define SMB2_STATUS_INVALID_OWNER                      0xC000005A
+#define SMB2_STATUS_INVALID_PRIMARY_GROUP              0xC000005B
+#define SMB2_STATUS_NO_IMPERSONATION_TOKEN             0xC000005C
+#define SMB2_STATUS_CANT_DISABLE_MANDATORY             0xC000005D
+#define SMB2_STATUS_NO_LOGON_SERVERS                   0xC000005E
+#define SMB2_STATUS_NO_SUCH_LOGON_SESSION              0xC000005F
+#define SMB2_STATUS_NO_SUCH_PRIVILEGE                  0xC0000060
+#define SMB2_STATUS_PRIVILEGE_NOT_HELD                 0xC0000061
+#define SMB2_STATUS_INVALID_ACCOUNT_NAME               0xC0000062
+#define SMB2_STATUS_USER_EXISTS                        0xC0000063
+#define SMB2_STATUS_NO_SUCH_USER                       0xC0000064
+#define SMB2_STATUS_GROUP_EXISTS                       0xC0000065
+#define SMB2_STATUS_NO_SUCH_GROUP                      0xC0000066
+#define SMB2_STATUS_MEMBER_IN_GROUP                    0xC0000067
+#define SMB2_STATUS_MEMBER_NOT_IN_GROUP                0xC0000068
+#define SMB2_STATUS_LAST_ADMIN                         0xC0000069
+#define SMB2_STATUS_WRONG_PASSWORD                     0xC000006A
+#define SMB2_STATUS_ILL_FORMED_PASSWORD                0xC000006B
+#define SMB2_STATUS_PASSWORD_RESTRICTION               0xC000006C
+#define SMB2_STATUS_LOGON_FAILURE                      0xC000006D
+#define SMB2_STATUS_ACCOUNT_RESTRICTION                0xC000006E
+#define SMB2_STATUS_INVALID_LOGON_HOURS                0xC000006F
+#define SMB2_STATUS_INVALID_WORKSTATION                0xC0000070
+#define SMB2_STATUS_PASSWORD_EXPIRED                   0xC0000071
+#define SMB2_STATUS_ACCOUNT_DISABLED                   0xC0000072
+#define SMB2_STATUS_NONE_MAPPED                        0xC0000073
+#define SMB2_STATUS_TOO_MANY_LUIDS_REQUESTED           0xC0000074
+#define SMB2_STATUS_LUIDS_EXHAUSTED                    0xC0000075
+#define SMB2_STATUS_INVALID_SUB_AUTHORITY              0xC0000076
+#define SMB2_STATUS_INVALID_ACL                        0xC0000077
+#define SMB2_STATUS_INVALID_SID                        0xC0000078
+#define SMB2_STATUS_INVALID_SECURITY_DESCR             0xC0000079
+#define SMB2_STATUS_PROCEDURE_NOT_FOUND                0xC000007A
+#define SMB2_STATUS_INVALID_IMAGE_FORMAT               0xC000007B
+#define SMB2_STATUS_NO_TOKEN                           0xC000007C
+#define SMB2_STATUS_BAD_INHERITANCE_ACL                0xC000007D
+#define SMB2_STATUS_RANGE_NOT_LOCKED                   0xC000007E
+#define SMB2_STATUS_DISK_FULL                          0xC000007F
+#define SMB2_STATUS_SERVER_DISABLED                    0xC0000080
+#define SMB2_STATUS_SERVER_NOT_DISABLED                0xC0000081
+#define SMB2_STATUS_TOO_MANY_GUIDS_REQUESTED           0xC0000082
+#define SMB2_STATUS_GUIDS_EXHAUSTED                    0xC0000083
+#define SMB2_STATUS_INVALID_ID_AUTHORITY               0xC0000084
+#define SMB2_STATUS_AGENTS_EXHAUSTED                   0xC0000085
+#define SMB2_STATUS_INVALID_VOLUME_LABEL               0xC0000086
+#define SMB2_STATUS_SECTION_NOT_EXTENDED               0xC0000087
+#define SMB2_STATUS_NOT_MAPPED_DATA                    0xC0000088
+#define SMB2_STATUS_RESOURCE_DATA_NOT_FOUND            0xC0000089
+#define SMB2_STATUS_RESOURCE_TYPE_NOT_FOUND            0xC000008A
+#define SMB2_STATUS_RESOURCE_NAME_NOT_FOUND            0xC000008B
+#define SMB2_STATUS_ARRAY_BOUNDS_EXCEEDED              0xC000008C
+#define SMB2_STATUS_FLOAT_DENORMAL_OPERAND             0xC000008D
+#define SMB2_STATUS_FLOAT_DIVIDE_BY_ZERO               0xC000008E
+#define SMB2_STATUS_FLOAT_INEXACT_RESULT               0xC000008F
+#define SMB2_STATUS_FLOAT_INVALID_OPERATION            0xC0000090
+#define SMB2_STATUS_FLOAT_OVERFLOW                     0xC0000091
+#define SMB2_STATUS_FLOAT_STACK_CHECK                  0xC0000092
+#define SMB2_STATUS_FLOAT_UNDERFLOW                    0xC0000093
+#define SMB2_STATUS_INTEGER_DIVIDE_BY_ZERO             0xC0000094
+#define SMB2_STATUS_INTEGER_OVERFLOW                   0xC0000095
+#define SMB2_STATUS_PRIVILEGED_INSTRUCTION             0xC0000096
+#define SMB2_STATUS_TOO_MANY_PAGING_FILES              0xC0000097
+#define SMB2_STATUS_FILE_INVALID                       0xC0000098
+#define SMB2_STATUS_ALLOTTED_SPACE_EXCEEDED            0xC0000099
+#define SMB2_STATUS_INSUFFICIENT_RESOURCES             0xC000009A
+#define SMB2_STATUS_DFS_EXIT_PATH_FOUND                0xC000009B
+#define SMB2_STATUS_DEVICE_DATA_ERROR                  0xC000009C
+#define SMB2_STATUS_DEVICE_NOT_CONNECTED               0xC000009D
+#define SMB2_STATUS_DEVICE_POWER_FAILURE               0xC000009E
+#define SMB2_STATUS_FREE_VM_NOT_AT_BASE                0xC000009F
+#define SMB2_STATUS_MEMORY_NOT_ALLOCATED               0xC00000A0
+#define SMB2_STATUS_WORKING_SET_QUOTA                  0xC00000A1
+#define SMB2_STATUS_MEDIA_WRITE_PROTECTED              0xC00000A2
+#define SMB2_STATUS_DEVICE_NOT_READY                   0xC00000A3
+#define SMB2_STATUS_INVALID_GROUP_ATTRIBUTES           0xC00000A4
+#define SMB2_STATUS_BAD_IMPERSONATION_LEVEL            0xC00000A5
+#define SMB2_STATUS_CANT_OPEN_ANONYMOUS                0xC00000A6
+#define SMB2_STATUS_BAD_VALIDATION_CLASS               0xC00000A7
+#define SMB2_STATUS_BAD_TOKEN_TYPE                     0xC00000A8
+#define SMB2_STATUS_BAD_MASTER_BOOT_RECORD             0xC00000A9
+#define SMB2_STATUS_INSTRUCTION_MISALIGNMENT           0xC00000AA
+#define SMB2_STATUS_INSTANCE_NOT_AVAILABLE             0xC00000AB
+#define SMB2_STATUS_PIPE_NOT_AVAILABLE                 0xC00000AC
+#define SMB2_STATUS_INVALID_PIPE_STATE                 0xC00000AD
+#define SMB2_STATUS_PIPE_BUSY                          0xC00000AE
+#define SMB2_STATUS_ILLEGAL_FUNCTION                   0xC00000AF
+#define SMB2_STATUS_PIPE_DISCONNECTED                  0xC00000B0
+#define SMB2_STATUS_PIPE_CLOSING                       0xC00000B1
+#define SMB2_STATUS_PIPE_CONNECTED                     0xC00000B2
+#define SMB2_STATUS_PIPE_LISTENING                     0xC00000B3
+#define SMB2_STATUS_INVALID_READ_MODE                  0xC00000B4
+#define SMB2_STATUS_IO_TIMEOUT                         0xC00000B5
+#define SMB2_STATUS_FILE_FORCED_CLOSED                 0xC00000B6
+#define SMB2_STATUS_PROFILING_NOT_STARTED              0xC00000B7
+#define SMB2_STATUS_PROFILING_NOT_STOPPED              0xC00000B8
+#define SMB2_STATUS_COULD_NOT_INTERPRET                0xC00000B9
+#define SMB2_STATUS_FILE_IS_A_DIRECTORY                0xC00000BA
+#define SMB2_STATUS_NOT_SUPPORTED                      0xC00000BB
+#define SMB2_STATUS_REMOTE_NOT_LISTENING               0xC00000BC
+#define SMB2_STATUS_DUPLICATE_NAME                     0xC00000BD
+#define SMB2_STATUS_BAD_NETWORK_PATH                   0xC00000BE
+#define SMB2_STATUS_NETWORK_BUSY                       0xC00000BF
+#define SMB2_STATUS_DEVICE_DOES_NOT_EXIST              0xC00000C0
+#define SMB2_STATUS_TOO_MANY_COMMANDS                  0xC00000C1
+#define SMB2_STATUS_ADAPTER_HARDWARE_ERROR             0xC00000C2
+#define SMB2_STATUS_INVALID_NETWORK_RESPONSE           0xC00000C3
+#define SMB2_STATUS_UNEXPECTED_NETWORK_ERROR           0xC00000C4
+#define SMB2_STATUS_BAD_REMOTE_ADAPTER                 0xC00000C5
+#define SMB2_STATUS_PRINT_QUEUE_FULL                   0xC00000C6
+#define SMB2_STATUS_NO_SPOOL_SPACE                     0xC00000C7
+#define SMB2_STATUS_PRINT_CANCELLED                    0xC00000C8
+#define SMB2_STATUS_NETWORK_NAME_DELETED               0xC00000C9
+#define SMB2_STATUS_NETWORK_ACCESS_DENIED              0xC00000CA
+#define SMB2_STATUS_BAD_DEVICE_TYPE                    0xC00000CB
+#define SMB2_STATUS_BAD_NETWORK_NAME                   0xC00000CC
+#define SMB2_STATUS_TOO_MANY_NAMES                     0xC00000CD
+#define SMB2_STATUS_TOO_MANY_SESSIONS                  0xC00000CE
+#define SMB2_STATUS_SHARING_PAUSED                     0xC00000CF
+#define SMB2_STATUS_REQUEST_NOT_ACCEPTED               0xC00000D0
+#define SMB2_STATUS_REDIRECTOR_PAUSED                  0xC00000D1
+#define SMB2_STATUS_NET_WRITE_FAULT                    0xC00000D2
+#define SMB2_STATUS_PROFILING_AT_LIMIT                 0xC00000D3
+#define SMB2_STATUS_NOT_SAME_DEVICE                    0xC00000D4
+#define SMB2_STATUS_FILE_RENAMED                       0xC00000D5
+#define SMB2_STATUS_VIRTUAL_CIRCUIT_CLOSED             0xC00000D6
+#define SMB2_STATUS_NO_SECURITY_ON_OBJECT              0xC00000D7
+#define SMB2_STATUS_CANT_WAIT                          0xC00000D8
+#define SMB2_STATUS_PIPE_EMPTY                         0xC00000D9
+#define SMB2_STATUS_CANT_ACCESS_DOMAIN_INFO            0xC00000DA
+#define SMB2_STATUS_CANT_TERMINATE_SELF                0xC00000DB
+#define SMB2_STATUS_INVALID_SERVER_STATE               0xC00000DC
+#define SMB2_STATUS_INVALID_DOMAIN_STATE               0xC00000DD
+#define SMB2_STATUS_INVALID_DOMAIN_ROLE                0xC00000DE
+#define SMB2_STATUS_NO_SUCH_DOMAIN                     0xC00000DF
+#define SMB2_STATUS_DOMAIN_EXISTS                      0xC00000E0
+#define SMB2_STATUS_DOMAIN_LIMIT_EXCEEDED              0xC00000E1
+#define SMB2_STATUS_OPLOCK_NOT_GRANTED                 0xC00000E2
+#define SMB2_STATUS_INVALID_OPLOCK_PROTOCOL            0xC00000E3
+#define SMB2_STATUS_INTERNAL_DB_CORRUPTION             0xC00000E4
+#define SMB2_STATUS_INTERNAL_ERROR                     0xC00000E5
+#define SMB2_STATUS_GENERIC_NOT_MAPPED                 0xC00000E6
+#define SMB2_STATUS_BAD_DESCRIPTOR_FORMAT              0xC00000E7
+#define SMB2_STATUS_INVALID_USER_BUFFER                0xC00000E8
+#define SMB2_STATUS_UNEXPECTED_IO_ERROR                0xC00000E9
+#define SMB2_STATUS_UNEXPECTED_MM_CREATE_ERR           0xC00000EA
+#define SMB2_STATUS_UNEXPECTED_MM_MAP_ERROR            0xC00000EB
+#define SMB2_STATUS_UNEXPECTED_MM_EXTEND_ERR           0xC00000EC
+#define SMB2_STATUS_NOT_LOGON_PROCESS                  0xC00000ED
+#define SMB2_STATUS_LOGON_SESSION_EXISTS               0xC00000EE
+#define SMB2_STATUS_INVALID_PARAMETER_1                0xC00000EF
+#define SMB2_STATUS_INVALID_PARAMETER_2                0xC00000F0
+#define SMB2_STATUS_INVALID_PARAMETER_3                0xC00000F1
+#define SMB2_STATUS_INVALID_PARAMETER_4                0xC00000F2
+#define SMB2_STATUS_INVALID_PARAMETER_5                0xC00000F3
+#define SMB2_STATUS_INVALID_PARAMETER_6                0xC00000F4
+#define SMB2_STATUS_INVALID_PARAMETER_7                0xC00000F5
+#define SMB2_STATUS_INVALID_PARAMETER_8                0xC00000F6
+#define SMB2_STATUS_INVALID_PARAMETER_9                0xC00000F7
+#define SMB2_STATUS_INVALID_PARAMETER_10               0xC00000F8
+#define SMB2_STATUS_INVALID_PARAMETER_11               0xC00000F9
+#define SMB2_STATUS_INVALID_PARAMETER_12               0xC00000FA
+#define SMB2_STATUS_REDIRECTOR_NOT_STARTED             0xC00000FB
+#define SMB2_STATUS_REDIRECTOR_STARTED                 0xC00000FC
+#define SMB2_STATUS_STACK_OVERFLOW                     0xC00000FD
+#define SMB2_STATUS_NO_SUCH_PACKAGE                    0xC00000FE
+#define SMB2_STATUS_BAD_FUNCTION_TABLE                 0xC00000FF
+#define SMB2_STATUS_DIRECTORY_NOT_EMPTY                0xC0000101
+#define SMB2_STATUS_FILE_CORRUPT_ERROR                 0xC0000102
+#define SMB2_STATUS_NOT_A_DIRECTORY                    0xC0000103
+#define SMB2_STATUS_BAD_LOGON_SESSION_STATE            0xC0000104
+#define SMB2_STATUS_LOGON_SESSION_COLLISION            0xC0000105
+#define SMB2_STATUS_NAME_TOO_LONG                      0xC0000106
+#define SMB2_STATUS_FILES_OPEN                         0xC0000107
+#define SMB2_STATUS_CONNECTION_IN_USE                  0xC0000108
+#define SMB2_STATUS_MESSAGE_NOT_FOUND                  0xC0000109
+#define SMB2_STATUS_PROCESS_IS_TERMINATING             0xC000010A
+#define SMB2_STATUS_INVALID_LOGON_TYPE                 0xC000010B
+#define SMB2_STATUS_NO_GUID_TRANSLATION                0xC000010C
+#define SMB2_STATUS_CANNOT_IMPERSONATE                 0xC000010D
+#define SMB2_STATUS_IMAGE_ALREADY_LOADED               0xC000010E
+#define SMB2_STATUS_ABIOS_NOT_PRESENT                  0xC000010F
+#define SMB2_STATUS_ABIOS_LID_NOT_EXIST                0xC0000110
+#define SMB2_STATUS_ABIOS_LID_ALREADY_OWNED            0xC0000111
+#define SMB2_STATUS_ABIOS_NOT_LID_OWNER                0xC0000112
+#define SMB2_STATUS_ABIOS_INVALID_COMMAND              0xC0000113
+#define SMB2_STATUS_ABIOS_INVALID_LID                  0xC0000114
+#define SMB2_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE       0xC0000115
+#define SMB2_STATUS_ABIOS_INVALID_SELECTOR             0xC0000116
+#define SMB2_STATUS_NO_LDT                             0xC0000117
+#define SMB2_STATUS_INVALID_LDT_SIZE                   0xC0000118
+#define SMB2_STATUS_INVALID_LDT_OFFSET                 0xC0000119
+#define SMB2_STATUS_INVALID_LDT_DESCRIPTOR             0xC000011A
+#define SMB2_STATUS_INVALID_IMAGE_NE_FORMAT            0xC000011B
+#define SMB2_STATUS_RXACT_INVALID_STATE                0xC000011C
+#define SMB2_STATUS_RXACT_COMMIT_FAILURE               0xC000011D
+#define SMB2_STATUS_MAPPED_FILE_SIZE_ZERO              0xC000011E
+#define SMB2_STATUS_TOO_MANY_OPENED_FILES              0xC000011F
+#define SMB2_STATUS_CANCELLED                          0xC0000120
+#define SMB2_STATUS_CANNOT_DELETE                      0xC0000121
+#define SMB2_STATUS_INVALID_COMPUTER_NAME              0xC0000122
+#define SMB2_STATUS_FILE_DELETED                       0xC0000123
+#define SMB2_STATUS_SPECIAL_ACCOUNT                    0xC0000124
+#define SMB2_STATUS_SPECIAL_GROUP                      0xC0000125
+#define SMB2_STATUS_SPECIAL_USER                       0xC0000126
+#define SMB2_STATUS_MEMBERS_PRIMARY_GROUP              0xC0000127
+#define SMB2_STATUS_FILE_CLOSED                        0xC0000128
+#define SMB2_STATUS_TOO_MANY_THREADS                   0xC0000129
+#define SMB2_STATUS_THREAD_NOT_IN_PROCESS              0xC000012A
+#define SMB2_STATUS_TOKEN_ALREADY_IN_USE               0xC000012B
+#define SMB2_STATUS_PAGEFILE_QUOTA_EXCEEDED            0xC000012C
+#define SMB2_STATUS_COMMITMENT_LIMIT                   0xC000012D
+#define SMB2_STATUS_INVALID_IMAGE_LE_FORMAT            0xC000012E
+#define SMB2_STATUS_INVALID_IMAGE_NOT_MZ               0xC000012F
+#define SMB2_STATUS_INVALID_IMAGE_PROTECT              0xC0000130
+#define SMB2_STATUS_INVALID_IMAGE_WIN_16               0xC0000131
+#define SMB2_STATUS_LOGON_SERVER_CONFLICT              0xC0000132
+#define SMB2_STATUS_TIME_DIFFERENCE_AT_DC              0xC0000133
+#define SMB2_STATUS_SYNCHRONIZATION_REQUIRED           0xC0000134
+#define SMB2_STATUS_DLL_NOT_FOUND                      0xC0000135
+#define SMB2_STATUS_OPEN_FAILED                        0xC0000136
+#define SMB2_STATUS_IO_PRIVILEGE_FAILED                0xC0000137
+#define SMB2_STATUS_ORDINAL_NOT_FOUND                  0xC0000138
+#define SMB2_STATUS_ENTRYPOINT_NOT_FOUND               0xC0000139
+#define SMB2_STATUS_CONTROL_C_EXIT                     0xC000013A
+#define SMB2_STATUS_LOCAL_DISCONNECT                   0xC000013B
+#define SMB2_STATUS_REMOTE_DISCONNECT                  0xC000013C
+#define SMB2_STATUS_REMOTE_RESOURCES                   0xC000013D
+#define SMB2_STATUS_LINK_FAILED                        0xC000013E
+#define SMB2_STATUS_LINK_TIMEOUT                       0xC000013F
+#define SMB2_STATUS_INVALID_CONNECTION                 0xC0000140
+#define SMB2_STATUS_INVALID_ADDRESS                    0xC0000141
+#define SMB2_STATUS_DLL_INIT_FAILED                    0xC0000142
+#define SMB2_STATUS_MISSING_SYSTEMFILE                 0xC0000143
+#define SMB2_STATUS_UNHANDLED_EXCEPTION                0xC0000144
+#define SMB2_STATUS_APP_INIT_FAILURE                   0xC0000145
+#define SMB2_STATUS_PAGEFILE_CREATE_FAILED             0xC0000146
+#define SMB2_STATUS_NO_PAGEFILE                        0xC0000147
+#define SMB2_STATUS_INVALID_LEVEL                      0xC0000148
+#define SMB2_STATUS_WRONG_PASSWORD_CORE                0xC0000149
+#define SMB2_STATUS_ILLEGAL_FLOAT_CONTEXT              0xC000014A
+#define SMB2_STATUS_PIPE_BROKEN                        0xC000014B
+#define SMB2_STATUS_REGISTRY_CORRUPT                   0xC000014C
+#define SMB2_STATUS_REGISTRY_IO_FAILED                 0xC000014D
+#define SMB2_STATUS_NO_EVENT_PAIR                      0xC000014E
+#define SMB2_STATUS_UNRECOGNIZED_VOLUME                0xC000014F
+#define SMB2_STATUS_SERIAL_NO_DEVICE_INITED            0xC0000150
+#define SMB2_STATUS_NO_SUCH_ALIAS                      0xC0000151
+#define SMB2_STATUS_MEMBER_NOT_IN_ALIAS                0xC0000152
+#define SMB2_STATUS_MEMBER_IN_ALIAS                    0xC0000153
+#define SMB2_STATUS_ALIAS_EXISTS                       0xC0000154
+#define SMB2_STATUS_LOGON_NOT_GRANTED                  0xC0000155
+#define SMB2_STATUS_TOO_MANY_SECRETS                   0xC0000156
+#define SMB2_STATUS_SECRET_TOO_LONG                    0xC0000157
+#define SMB2_STATUS_INTERNAL_DB_ERROR                  0xC0000158
+#define SMB2_STATUS_FULLSCREEN_MODE                    0xC0000159
+#define SMB2_STATUS_TOO_MANY_CONTEXT_IDS               0xC000015A
+#define SMB2_STATUS_LOGON_TYPE_NOT_GRANTED             0xC000015B
+#define SMB2_STATUS_NOT_REGISTRY_FILE                  0xC000015C
+#define SMB2_STATUS_NT_CROSS_ENCRYPTION_REQUIRED       0xC000015D
+#define SMB2_STATUS_DOMAIN_CTRLR_CONFIG_ERROR          0xC000015E
+#define SMB2_STATUS_FT_MISSING_MEMBER                  0xC000015F
+#define SMB2_STATUS_ILL_FORMED_SERVICE_ENTRY           0xC0000160
+#define SMB2_STATUS_ILLEGAL_CHARACTER                  0xC0000161
+#define SMB2_STATUS_UNMAPPABLE_CHARACTER               0xC0000162
+#define SMB2_STATUS_UNDEFINED_CHARACTER                0xC0000163
+#define SMB2_STATUS_FLOPPY_VOLUME                      0xC0000164
+#define SMB2_STATUS_FLOPPY_ID_MARK_NOT_FOUND           0xC0000165
+#define SMB2_STATUS_FLOPPY_WRONG_CYLINDER              0xC0000166
+#define SMB2_STATUS_FLOPPY_UNKNOWN_ERROR               0xC0000167
+#define SMB2_STATUS_FLOPPY_BAD_REGISTERS               0xC0000168
+#define SMB2_STATUS_DISK_RECALIBRATE_FAILED            0xC0000169
+#define SMB2_STATUS_DISK_OPERATION_FAILED              0xC000016A
+#define SMB2_STATUS_DISK_RESET_FAILED                  0xC000016B
+#define SMB2_STATUS_SHARED_IRQ_BUSY                    0xC000016C
+#define SMB2_STATUS_FT_ORPHANING                       0xC000016D
+#define SMB2_STATUS_PARTITION_FAILURE                  0xC0000172
+#define SMB2_STATUS_INVALID_BLOCK_LENGTH               0xC0000173
+#define SMB2_STATUS_DEVICE_NOT_PARTITIONED             0xC0000174
+#define SMB2_STATUS_UNABLE_TO_LOCK_MEDIA               0xC0000175
+#define SMB2_STATUS_UNABLE_TO_UNLOAD_MEDIA             0xC0000176
+#define SMB2_STATUS_EOM_OVERFLOW                       0xC0000177
+#define SMB2_STATUS_NO_MEDIA                           0xC0000178
+#define SMB2_STATUS_NO_SUCH_MEMBER                     0xC000017A
+#define SMB2_STATUS_INVALID_MEMBER                     0xC000017B
+#define SMB2_STATUS_KEY_DELETED                        0xC000017C
+#define SMB2_STATUS_NO_LOG_SPACE                       0xC000017D
+#define SMB2_STATUS_TOO_MANY_SIDS                      0xC000017E
+#define SMB2_STATUS_LM_CROSS_ENCRYPTION_REQUIRED       0xC000017F
+#define SMB2_STATUS_KEY_HAS_CHILDREN                   0xC0000180
+#define SMB2_STATUS_CHILD_MUST_BE_VOLATILE             0xC0000181
+#define SMB2_STATUS_DEVICE_CONFIGURATION_ERROR         0xC0000182
+#define SMB2_STATUS_DRIVER_INTERNAL_ERROR              0xC0000183
+#define SMB2_STATUS_INVALID_DEVICE_STATE               0xC0000184
+#define SMB2_STATUS_IO_DEVICE_ERROR                    0xC0000185
+#define SMB2_STATUS_DEVICE_PROTOCOL_ERROR              0xC0000186
+#define SMB2_STATUS_BACKUP_CONTROLLER                  0xC0000187
+#define SMB2_STATUS_LOG_FILE_FULL                      0xC0000188
+#define SMB2_STATUS_TOO_LATE                           0xC0000189
+#define SMB2_STATUS_NO_TRUST_LSA_SECRET                0xC000018A
+#define SMB2_STATUS_NO_TRUST_SAM_ACCOUNT               0xC000018B
+#define SMB2_STATUS_TRUSTED_DOMAIN_FAILURE             0xC000018C
+#define SMB2_STATUS_TRUSTED_RELATIONSHIP_FAILURE       0xC000018D
+#define SMB2_STATUS_EVENTLOG_FILE_CORRUPT              0xC000018E
+#define SMB2_STATUS_EVENTLOG_CANT_START                0xC000018F
+#define SMB2_STATUS_TRUST_FAILURE                      0xC0000190
+#define SMB2_STATUS_MUTANT_LIMIT_EXCEEDED              0xC0000191
+#define SMB2_STATUS_NETLOGON_NOT_STARTED               0xC0000192
+#define SMB2_STATUS_ACCOUNT_EXPIRED                    0xC0000193
+#define SMB2_STATUS_POSSIBLE_DEADLOCK                  0xC0000194
+#define SMB2_STATUS_NETWORK_CREDENTIAL_CONFLICT        0xC0000195
+#define SMB2_STATUS_REMOTE_SESSION_LIMIT               0xC0000196
+#define SMB2_STATUS_EVENTLOG_FILE_CHANGED              0xC0000197
+#define SMB2_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT  0xC0000198
+#define SMB2_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT  0xC0000199
+#define SMB2_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT       0xC000019A
+#define SMB2_STATUS_DOMAIN_TRUST_INCONSISTENT          0xC000019B
+#define SMB2_STATUS_FS_DRIVER_REQUIRED                 0xC000019C
+#define SMB2_STATUS_NO_USER_SESSION_KEY                0xC0000202
+#define SMB2_STATUS_USER_SESSION_DELETED               0xC0000203
+#define SMB2_STATUS_RESOURCE_LANG_NOT_FOUND            0xC0000204
+#define SMB2_STATUS_INSUFF_SERVER_RESOURCES            0xC0000205
+#define SMB2_STATUS_INVALID_BUFFER_SIZE                0xC0000206
+#define SMB2_STATUS_INVALID_ADDRESS_COMPONENT          0xC0000207
+#define SMB2_STATUS_INVALID_ADDRESS_WILDCARD           0xC0000208
+#define SMB2_STATUS_TOO_MANY_ADDRESSES                 0xC0000209
+#define SMB2_STATUS_ADDRESS_ALREADY_EXISTS             0xC000020A
+#define SMB2_STATUS_ADDRESS_CLOSED                     0xC000020B
+#define SMB2_STATUS_CONNECTION_DISCONNECTED            0xC000020C
+#define SMB2_STATUS_CONNECTION_RESET                   0xC000020D
+#define SMB2_STATUS_TOO_MANY_NODES                     0xC000020E
+#define SMB2_STATUS_TRANSACTION_ABORTED                0xC000020F
+#define SMB2_STATUS_TRANSACTION_TIMED_OUT              0xC0000210
+#define SMB2_STATUS_TRANSACTION_NO_RELEASE             0xC0000211
+#define SMB2_STATUS_TRANSACTION_NO_MATCH               0xC0000212
+#define SMB2_STATUS_TRANSACTION_RESPONDED              0xC0000213
+#define SMB2_STATUS_TRANSACTION_INVALID_ID             0xC0000214
+#define SMB2_STATUS_TRANSACTION_INVALID_TYPE           0xC0000215
+#define SMB2_STATUS_NOT_SERVER_SESSION                 0xC0000216
+#define SMB2_STATUS_NOT_CLIENT_SESSION                 0xC0000217
+#define SMB2_STATUS_CANNOT_LOAD_REGISTRY_FILE          0xC0000218
+#define SMB2_STATUS_DEBUG_ATTACH_FAILED                0xC0000219
+#define SMB2_STATUS_SYSTEM_PROCESS_TERMINATED          0xC000021A
+#define SMB2_STATUS_DATA_NOT_ACCEPTED                  0xC000021B
+#define SMB2_STATUS_NO_BROWSER_SERVERS_FOUND           0xC000021C
+#define SMB2_STATUS_VDM_HARD_ERROR                     0xC000021D
+#define SMB2_STATUS_DRIVER_CANCEL_TIMEOUT              0xC000021E
+#define SMB2_STATUS_REPLY_MESSAGE_MISMATCH             0xC000021F
+#define SMB2_STATUS_MAPPED_ALIGNMENT                   0xC0000220
+#define SMB2_STATUS_IMAGE_CHECKSUM_MISMATCH            0xC0000221
+#define SMB2_STATUS_LOST_WRITEBEHIND_DATA              0xC0000222
+#define SMB2_STATUS_CLIENT_SERVER_PARAMETERS_INVALID   0xC0000223
+#define SMB2_STATUS_PASSWORD_MUST_CHANGE               0xC0000224
+#define SMB2_STATUS_NOT_FOUND                          0xC0000225
+#define SMB2_STATUS_NOT_TINY_STREAM                    0xC0000226
+#define SMB2_STATUS_RECOVERY_FAILURE                   0xC0000227
+#define SMB2_STATUS_STACK_OVERFLOW_READ                0xC0000228
+#define SMB2_STATUS_FAIL_CHECK                         0xC0000229
+#define SMB2_STATUS_DUPLICATE_OBJECTID                 0xC000022A
+#define SMB2_STATUS_OBJECTID_EXISTS                    0xC000022B
+#define SMB2_STATUS_CONVERT_TO_LARGE                   0xC000022C
+#define SMB2_STATUS_RETRY                              0xC000022D
+#define SMB2_STATUS_FOUND_OUT_OF_SCOPE                 0xC000022E
+#define SMB2_STATUS_ALLOCATE_BUCKET                    0xC000022F
+#define SMB2_STATUS_PROPSET_NOT_FOUND                  0xC0000230
+#define SMB2_STATUS_MARSHALL_OVERFLOW                  0xC0000231
+#define SMB2_STATUS_INVALID_VARIANT                    0xC0000232
+#define SMB2_STATUS_DOMAIN_CONTROLLER_NOT_FOUND        0xC0000233
+#define SMB2_STATUS_ACCOUNT_LOCKED_OUT                 0xC0000234
+#define SMB2_STATUS_HANDLE_NOT_CLOSABLE                0xC0000235
+#define SMB2_STATUS_CONNECTION_REFUSED                 0xC0000236
+#define SMB2_STATUS_GRACEFUL_DISCONNECT                0xC0000237
+#define SMB2_STATUS_ADDRESS_ALREADY_ASSOCIATED         0xC0000238
+#define SMB2_STATUS_ADDRESS_NOT_ASSOCIATED             0xC0000239
+#define SMB2_STATUS_CONNECTION_INVALID                 0xC000023A
+#define SMB2_STATUS_CONNECTION_ACTIVE                  0xC000023B
+#define SMB2_STATUS_NETWORK_UNREACHABLE                0xC000023C
+#define SMB2_STATUS_HOST_UNREACHABLE                   0xC000023D
+#define SMB2_STATUS_PROTOCOL_UNREACHABLE               0xC000023E
+#define SMB2_STATUS_PORT_UNREACHABLE                   0xC000023F
+#define SMB2_STATUS_REQUEST_ABORTED                    0xC0000240
+#define SMB2_STATUS_CONNECTION_ABORTED                 0xC0000241
+#define SMB2_STATUS_BAD_COMPRESSION_BUFFER             0xC0000242
+#define SMB2_STATUS_USER_MAPPED_FILE                   0xC0000243
+#define SMB2_STATUS_AUDIT_FAILED                       0xC0000244
+#define SMB2_STATUS_TIMER_RESOLUTION_NOT_SET           0xC0000245
+#define SMB2_STATUS_CONNECTION_COUNT_LIMIT             0xC0000246
+#define SMB2_STATUS_LOGIN_TIME_RESTRICTION             0xC0000247
+#define SMB2_STATUS_LOGIN_WKSTA_RESTRICTION            0xC0000248
+#define SMB2_STATUS_IMAGE_MP_UP_MISMATCH               0xC0000249
+#define SMB2_STATUS_INSUFFICIENT_LOGON_INFO            0xC0000250
+#define SMB2_STATUS_BAD_DLL_ENTRYPOINT                 0xC0000251
+#define SMB2_STATUS_BAD_SERVICE_ENTRYPOINT             0xC0000252
+#define SMB2_STATUS_LPC_REPLY_LOST                     0xC0000253
+#define SMB2_STATUS_IP_ADDRESS_CONFLICT1               0xC0000254
+#define SMB2_STATUS_IP_ADDRESS_CONFLICT2               0xC0000255
+#define SMB2_STATUS_REGISTRY_QUOTA_LIMIT               0xC0000256
+#define SMB2_STATUS_PATH_NOT_COVERED                   0xC0000257
+#define SMB2_STATUS_NO_CALLBACK_ACTIVE                 0xC0000258
+#define SMB2_STATUS_LICENSE_QUOTA_EXCEEDED             0xC0000259
+#define SMB2_STATUS_PWD_TOO_SHORT                      0xC000025A
+#define SMB2_STATUS_PWD_TOO_RECENT                     0xC000025B
+#define SMB2_STATUS_PWD_HISTORY_CONFLICT               0xC000025C
+#define SMB2_STATUS_PLUGPLAY_NO_DEVICE                 0xC000025E
+#define SMB2_STATUS_UNSUPPORTED_COMPRESSION            0xC000025F
+#define SMB2_STATUS_INVALID_HW_PROFILE                 0xC0000260
+#define SMB2_STATUS_INVALID_PLUGPLAY_DEVICE_PATH       0xC0000261
+#define SMB2_STATUS_DRIVER_ORDINAL_NOT_FOUND           0xC0000262
+#define SMB2_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND        0xC0000263
+#define SMB2_STATUS_RESOURCE_NOT_OWNED                 0xC0000264
+#define SMB2_STATUS_TOO_MANY_LINKS                     0xC0000265
+#define SMB2_STATUS_QUOTA_LIST_INCONSISTENT            0xC0000266
+#define SMB2_STATUS_FILE_IS_OFFLINE                    0xC0000267
+#define SMB2_STATUS_VOLUME_DISMOUNTED                  0xC000026E
+#define SMB2_STATUS_NOT_A_REPARSE_POINT                0xC0000275
index 3298f274f3030d76bbcc7064a39a784e6ca6cfcf..afc88d1a58f1774cd4099f44db6eb0a3d6969205 100644 (file)
@@ -26,16 +26,36 @@ const char *nterror_to_str(uint32_t status) {
         switch (status) {
         case SMB2_STATUS_SUCCESS:
                 return "STATUS_SUCCESS";
-        case SMB2_STATUS_CANCELLED:
-                return "STATUS_CANCELLED";
+        case SMB2_STATUS_ABORTED:
+                return "STATUS_ABORTED";
         case SMB2_STATUS_PENDING:
                 return "STATUS_PENDING";
         case SMB2_STATUS_NO_MORE_FILES:
                 return "STATUS_NO_MORE_FILES";
+        case SMB2_STATUS_UNSUCCESSFUL:
+                return "SMB2_STATUS_UNSUCCESSFUL";
         case SMB2_STATUS_NOT_IMPLEMENTED:
                 return "STATUS_NOT_IMPLEMENTED";
+        case SMB2_STATUS_INVALID_INFO_CLASS:
+                return "SMB2_STATUS_INVALID_INFO_CLASS";
+        case SMB2_STATUS_INFO_LENGTH_MISMATCH:
+                return "SMB2_STATUS_INFO_LENGTH_MISMATCH";
+        case SMB2_STATUS_ACCESS_VIOLATION:
+                return "SMB2_STATUS_ACCESS_VIOLATION";
+        case SMB2_STATUS_IN_PAGE_ERROR:
+                return "SMB2_STATUS_IN_PAGE_ERROR";
+        case SMB2_STATUS_PAGEFILE_QUOTA:
+                return "SMB2_STATUS_PAGEFILE_QUOTA";
         case SMB2_STATUS_INVALID_HANDLE:
                 return "STATUS_INVALID_HANDLE";
+        case SMB2_STATUS_BAD_INITIAL_STACK:
+                return "SMB2_STATUS_BAD_INITIAL_STACK";
+        case SMB2_STATUS_BAD_INITIAL_PC:
+                return "SMB2_STATUS_BAD_INITIAL_PC";
+        case SMB2_STATUS_INVALID_CID:
+                return "SMB2_STATUS_INVALID_CID";
+        case SMB2_STATUS_TIMER_NOT_CANCELED:
+                return "SMB2_STATUS_TIMER_NOT_CANCELED";
         case SMB2_STATUS_INVALID_PARAMETER:
                 return "STATUS_INVALID_PARAMETER";
         case SMB2_STATUS_NO_SUCH_DEVICE:
@@ -46,32 +66,94 @@ const char *nterror_to_str(uint32_t status) {
                 return "STATUS_INVALID_DEVICE_REQUEST";
         case SMB2_STATUS_END_OF_FILE:
                 return "STATUS_END_OF_FILE";
+        case SMB2_STATUS_WRONG_VOLUME:
+                return "SMB2_STATUS_WRONG_VOLUME";
         case SMB2_STATUS_NO_MEDIA_IN_DEVICE:
                 return "STATUS_NO_MEDIA_IN_DEVICE";
+        case SMB2_STATUS_UNRECOGNIZED_MEDIA:
+                return "SMB2_STATUS_UNRECOGNIZED_MEDIA";
+        case SMB2_STATUS_NONEXISTENT_SECTOR:
+                return "SMB2_STATUS_NONEXISTENT_SECTOR";
         case SMB2_STATUS_MORE_PROCESSING_REQUIRED:
                 return "STATUS_MORE_PROCESSING_REQUIRED";
+        case SMB2_STATUS_NO_MEMORY:
+                return "SMB2_STATUS_NO_MEMORY";
+        case SMB2_STATUS_CONFLICTING_ADDRESSES:
+                return "SMB2_STATUS_CONFLICTING_ADDRESSES";
+        case SMB2_STATUS_NOT_MAPPED_VIEW:
+                return "SMB2_STATUS_NOT_MAPPED_VIEW";
+        case SMB2_STATUS_UNABLE_TO_FREE_VM:
+                return "SMB2_STATUS_UNABLE_TO_FREE_VM";
+        case SMB2_STATUS_UNABLE_TO_DELETE_SECTION:
+                return "SMB2_STATUS_UNABLE_TO_DELETE_SECTION";
+        case SMB2_STATUS_INVALID_SYSTEM_SERVICE:
+                return "SMB2_STATUS_INVALID_SYSTEM_SERVICE";
+        case SMB2_STATUS_ILLEGAL_INSTRUCTION:
+                return "SMB2_STATUS_ILLEGAL_INSTRUCTION";
         case SMB2_STATUS_INVALID_LOCK_SEQUENCE:
                 return "STATUS_INVALID_LOCK_SEQUENCE";
         case SMB2_STATUS_INVALID_VIEW_SIZE:
                 return "STATUS_INVALID_VIEW_SIZE";
+        case SMB2_STATUS_INVALID_FILE_FOR_SECTION:
+                return "SMB2_STATUS_INVALID_FILE_FOR_SECTION";
         case SMB2_STATUS_ALREADY_COMMITTED:
                 return "STATUS_ALREADY_COMMITTED";
         case SMB2_STATUS_ACCESS_DENIED:
                 return "STATUS_ACCESS_DENIED";
+        case SMB2_STATUS_BUFFER_TOO_SMALL:
+                return "SMB2_STATUS_BUFFER_TOO_SMALL";
         case SMB2_STATUS_OBJECT_TYPE_MISMATCH:
                 return "STATUS_OBJECT_TYPE_MISMATCH";
+        case SMB2_STATUS_NONCONTINUABLE_EXCEPTION:
+                return "SMB2_STATUS_NONCONTINUABLE_EXCEPTION";
+        case SMB2_STATUS_INVALID_DISPOSITION:
+                return "SMB2_STATUS_INVALID_DISPOSITION";
+        case SMB2_STATUS_UNWIND:
+                return "SMB2_STATUS_UNWIND";
+        case SMB2_STATUS_BAD_STACK:
+                return "SMB2_STATUS_BAD_STACK";
+        case SMB2_STATUS_INVALID_UNWIND_TARGET:
+                return "SMB2_STATUS_INVALID_UNWIND_TARGET";
+        case SMB2_STATUS_NOT_LOCKED:
+                return "SMB2_STATUS_NOT_LOCKED";
+        case SMB2_STATUS_PARITY_ERROR:
+                return "SMB2_STATUS_PARITY_ERROR";
+        case SMB2_STATUS_UNABLE_TO_DECOMMIT_VM:
+                return "SMB2_STATUS_UNABLE_TO_DECOMMIT_VM";
+        case SMB2_STATUS_NOT_COMMITTED:
+                return "SMB2_STATUS_NOT_COMMITTED";
+        case SMB2_STATUS_INVALID_PORT_ATTRIBUTES:
+                return "SMB2_STATUS_INVALID_PORT_ATTRIBUTES";
+        case SMB2_STATUS_PORT_MESSAGE_TOO_LONG:
+                return "SMB2_STATUS_PORT_MESSAGE_TOO_LONG";
+        case SMB2_STATUS_INVALID_PARAMETER_MIX:
+                return "SMB2_STATUS_INVALID_PARAMETER_MIX";
+        case SMB2_STATUS_INVALID_QUOTA_LOWER:
+                return "SMB2_STATUS_INVALID_QUOTA_LOWER";
+        case SMB2_STATUS_DISK_CORRUPT_ERROR:
+                return "SMB2_STATUS_DISK_CORRUPT_ERROR";
+        case SMB2_STATUS_OBJECT_NAME_INVALID:
+                return "STATUS_OBJECT_NAME_INVALID";
         case SMB2_STATUS_OBJECT_NAME_NOT_FOUND:
                 return "STATUS_OBJECT_NAME_NOT_FOUND";
         case SMB2_STATUS_OBJECT_NAME_COLLISION:
                 return "STATUS_OBJECT_NAME_COLLISION";
+        case SMB2_STATUS_HANDLE_NOT_WAITABLE:
+                return "SMB2_STATUS_HANDLE_NOT_WAITABLE";
         case SMB2_STATUS_PORT_DISCONNECTED:
                 return "STATUS_PORT_DISCONNECTED";
+        case SMB2_STATUS_DEVICE_ALREADY_ATTACHED:
+                return "SMB2_STATUS_DEVICE_ALREADY_ATTACHED";
         case SMB2_STATUS_OBJECT_PATH_INVALID:
                 return "STATUS_OBJECT_PATH_INVALID";
         case SMB2_STATUS_OBJECT_PATH_NOT_FOUND:
                 return "STATUS_OBJECT_PATH_NOT_FOUND";
         case SMB2_STATUS_OBJECT_PATH_SYNTAX_BAD:
                 return "STATUS_OBJECT_PATH_SYNTAX_BAD";
+        case SMB2_STATUS_DATA_OVERRUN:
+                return "SMB2_STATUS_DATA_OVERRUN";
+        case SMB2_STATUS_DATA_LATE_ERROR:
+                return "SMB2_STATUS_DATA_LATE_ERROR";
         case SMB2_STATUS_DATA_ERROR:
                 return "STATUS_DATA_ERROR";
         case SMB2_STATUS_CRC_ERROR:
@@ -84,72 +166,876 @@ const char *nterror_to_str(uint32_t status) {
                 return "STATUS_INVALID_PORT_HANDLE";
         case SMB2_STATUS_SHARING_VIOLATION:
                 return "STATUS_SHARING_VIOLATION";
+        case SMB2_STATUS_QUOTA_EXCEEDED:
+                return "SMB2_STATUS_QUOTA_EXCEEDED";
+        case SMB2_STATUS_INVALID_PAGE_PROTECTION:
+                return "SMB2_STATUS_INVALID_PAGE_PROTECTION";
+        case SMB2_STATUS_MUTANT_NOT_OWNED:
+                return "SMB2_STATUS_MUTANT_NOT_OWNED";
+        case SMB2_STATUS_SEMAPHORE_LIMIT_EXCEEDED:
+                return "SMB2_STATUS_SEMAPHORE_LIMIT_EXCEEDED";
+        case SMB2_STATUS_PORT_ALREADY_SET:
+                return "SMB2_STATUS_PORT_ALREADY_SET";
+        case SMB2_STATUS_SECTION_NOT_IMAGE:
+                return "SMB2_STATUS_SECTION_NOT_IMAGE";
+        case SMB2_STATUS_SUSPEND_COUNT_EXCEEDED:
+                return "SMB2_STATUS_SUSPEND_COUNT_EXCEEDED";
         case SMB2_STATUS_THREAD_IS_TERMINATING:
                 return "STATUS_THREAD_IS_TERMINATING";
+        case SMB2_STATUS_BAD_WORKING_SET_LIMIT:
+                return "SMB2_STATUS_BAD_WORKING_SET_LIMIT";
+        case SMB2_STATUS_INCOMPATIBLE_FILE_MAP:
+                return "SMB2_STATUS_INCOMPATIBLE_FILE_MAP";
+        case SMB2_STATUS_SECTION_PROTECTION:
+                return "SMB2_STATUS_SECTION_PROTECTION";
+        case SMB2_STATUS_EAS_NOT_SUPPORTED:
+                return "SMB2_STATUS_EAS_NOT_SUPPORTED";
+        case SMB2_STATUS_EA_TOO_LARGE:
+                return "SMB2_STATUS_EA_TOO_LARGE";
+        case SMB2_STATUS_NONEXISTENT_EA_ENTRY:
+                return "SMB2_STATUS_NONEXISTENT_EA_ENTRY";
+        case SMB2_STATUS_NO_EAS_ON_FILE:
+                return "SMB2_STATUS_NO_EAS_ON_FILE";
+        case SMB2_STATUS_EA_CORRUPT_ERROR:
+                return "SMB2_STATUS_EA_CORRUPT_ERROR";
         case SMB2_STATUS_FILE_LOCK_CONFLICT:
                 return "STATUS_FILE_LOCK_CONFLICT";
         case SMB2_STATUS_LOCK_NOT_GRANTED:
                 return "STATUS_LOCK_NOT_GRANTED";
         case SMB2_STATUS_DELETE_PENDING:
                 return "STATUS_DELETE_PENDING";
+        case SMB2_STATUS_CTL_FILE_NOT_SUPPORTED:
+                return "SMB2_STATUS_CTL_FILE_NOT_SUPPORTED";
+        case SMB2_STATUS_UNKNOWN_REVISION:
+                return "SMB2_STATUS_UNKNOWN_REVISION";
+        case SMB2_STATUS_REVISION_MISMATCH:
+                return "SMB2_STATUS_REVISION_MISMATCH";
+        case SMB2_STATUS_INVALID_OWNER:
+                return "SMB2_STATUS_INVALID_OWNER";
+        case SMB2_STATUS_INVALID_PRIMARY_GROUP:
+                return "SMB2_STATUS_INVALID_PRIMARY_GROUP";
+        case SMB2_STATUS_NO_IMPERSONATION_TOKEN:
+                return "SMB2_STATUS_NO_IMPERSONATION_TOKEN";
+        case SMB2_STATUS_CANT_DISABLE_MANDATORY:
+                return "SMB2_STATUS_CANT_DISABLE_MANDATORY";
+        case SMB2_STATUS_NO_LOGON_SERVERS:
+                return "SMB2_STATUS_NO_LOGON_SERVERS";
+        case SMB2_STATUS_NO_SUCH_LOGON_SESSION:
+                return "SMB2_STATUS_NO_SUCH_LOGON_SESSION";
+        case SMB2_STATUS_NO_SUCH_PRIVILEGE:
+                return "SMB2_STATUS_NO_SUCH_PRIVILEGE";
         case SMB2_STATUS_PRIVILEGE_NOT_HELD:
                 return "STATUS_PRIVILEGE_NOT_HELD";
+        case SMB2_STATUS_INVALID_ACCOUNT_NAME:
+                return "SMB2_STATUS_INVALID_ACCOUNT_NAME";
+        case SMB2_STATUS_USER_EXISTS:
+                return "SMB2_STATUS_USER_EXISTS";
+        case SMB2_STATUS_NO_SUCH_USER:
+                return "SMB2_STATUS_NO_SUCH_USER";
+        case SMB2_STATUS_GROUP_EXISTS:
+                return "SMB2_STATUS_GROUP_EXISTS";
+        case SMB2_STATUS_NO_SUCH_GROUP:
+                return "SMB2_STATUS_NO_SUCH_GROUP";
+        case SMB2_STATUS_MEMBER_IN_GROUP:
+                return "SMB2_STATUS_MEMBER_IN_GROUP";
+        case SMB2_STATUS_MEMBER_NOT_IN_GROUP:
+                return "SMB2_STATUS_MEMBER_NOT_IN_GROUP";
+        case SMB2_STATUS_LAST_ADMIN:
+                return "SMB2_STATUS_LAST_ADMIN";
+        case SMB2_STATUS_WRONG_PASSWORD:
+                return "SMB2_STATUS_WRONG_PASSWORD";
+        case SMB2_STATUS_ILL_FORMED_PASSWORD:
+                return "SMB2_STATUS_ILL_FORMED_PASSWORD";
+        case SMB2_STATUS_PASSWORD_RESTRICTION:
+                return "SMB2_STATUS_PASSWORD_RESTRICTION";
         case SMB2_STATUS_LOGON_FAILURE:
                 return "STATUS_LOGON_FAILURE";
         case SMB2_STATUS_ACCOUNT_RESTRICTION:
                 return "STATUS_ACCOUNT_RESTRICTION";
         case SMB2_STATUS_INVALID_LOGON_HOURS:
                 return "STATUS_INVALID_LOGON_HOURS";
+        case SMB2_STATUS_INVALID_WORKSTATION:
+                return "SMB2_STATUS_INVALID_WORKSTATION";
         case SMB2_STATUS_PASSWORD_EXPIRED:
                 return "STATUS_PASSWORD_EXPIRED";
         case SMB2_STATUS_ACCOUNT_DISABLED:
                 return "STATUS_ACCOUNT_DISABLED";
+        case SMB2_STATUS_NONE_MAPPED:
+                return "SMB2_STATUS_NONE_MAPPED";
+        case SMB2_STATUS_TOO_MANY_LUIDS_REQUESTED:
+                return "SMB2_STATUS_TOO_MANY_LUIDS_REQUESTED";
+        case SMB2_STATUS_LUIDS_EXHAUSTED:
+                return "SMB2_STATUS_LUIDS_EXHAUSTED";
+        case SMB2_STATUS_INVALID_SUB_AUTHORITY:
+                return "SMB2_STATUS_INVALID_SUB_AUTHORITY";
+        case SMB2_STATUS_INVALID_ACL:
+                return "SMB2_STATUS_INVALID_ACL";
+        case SMB2_STATUS_INVALID_SID:
+                return "SMB2_STATUS_INVALID_SID";
+        case SMB2_STATUS_INVALID_SECURITY_DESCR:
+                return "SMB2_STATUS_INVALID_SECURITY_DESCR";
+        case SMB2_STATUS_PROCEDURE_NOT_FOUND:
+                return "SMB2_STATUS_PROCEDURE_NOT_FOUND";
+        case SMB2_STATUS_INVALID_IMAGE_FORMAT:
+                return "SMB2_STATUS_INVALID_IMAGE_FORMAT";
+        case SMB2_STATUS_NO_TOKEN:
+                return "SMB2_STATUS_NO_TOKEN";
+        case SMB2_STATUS_BAD_INHERITANCE_ACL:
+                return "SMB2_STATUS_BAD_INHERITANCE_ACL";
+        case SMB2_STATUS_RANGE_NOT_LOCKED:
+                return "SMB2_STATUS_RANGE_NOT_LOCKED";
         case SMB2_STATUS_DISK_FULL:
                 return "STATUS_DISK_FULL";
+        case SMB2_STATUS_SERVER_DISABLED:
+                return "SMB2_STATUS_SERVER_DISABLED";
+        case SMB2_STATUS_SERVER_NOT_DISABLED:
+                return "SMB2_STATUS_SERVER_NOT_DISABLED";
+        case SMB2_STATUS_TOO_MANY_GUIDS_REQUESTED:
+                return "SMB2_STATUS_TOO_MANY_GUIDS_REQUESTED";
+        case SMB2_STATUS_GUIDS_EXHAUSTED:
+                return "SMB2_STATUS_GUIDS_EXHAUSTED";
+        case SMB2_STATUS_INVALID_ID_AUTHORITY:
+                return "SMB2_STATUS_INVALID_ID_AUTHORITY";
+        case SMB2_STATUS_AGENTS_EXHAUSTED:
+                return "SMB2_STATUS_AGENTS_EXHAUSTED";
+        case SMB2_STATUS_INVALID_VOLUME_LABEL:
+                return "SMB2_STATUS_INVALID_VOLUME_LABEL";
+        case SMB2_STATUS_SECTION_NOT_EXTENDED:
+                return "SMB2_STATUS_SECTION_NOT_EXTENDED";
+        case SMB2_STATUS_NOT_MAPPED_DATA:
+                return "SMB2_STATUS_NOT_MAPPED_DATA";
+        case SMB2_STATUS_RESOURCE_DATA_NOT_FOUND:
+                return "SMB2_STATUS_RESOURCE_DATA_NOT_FOUND";
+        case SMB2_STATUS_RESOURCE_TYPE_NOT_FOUND:
+                return "SMB2_STATUS_RESOURCE_TYPE_NOT_FOUND";
+        case SMB2_STATUS_RESOURCE_NAME_NOT_FOUND:
+                return "SMB2_STATUS_RESOURCE_NAME_NOT_FOUND";
+        case SMB2_STATUS_ARRAY_BOUNDS_EXCEEDED:
+                return "SMB2_STATUS_ARRAY_BOUNDS_EXCEEDED";
+        case SMB2_STATUS_FLOAT_DENORMAL_OPERAND:
+                return "SMB2_STATUS_FLOAT_DENORMAL_OPERAND";
+        case SMB2_STATUS_FLOAT_DIVIDE_BY_ZERO:
+                return "SMB2_STATUS_FLOAT_DIVIDE_BY_ZERO";
+        case SMB2_STATUS_FLOAT_INEXACT_RESULT:
+                return "SMB2_STATUS_FLOAT_INEXACT_RESULT";
+        case SMB2_STATUS_FLOAT_INVALID_OPERATION:
+                return "SMB2_STATUS_FLOAT_INVALID_OPERATION";
+        case SMB2_STATUS_FLOAT_OVERFLOW:
+                return "SMB2_STATUS_FLOAT_OVERFLOW";
+        case SMB2_STATUS_FLOAT_STACK_CHECK:
+                return "SMB2_STATUS_FLOAT_STACK_CHECK";
+        case SMB2_STATUS_FLOAT_UNDERFLOW:
+                return "SMB2_STATUS_FLOAT_UNDERFLOW";
+        case SMB2_STATUS_INTEGER_DIVIDE_BY_ZERO:
+                return "SMB2_STATUS_INTEGER_DIVIDE_BY_ZERO";
+        case SMB2_STATUS_INTEGER_OVERFLOW:
+                return "SMB2_STATUS_INTEGER_OVERFLOW";
+        case SMB2_STATUS_PRIVILEGED_INSTRUCTION:
+                return "SMB2_STATUS_PRIVILEGED_INSTRUCTION";
         case SMB2_STATUS_TOO_MANY_PAGING_FILES:
                 return "STATUS_TOO_MANY_PAGING_FILES";
+        case SMB2_STATUS_FILE_INVALID:
+                return "SMB2_STATUS_FILE_INVALID";
+        case SMB2_STATUS_ALLOTTED_SPACE_EXCEEDED:
+                return "SMB2_STATUS_ALLOTTED_SPACE_EXCEEDED";
+        case SMB2_STATUS_INSUFFICIENT_RESOURCES:
+                return "SMB2_STATUS_INSUFFICIENT_RESOURCES";
         case SMB2_STATUS_DFS_EXIT_PATH_FOUND:
                 return "STATUS_DFS_EXIT_PATH_FOUND";
         case SMB2_STATUS_DEVICE_DATA_ERROR:
                 return "STATUS_DEVICE_DATA_ERROR";
+        case SMB2_STATUS_DEVICE_NOT_CONNECTED:
+                return "SMB2_STATUS_DEVICE_NOT_CONNECTED";
+        case SMB2_STATUS_DEVICE_POWER_FAILURE:
+                return "SMB2_STATUS_DEVICE_POWER_FAILURE";
+        case SMB2_STATUS_FREE_VM_NOT_AT_BASE:
+                return "SMB2_STATUS_FREE_VM_NOT_AT_BASE";
+        case SMB2_STATUS_MEMORY_NOT_ALLOCATED:
+                return "SMB2_STATUS_MEMORY_NOT_ALLOCATED";
+        case SMB2_STATUS_WORKING_SET_QUOTA:
+                return "SMB2_STATUS_WORKING_SET_QUOTA";
         case SMB2_STATUS_MEDIA_WRITE_PROTECTED:
                 return "STATUS_MEDIA_WRITE_PROTECTED";
+        case SMB2_STATUS_DEVICE_NOT_READY:
+                return "SMB2_STATUS_DEVICE_NOT_READY";
+        case SMB2_STATUS_INVALID_GROUP_ATTRIBUTES:
+                return "SMB2_STATUS_INVALID_GROUP_ATTRIBUTES";
+        case SMB2_STATUS_BAD_IMPERSONATION_LEVEL:
+                return "SMB2_STATUS_BAD_IMPERSONATION_LEVEL";
+        case SMB2_STATUS_CANT_OPEN_ANONYMOUS:
+                return "SMB2_STATUS_CANT_OPEN_ANONYMOUS";
+        case SMB2_STATUS_BAD_VALIDATION_CLASS:
+                return "SMB2_STATUS_BAD_VALIDATION_CLASS";
+        case SMB2_STATUS_BAD_TOKEN_TYPE:
+                return "SMB2_STATUS_BAD_TOKEN_TYPE";
+        case SMB2_STATUS_BAD_MASTER_BOOT_RECORD:
+                return "SMB2_STATUS_BAD_MASTER_BOOT_RECORD";
+        case SMB2_STATUS_INSTRUCTION_MISALIGNMENT:
+                return "SMB2_STATUS_INSTRUCTION_MISALIGNMENT";
+        case SMB2_STATUS_INSTANCE_NOT_AVAILABLE:
+                return "SMB2_STATUS_INSTANCE_NOT_AVAILABLE";
+        case SMB2_STATUS_PIPE_NOT_AVAILABLE:
+                return "SMB2_STATUS_PIPE_NOT_AVAILABLE";
+        case SMB2_STATUS_INVALID_PIPE_STATE:
+                return "SMB2_STATUS_INVALID_PIPE_STATE";
+        case SMB2_STATUS_PIPE_BUSY:
+                return "SMB2_STATUS_PIPE_BUSY";
         case SMB2_STATUS_ILLEGAL_FUNCTION:
                 return "STATUS_ILLEGAL_FUNCTION";
         case SMB2_STATUS_PIPE_DISCONNECTED:
                 return "STATUS_PIPE_DISCONNECTED";
+        case SMB2_STATUS_PIPE_CLOSING:
+                return "SMB2_STATUS_PIPE_CLOSING";
+        case SMB2_STATUS_PIPE_CONNECTED:
+                return "SMB2_STATUS_PIPE_CONNECTED";
+        case SMB2_STATUS_PIPE_LISTENING:
+                return "SMB2_STATUS_PIPE_LISTENING";
+        case SMB2_STATUS_INVALID_READ_MODE:
+                return "SMB2_STATUS_INVALID_READ_MODE";
+        case SMB2_STATUS_IO_TIMEOUT:
+                return "SMB2_STATUS_IO_TIMEOUT";
+        case SMB2_STATUS_FILE_FORCED_CLOSED:
+                return "SMB2_STATUS_FILE_FORCED_CLOSED";
+        case SMB2_STATUS_PROFILING_NOT_STARTED:
+                return "SMB2_STATUS_PROFILING_NOT_STARTED";
+        case SMB2_STATUS_PROFILING_NOT_STOPPED:
+                return "SMB2_STATUS_PROFILING_NOT_STOPPED";
+        case SMB2_STATUS_COULD_NOT_INTERPRET:
+                return "SMB2_STATUS_COULD_NOT_INTERPRET";
         case SMB2_STATUS_FILE_IS_A_DIRECTORY:
                 return "STATUS_FILE_IS_A_DIRECTORY";
+        case SMB2_STATUS_NOT_SUPPORTED:
+                return "SMB2_STATUS_NOT_SUPPORTED";
+        case SMB2_STATUS_REMOTE_NOT_LISTENING:
+                return "SMB2_STATUS_REMOTE_NOT_LISTENING";
+        case SMB2_STATUS_DUPLICATE_NAME:
+                return "SMB2_STATUS_DUPLICATE_NAME";
         case SMB2_STATUS_BAD_NETWORK_PATH:
-                return "STATUS_BAD_NETWORK_PATH";
+                return "SMB2_STATUS_BAD_NETWORK_PATH";
+        case SMB2_STATUS_NETWORK_BUSY:
+                return "SMB2_STATUS_NETWORK_BUSY";
+        case SMB2_STATUS_DEVICE_DOES_NOT_EXIST:
+                return "SMB2_STATUS_DEVICE_DOES_NOT_EXIST";
+        case SMB2_STATUS_TOO_MANY_COMMANDS:
+                return "SMB2_STATUS_TOO_MANY_COMMANDS";
+        case SMB2_STATUS_ADAPTER_HARDWARE_ERROR:
+                return "SMB2_STATUS_ADAPTER_HARDWARE_ERROR";
+        case SMB2_STATUS_INVALID_NETWORK_RESPONSE:
+                return "SMB2_STATUS_INVALID_NETWORK_RESPONSE";
+        case SMB2_STATUS_UNEXPECTED_NETWORK_ERROR:
+                return "SMB2_STATUS_UNEXPECTED_NETWORK_ERROR";
+        case SMB2_STATUS_BAD_REMOTE_ADAPTER:
+                return "SMB2_STATUS_BAD_REMOTE_ADAPTER";
+        case SMB2_STATUS_PRINT_QUEUE_FULL:
+                return "SMB2_STATUS_PRINT_QUEUE_FULL";
+        case SMB2_STATUS_NO_SPOOL_SPACE:
+                return "SMB2_STATUS_NO_SPOOL_SPACE";
+        case SMB2_STATUS_PRINT_CANCELLED:
+                return "SMB2_STATUS_PRINT_CANCELLED";
+        case SMB2_STATUS_NETWORK_NAME_DELETED:
+                return "SMB2_STATUS_NETWORK_NAME_DELETED";
         case SMB2_STATUS_NETWORK_ACCESS_DENIED:
                 return "STATUS_NETWORK_ACCESS_DENIED";
+        case SMB2_STATUS_BAD_DEVICE_TYPE:
+                return "SMB2_STATUS_BAD_DEVICE_TYPE";
         case SMB2_STATUS_BAD_NETWORK_NAME:
                 return "STATUS_BAD_NETWORK_NAME";
+        case SMB2_STATUS_TOO_MANY_NAMES:
+                return "SMB2_STATUS_TOO_MANY_NAMES";
+        case SMB2_STATUS_TOO_MANY_SESSIONS:
+                return "SMB2_STATUS_TOO_MANY_SESSIONS";
+        case SMB2_STATUS_SHARING_PAUSED:
+                return "SMB2_STATUS_SHARING_PAUSED";
+        case SMB2_STATUS_REQUEST_NOT_ACCEPTED:
+                return "SMB2_STATUS_REQUEST_NOT_ACCEPTED";
+        case SMB2_STATUS_REDIRECTOR_PAUSED:
+                return "SMB2_STATUS_REDIRECTOR_PAUSED";
+        case SMB2_STATUS_NET_WRITE_FAULT:
+                return "SMB2_STATUS_NET_WRITE_FAULT";
+        case SMB2_STATUS_PROFILING_AT_LIMIT:
+                return "SMB2_STATUS_PROFILING_AT_LIMIT";
         case SMB2_STATUS_NOT_SAME_DEVICE:
                 return "STATUS_NOT_SAME_DEVICE";
         case SMB2_STATUS_FILE_RENAMED:
                 return "STATUS_FILE_RENAMED";
+        case SMB2_STATUS_VIRTUAL_CIRCUIT_CLOSED:
+                return "SMB2_STATUS_VIRTUAL_CIRCUIT_CLOSED";
+        case SMB2_STATUS_NO_SECURITY_ON_OBJECT:
+                return "SMB2_STATUS_NO_SECURITY_ON_OBJECT";
+        case SMB2_STATUS_CANT_WAIT:
+                return "SMB2_STATUS_CANT_WAIT";
+        case SMB2_STATUS_PIPE_EMPTY:
+                return "SMB2_STATUS_PIPE_EMPTY";
+        case SMB2_STATUS_CANT_ACCESS_DOMAIN_INFO:
+                return "SMB2_STATUS_CANT_ACCESS_DOMAIN_INFO";
+        case SMB2_STATUS_CANT_TERMINATE_SELF:
+                return "SMB2_STATUS_CANT_TERMINATE_SELF";
+        case SMB2_STATUS_INVALID_SERVER_STATE:
+                return "SMB2_STATUS_INVALID_SERVER_STATE";
+        case SMB2_STATUS_INVALID_DOMAIN_STATE:
+                return "SMB2_STATUS_INVALID_DOMAIN_STATE";
+        case SMB2_STATUS_INVALID_DOMAIN_ROLE:
+                return "SMB2_STATUS_INVALID_DOMAIN_ROLE";
+        case SMB2_STATUS_NO_SUCH_DOMAIN:
+                return "SMB2_STATUS_NO_SUCH_DOMAIN";
+        case SMB2_STATUS_DOMAIN_EXISTS:
+                return "SMB2_STATUS_DOMAIN_EXISTS";
+        case SMB2_STATUS_DOMAIN_LIMIT_EXCEEDED:
+                return "SMB2_STATUS_DOMAIN_LIMIT_EXCEEDED";
+        case SMB2_STATUS_OPLOCK_NOT_GRANTED:
+                return "SMB2_STATUS_OPLOCK_NOT_GRANTED";
+        case SMB2_STATUS_INVALID_OPLOCK_PROTOCOL:
+                return "SMB2_STATUS_INVALID_OPLOCK_PROTOCOL";
+        case SMB2_STATUS_INTERNAL_DB_CORRUPTION:
+                return "SMB2_STATUS_INTERNAL_DB_CORRUPTION";
+        case SMB2_STATUS_INTERNAL_ERROR:
+                return "SMB2_STATUS_INTERNAL_ERROR";
+        case SMB2_STATUS_GENERIC_NOT_MAPPED:
+                return "SMB2_STATUS_GENERIC_NOT_MAPPED";
+        case SMB2_STATUS_BAD_DESCRIPTOR_FORMAT:
+                return "SMB2_STATUS_BAD_DESCRIPTOR_FORMAT";
+        case SMB2_STATUS_INVALID_USER_BUFFER:
+                return "SMB2_STATUS_INVALID_USER_BUFFER";
+        case SMB2_STATUS_UNEXPECTED_IO_ERROR:
+                return "SMB2_STATUS_UNEXPECTED_IO_ERROR";
+        case SMB2_STATUS_UNEXPECTED_MM_CREATE_ERR:
+                return "SMB2_STATUS_UNEXPECTED_MM_CREATE_ERR";
+        case SMB2_STATUS_UNEXPECTED_MM_MAP_ERROR:
+                return "SMB2_STATUS_UNEXPECTED_MM_MAP_ERROR";
+        case SMB2_STATUS_UNEXPECTED_MM_EXTEND_ERR:
+                return "SMB2_STATUS_UNEXPECTED_MM_EXTEND_ERR";
+        case SMB2_STATUS_NOT_LOGON_PROCESS:
+                return "SMB2_STATUS_NOT_LOGON_PROCESS";
+        case SMB2_STATUS_LOGON_SESSION_EXISTS:
+                return "SMB2_STATUS_LOGON_SESSION_EXISTS";
+        case SMB2_STATUS_INVALID_PARAMETER_1:
+                return "SMB2_STATUS_INVALID_PARAMETER_1";
+        case SMB2_STATUS_INVALID_PARAMETER_2:
+                return "SMB2_STATUS_INVALID_PARAMETER_2";
+        case SMB2_STATUS_INVALID_PARAMETER_3:
+                return "SMB2_STATUS_INVALID_PARAMETER_3";
+        case SMB2_STATUS_INVALID_PARAMETER_4:
+                return "SMB2_STATUS_INVALID_PARAMETER_4";
+        case SMB2_STATUS_INVALID_PARAMETER_5:
+                return "SMB2_STATUS_INVALID_PARAMETER_5";
+        case SMB2_STATUS_INVALID_PARAMETER_6:
+                return "SMB2_STATUS_INVALID_PARAMETER_6";
+        case SMB2_STATUS_INVALID_PARAMETER_7:
+                return "SMB2_STATUS_INVALID_PARAMETER_7";
+        case SMB2_STATUS_INVALID_PARAMETER_8:
+                return "SMB2_STATUS_INVALID_PARAMETER_8";
+        case SMB2_STATUS_INVALID_PARAMETER_9:
+                return "SMB2_STATUS_INVALID_PARAMETER_9";
+        case SMB2_STATUS_INVALID_PARAMETER_10:
+                return "SMB2_STATUS_INVALID_PARAMETER_10";
+        case SMB2_STATUS_INVALID_PARAMETER_11:
+                return "SMB2_STATUS_INVALID_PARAMETER_11";
+        case SMB2_STATUS_INVALID_PARAMETER_12:
+                return "SMB2_STATUS_INVALID_PARAMETER_12";
         case SMB2_STATUS_REDIRECTOR_NOT_STARTED:
                 return "STATUS_REDIRECTOR_NOT_STARTED";
+        case SMB2_STATUS_REDIRECTOR_STARTED:
+                return "SMB2_STATUS_REDIRECTOR_STARTED";
+        case SMB2_STATUS_STACK_OVERFLOW:
+                return "SMB2_STATUS_STACK_OVERFLOW";
+        case SMB2_STATUS_NO_SUCH_PACKAGE:
+                return "SMB2_STATUS_NO_SUCH_PACKAGE";
+        case SMB2_STATUS_BAD_FUNCTION_TABLE:
+                return "SMB2_STATUS_BAD_FUNCTION_TABLE";
         case SMB2_STATUS_DIRECTORY_NOT_EMPTY:
                 return "STATUS_DIRECTORY_NOT_EMPTY";
+        case SMB2_STATUS_FILE_CORRUPT_ERROR:
+                return "SMB2_STATUS_FILE_CORRUPT_ERROR";
         case SMB2_STATUS_NOT_A_DIRECTORY:
                 return "STATUS_NOT_A_DIRECTORY";
+        case SMB2_STATUS_BAD_LOGON_SESSION_STATE:
+                return "SMB2_STATUS_BAD_LOGON_SESSION_STATE";
+        case SMB2_STATUS_LOGON_SESSION_COLLISION:
+                return "SMB2_STATUS_LOGON_SESSION_COLLISION";
+        case SMB2_STATUS_NAME_TOO_LONG:
+                return "SMB2_STATUS_NAME_TOO_LONG";
+        case SMB2_STATUS_FILES_OPEN:
+                return "SMB2_STATUS_FILES_OPEN";
+        case SMB2_STATUS_CONNECTION_IN_USE:
+                return "SMB2_STATUS_CONNECTION_IN_USE";
+        case SMB2_STATUS_MESSAGE_NOT_FOUND:
+                return "SMB2_STATUS_MESSAGE_NOT_FOUND";
         case SMB2_STATUS_PROCESS_IS_TERMINATING:
                 return "STATUS_PROCESS_IS_TERMINATING";
+        case SMB2_STATUS_INVALID_LOGON_TYPE:
+                return "SMB2_STATUS_INVALID_LOGON_TYPE";
+        case SMB2_STATUS_NO_GUID_TRANSLATION:
+                return "SMB2_STATUS_NO_GUID_TRANSLATION";
+        case SMB2_STATUS_CANNOT_IMPERSONATE:
+                return "SMB2_STATUS_CANNOT_IMPERSONATE";
+        case SMB2_STATUS_IMAGE_ALREADY_LOADED:
+                return "SMB2_STATUS_IMAGE_ALREADY_LOADED";
+        case SMB2_STATUS_ABIOS_NOT_PRESENT:
+                return "SMB2_STATUS_ABIOS_NOT_PRESENT";
+        case SMB2_STATUS_ABIOS_LID_NOT_EXIST:
+                return "SMB2_STATUS_ABIOS_LID_NOT_EXIST";
+        case SMB2_STATUS_ABIOS_LID_ALREADY_OWNED:
+                return "SMB2_STATUS_ABIOS_LID_ALREADY_OWNED";
+        case SMB2_STATUS_ABIOS_NOT_LID_OWNER:
+                return "SMB2_STATUS_ABIOS_NOT_LID_OWNER";
+        case SMB2_STATUS_ABIOS_INVALID_COMMAND:
+                return "SMB2_STATUS_ABIOS_INVALID_COMMAND";
+        case SMB2_STATUS_ABIOS_INVALID_LID:
+                return "SMB2_STATUS_ABIOS_INVALID_LID";
+        case SMB2_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE:
+                return "SMB2_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE";
+        case SMB2_STATUS_ABIOS_INVALID_SELECTOR:
+                return "SMB2_STATUS_ABIOS_INVALID_SELECTOR";
+        case SMB2_STATUS_NO_LDT:
+                return "SMB2_STATUS_NO_LDT";
+        case SMB2_STATUS_INVALID_LDT_SIZE:
+                return "SMB2_STATUS_INVALID_LDT_SIZE";
+        case SMB2_STATUS_INVALID_LDT_OFFSET:
+                return "SMB2_STATUS_INVALID_LDT_OFFSET";
+        case SMB2_STATUS_INVALID_LDT_DESCRIPTOR:
+                return "SMB2_STATUS_INVALID_LDT_DESCRIPTOR";
+        case SMB2_STATUS_INVALID_IMAGE_NE_FORMAT:
+                return "SMB2_STATUS_INVALID_IMAGE_NE_FORMAT";
+        case SMB2_STATUS_RXACT_INVALID_STATE:
+                return "SMB2_STATUS_RXACT_INVALID_STATE";
+        case SMB2_STATUS_RXACT_COMMIT_FAILURE:
+                return "SMB2_STATUS_RXACT_COMMIT_FAILURE";
+        case SMB2_STATUS_MAPPED_FILE_SIZE_ZERO:
+                return "SMB2_STATUS_MAPPED_FILE_SIZE_ZERO";
         case SMB2_STATUS_TOO_MANY_OPENED_FILES:
                 return "STATUS_TOO_MANY_OPENED_FILES";
+        case SMB2_STATUS_CANCELLED:
+                return "STATUS_CANCELLED";
         case SMB2_STATUS_CANNOT_DELETE:
                 return "STATUS_CANNOT_DELETE";
+        case SMB2_STATUS_INVALID_COMPUTER_NAME:
+                return "SMB2_STATUS_INVALID_COMPUTER_NAME";
         case SMB2_STATUS_FILE_DELETED:
                 return "STATUS_FILE_DELETED";
+        case SMB2_STATUS_SPECIAL_ACCOUNT:
+                return "SMB2_STATUS_SPECIAL_ACCOUNT";
+        case SMB2_STATUS_SPECIAL_GROUP:
+                return "SMB2_STATUS_SPECIAL_GROUP";
+        case SMB2_STATUS_SPECIAL_USER:
+                return "SMB2_STATUS_SPECIAL_USER";
+        case SMB2_STATUS_MEMBERS_PRIMARY_GROUP:
+                return "SMB2_STATUS_MEMBERS_PRIMARY_GROUP";
         case SMB2_STATUS_FILE_CLOSED:
                 return "STATUS_FILE_CLOSED";
+        case SMB2_STATUS_TOO_MANY_THREADS:
+                return "SMB2_STATUS_TOO_MANY_THREADS";
+        case SMB2_STATUS_THREAD_NOT_IN_PROCESS:
+                return "SMB2_STATUS_THREAD_NOT_IN_PROCESS";
+        case SMB2_STATUS_TOKEN_ALREADY_IN_USE:
+                return "SMB2_STATUS_TOKEN_ALREADY_IN_USE";
+        case SMB2_STATUS_PAGEFILE_QUOTA_EXCEEDED:
+                return "SMB2_STATUS_PAGEFILE_QUOTA_EXCEEDED";
+        case SMB2_STATUS_COMMITMENT_LIMIT:
+                return "SMB2_STATUS_COMMITMENT_LIMIT";
+        case SMB2_STATUS_INVALID_IMAGE_LE_FORMAT:
+                return "SMB2_STATUS_INVALID_IMAGE_LE_FORMAT";
+        case SMB2_STATUS_INVALID_IMAGE_NOT_MZ:
+                return "SMB2_STATUS_INVALID_IMAGE_NOT_MZ";
+        case SMB2_STATUS_INVALID_IMAGE_PROTECT:
+                return "SMB2_STATUS_INVALID_IMAGE_PROTECT";
+        case SMB2_STATUS_INVALID_IMAGE_WIN_16:
+                return "SMB2_STATUS_INVALID_IMAGE_WIN_16";
+        case SMB2_STATUS_LOGON_SERVER_CONFLICT:
+                return "SMB2_STATUS_LOGON_SERVER_CONFLICT";
+        case SMB2_STATUS_TIME_DIFFERENCE_AT_DC:
+                return "SMB2_STATUS_TIME_DIFFERENCE_AT_DC";
+        case SMB2_STATUS_SYNCHRONIZATION_REQUIRED:
+                return "SMB2_STATUS_SYNCHRONIZATION_REQUIRED";
+        case SMB2_STATUS_DLL_NOT_FOUND:
+                return "SMB2_STATUS_DLL_NOT_FOUND";
+        case SMB2_STATUS_OPEN_FAILED:
+                return "SMB2_STATUS_OPEN_FAILED";
+        case SMB2_STATUS_IO_PRIVILEGE_FAILED:
+                return "SMB2_STATUS_IO_PRIVILEGE_FAILED";
+        case SMB2_STATUS_ORDINAL_NOT_FOUND:
+                return "SMB2_STATUS_ORDINAL_NOT_FOUND";
+        case SMB2_STATUS_ENTRYPOINT_NOT_FOUND:
+                return "SMB2_STATUS_ENTRYPOINT_NOT_FOUND";
+        case SMB2_STATUS_CONTROL_C_EXIT:
+                return "SMB2_STATUS_CONTROL_C_EXIT";
+        case SMB2_STATUS_LOCAL_DISCONNECT:
+                return "SMB2_STATUS_LOCAL_DISCONNECT";
+        case SMB2_STATUS_REMOTE_DISCONNECT:
+                return "SMB2_STATUS_REMOTE_DISCONNECT";
+        case SMB2_STATUS_REMOTE_RESOURCES:
+                return "SMB2_STATUS_REMOTE_RESOURCES";
+        case SMB2_STATUS_LINK_FAILED:
+                return "SMB2_STATUS_LINK_FAILED";
+        case SMB2_STATUS_LINK_TIMEOUT:
+                return "SMB2_STATUS_LINK_TIMEOUT";
+        case SMB2_STATUS_INVALID_CONNECTION:
+                return "SMB2_STATUS_INVALID_CONNECTION";
+        case SMB2_STATUS_INVALID_ADDRESS:
+                return "SMB2_STATUS_INVALID_ADDRESS";
+        case SMB2_STATUS_DLL_INIT_FAILED:
+                return "SMB2_STATUS_DLL_INIT_FAILED";
+        case SMB2_STATUS_MISSING_SYSTEMFILE:
+                return "SMB2_STATUS_MISSING_SYSTEMFILE";
+        case SMB2_STATUS_UNHANDLED_EXCEPTION:
+                return "SMB2_STATUS_UNHANDLED_EXCEPTION";
+        case SMB2_STATUS_APP_INIT_FAILURE:
+                return "SMB2_STATUS_APP_INIT_FAILURE";
+        case SMB2_STATUS_PAGEFILE_CREATE_FAILED:
+                return "SMB2_STATUS_PAGEFILE_CREATE_FAILED";
+        case SMB2_STATUS_NO_PAGEFILE:
+                return "SMB2_STATUS_NO_PAGEFILE";
+        case SMB2_STATUS_INVALID_LEVEL:
+                return "SMB2_STATUS_INVALID_LEVEL";
+        case SMB2_STATUS_WRONG_PASSWORD_CORE:
+                return "SMB2_STATUS_WRONG_PASSWORD_CORE";
+        case SMB2_STATUS_ILLEGAL_FLOAT_CONTEXT:
+                return "SMB2_STATUS_ILLEGAL_FLOAT_CONTEXT";
+        case SMB2_STATUS_PIPE_BROKEN:
+                return "SMB2_STATUS_PIPE_BROKEN";
+        case SMB2_STATUS_REGISTRY_CORRUPT:
+                return "SMB2_STATUS_REGISTRY_CORRUPT";
+        case SMB2_STATUS_REGISTRY_IO_FAILED:
+                return "SMB2_STATUS_REGISTRY_IO_FAILED";
+        case SMB2_STATUS_NO_EVENT_PAIR:
+                return "SMB2_STATUS_NO_EVENT_PAIR";
+        case SMB2_STATUS_UNRECOGNIZED_VOLUME:
+                return "SMB2_STATUS_UNRECOGNIZED_VOLUME";
+        case SMB2_STATUS_SERIAL_NO_DEVICE_INITED:
+                return "SMB2_STATUS_SERIAL_NO_DEVICE_INITED";
+        case SMB2_STATUS_NO_SUCH_ALIAS:
+                return "SMB2_STATUS_NO_SUCH_ALIAS";
+        case SMB2_STATUS_MEMBER_NOT_IN_ALIAS:
+                return "SMB2_STATUS_MEMBER_NOT_IN_ALIAS";
+        case SMB2_STATUS_MEMBER_IN_ALIAS:
+                return "SMB2_STATUS_MEMBER_IN_ALIAS";
+        case SMB2_STATUS_ALIAS_EXISTS:
+                return "SMB2_STATUS_ALIAS_EXISTS";
+        case SMB2_STATUS_LOGON_NOT_GRANTED:
+                return "SMB2_STATUS_LOGON_NOT_GRANTED";
+        case SMB2_STATUS_TOO_MANY_SECRETS:
+                return "SMB2_STATUS_TOO_MANY_SECRETS";
+        case SMB2_STATUS_SECRET_TOO_LONG:
+                return "SMB2_STATUS_SECRET_TOO_LONG";
+        case SMB2_STATUS_INTERNAL_DB_ERROR:
+                return "SMB2_STATUS_INTERNAL_DB_ERROR";
+        case SMB2_STATUS_FULLSCREEN_MODE:
+                return "SMB2_STATUS_FULLSCREEN_MODE";
+        case SMB2_STATUS_TOO_MANY_CONTEXT_IDS:
+                return "SMB2_STATUS_TOO_MANY_CONTEXT_IDS";
+        case SMB2_STATUS_LOGON_TYPE_NOT_GRANTED:
+                return "SMB2_STATUS_LOGON_TYPE_NOT_GRANTED";
+        case SMB2_STATUS_NOT_REGISTRY_FILE:
+                return "SMB2_STATUS_NOT_REGISTRY_FILE";
+        case SMB2_STATUS_NT_CROSS_ENCRYPTION_REQUIRED:
+                return "SMB2_STATUS_NT_CROSS_ENCRYPTION_REQUIRED";
+        case SMB2_STATUS_DOMAIN_CTRLR_CONFIG_ERROR:
+                return "SMB2_STATUS_DOMAIN_CTRLR_CONFIG_ERROR";
+        case SMB2_STATUS_FT_MISSING_MEMBER:
+                return "SMB2_STATUS_FT_MISSING_MEMBER";
+        case SMB2_STATUS_ILL_FORMED_SERVICE_ENTRY:
+                return "SMB2_STATUS_ILL_FORMED_SERVICE_ENTRY";
+        case SMB2_STATUS_ILLEGAL_CHARACTER:
+                return "SMB2_STATUS_ILLEGAL_CHARACTER";
+        case SMB2_STATUS_UNMAPPABLE_CHARACTER:
+                return "SMB2_STATUS_UNMAPPABLE_CHARACTER";
+        case SMB2_STATUS_UNDEFINED_CHARACTER:
+                return "SMB2_STATUS_UNDEFINED_CHARACTER";
+        case SMB2_STATUS_FLOPPY_VOLUME:
+                return "SMB2_STATUS_FLOPPY_VOLUME";
+        case SMB2_STATUS_FLOPPY_ID_MARK_NOT_FOUND:
+                return "SMB2_STATUS_FLOPPY_ID_MARK_NOT_FOUND";
+        case SMB2_STATUS_FLOPPY_WRONG_CYLINDER:
+                return "SMB2_STATUS_FLOPPY_WRONG_CYLINDER";
+        case SMB2_STATUS_FLOPPY_UNKNOWN_ERROR:
+                return "SMB2_STATUS_FLOPPY_UNKNOWN_ERROR";
+        case SMB2_STATUS_FLOPPY_BAD_REGISTERS:
+                return "SMB2_STATUS_FLOPPY_BAD_REGISTERS";
+        case SMB2_STATUS_DISK_RECALIBRATE_FAILED:
+                return "SMB2_STATUS_DISK_RECALIBRATE_FAILED";
+        case SMB2_STATUS_DISK_OPERATION_FAILED:
+                return "SMB2_STATUS_DISK_OPERATION_FAILED";
+        case SMB2_STATUS_DISK_RESET_FAILED:
+                return "SMB2_STATUS_DISK_RESET_FAILED";
+        case SMB2_STATUS_SHARED_IRQ_BUSY:
+                return "SMB2_STATUS_SHARED_IRQ_BUSY";
+        case SMB2_STATUS_FT_ORPHANING:
+                return "SMB2_STATUS_FT_ORPHANING";
+        case SMB2_STATUS_PARTITION_FAILURE:
+                return "SMB2_STATUS_PARTITION_FAILURE";
+        case SMB2_STATUS_INVALID_BLOCK_LENGTH:
+                return "SMB2_STATUS_INVALID_BLOCK_LENGTH";
+        case SMB2_STATUS_DEVICE_NOT_PARTITIONED:
+                return "SMB2_STATUS_DEVICE_NOT_PARTITIONED";
+        case SMB2_STATUS_UNABLE_TO_LOCK_MEDIA:
+                return "SMB2_STATUS_UNABLE_TO_LOCK_MEDIA";
+        case SMB2_STATUS_UNABLE_TO_UNLOAD_MEDIA:
+                return "SMB2_STATUS_UNABLE_TO_UNLOAD_MEDIA";
+        case SMB2_STATUS_EOM_OVERFLOW:
+                return "SMB2_STATUS_EOM_OVERFLOW";
+        case SMB2_STATUS_NO_MEDIA:
+                return "SMB2_STATUS_NO_MEDIA";
+        case SMB2_STATUS_NO_SUCH_MEMBER:
+                return "SMB2_STATUS_NO_SUCH_MEMBER";
+        case SMB2_STATUS_INVALID_MEMBER:
+                return "SMB2_STATUS_INVALID_MEMBER";
+        case SMB2_STATUS_KEY_DELETED:
+                return "SMB2_STATUS_KEY_DELETED";
+        case SMB2_STATUS_NO_LOG_SPACE:
+                return "SMB2_STATUS_NO_LOG_SPACE";
+        case SMB2_STATUS_TOO_MANY_SIDS:
+                return "SMB2_STATUS_TOO_MANY_SIDS";
+        case SMB2_STATUS_LM_CROSS_ENCRYPTION_REQUIRED:
+                return "SMB2_STATUS_LM_CROSS_ENCRYPTION_REQUIRED";
+        case SMB2_STATUS_KEY_HAS_CHILDREN:
+                return "SMB2_STATUS_KEY_HAS_CHILDREN";
+        case SMB2_STATUS_CHILD_MUST_BE_VOLATILE:
+                return "SMB2_STATUS_CHILD_MUST_BE_VOLATILE";
+        case SMB2_STATUS_DEVICE_CONFIGURATION_ERROR:
+                return "SMB2_STATUS_DEVICE_CONFIGURATION_ERROR";
+        case SMB2_STATUS_DRIVER_INTERNAL_ERROR:
+                return "SMB2_STATUS_DRIVER_INTERNAL_ERROR";
+        case SMB2_STATUS_INVALID_DEVICE_STATE:
+                return "SMB2_STATUS_INVALID_DEVICE_STATE";
+        case SMB2_STATUS_IO_DEVICE_ERROR:
+                return "SMB2_STATUS_IO_DEVICE_ERROR";
+        case SMB2_STATUS_DEVICE_PROTOCOL_ERROR:
+                return "SMB2_STATUS_DEVICE_PROTOCOL_ERROR";
+        case SMB2_STATUS_BACKUP_CONTROLLER:
+                return "SMB2_STATUS_BACKUP_CONTROLLER";
+        case SMB2_STATUS_LOG_FILE_FULL:
+                return "SMB2_STATUS_LOG_FILE_FULL";
+        case SMB2_STATUS_TOO_LATE:
+                return "SMB2_STATUS_TOO_LATE";
+        case SMB2_STATUS_NO_TRUST_LSA_SECRET:
+                return "SMB2_STATUS_NO_TRUST_LSA_SECRET";
+        case SMB2_STATUS_NO_TRUST_SAM_ACCOUNT:
+                return "SMB2_STATUS_NO_TRUST_SAM_ACCOUNT";
+        case SMB2_STATUS_TRUSTED_DOMAIN_FAILURE:
+                return "SMB2_STATUS_TRUSTED_DOMAIN_FAILURE";
+        case SMB2_STATUS_TRUSTED_RELATIONSHIP_FAILURE:
+                return "SMB2_STATUS_TRUSTED_RELATIONSHIP_FAILURE";
+        case SMB2_STATUS_EVENTLOG_FILE_CORRUPT:
+                return "SMB2_STATUS_EVENTLOG_FILE_CORRUPT";
+        case SMB2_STATUS_EVENTLOG_CANT_START:
+                return "SMB2_STATUS_EVENTLOG_CANT_START";
+        case SMB2_STATUS_TRUST_FAILURE:
+                return "SMB2_STATUS_TRUST_FAILURE";
+        case SMB2_STATUS_MUTANT_LIMIT_EXCEEDED:
+                return "SMB2_STATUS_MUTANT_LIMIT_EXCEEDED";
+        case SMB2_STATUS_NETLOGON_NOT_STARTED:
+                return "SMB2_STATUS_NETLOGON_NOT_STARTED";
+        case SMB2_STATUS_ACCOUNT_EXPIRED:
+                return "SMB2_STATUS_ACCOUNT_EXPIRED";
+        case SMB2_STATUS_POSSIBLE_DEADLOCK:
+                return "SMB2_STATUS_POSSIBLE_DEADLOCK";
+        case SMB2_STATUS_NETWORK_CREDENTIAL_CONFLICT:
+                return "SMB2_STATUS_NETWORK_CREDENTIAL_CONFLICT";
+        case SMB2_STATUS_REMOTE_SESSION_LIMIT:
+                return "SMB2_STATUS_REMOTE_SESSION_LIMIT";
+        case SMB2_STATUS_EVENTLOG_FILE_CHANGED:
+                return "SMB2_STATUS_EVENTLOG_FILE_CHANGED";
+        case SMB2_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT:
+                return "SMB2_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT";
+        case SMB2_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT:
+                return "SMB2_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT";
+        case SMB2_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT:
+                return "SMB2_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT";
+        case SMB2_STATUS_DOMAIN_TRUST_INCONSISTENT:
+                return "SMB2_STATUS_DOMAIN_TRUST_INCONSISTENT";
+        case SMB2_STATUS_FS_DRIVER_REQUIRED:
+                return "SMB2_STATUS_FS_DRIVER_REQUIRED";
+        case SMB2_STATUS_NO_USER_SESSION_KEY:
+                return "SMB2_STATUS_NO_USER_SESSION_KEY";
+        case SMB2_STATUS_USER_SESSION_DELETED:
+                return "SMB2_STATUS_USER_SESSION_DELETED";
+        case SMB2_STATUS_RESOURCE_LANG_NOT_FOUND:
+                return "SMB2_STATUS_RESOURCE_LANG_NOT_FOUND";
         case SMB2_STATUS_INSUFF_SERVER_RESOURCES:
                 return "STATUS_INSUFF_SERVER_RESOURCES";
+        case SMB2_STATUS_INVALID_BUFFER_SIZE:
+                return "SMB2_STATUS_INVALID_BUFFER_SIZE";
+        case SMB2_STATUS_INVALID_ADDRESS_COMPONENT:
+                return "SMB2_STATUS_INVALID_ADDRESS_COMPONENT";
+        case SMB2_STATUS_INVALID_ADDRESS_WILDCARD:
+                return "SMB2_STATUS_INVALID_ADDRESS_WILDCARD";
+        case SMB2_STATUS_TOO_MANY_ADDRESSES:
+                return "SMB2_STATUS_TOO_MANY_ADDRESSES";
+        case SMB2_STATUS_ADDRESS_ALREADY_EXISTS:
+                return "SMB2_STATUS_ADDRESS_ALREADY_EXISTS";
+        case SMB2_STATUS_ADDRESS_CLOSED:
+                return "SMB2_STATUS_ADDRESS_CLOSED";
+        case SMB2_STATUS_CONNECTION_DISCONNECTED:
+                return "SMB2_STATUS_CONNECTION_DISCONNECTED";
+        case SMB2_STATUS_CONNECTION_RESET:
+                return "SMB2_STATUS_CONNECTION_RESET";
+        case SMB2_STATUS_TOO_MANY_NODES:
+                return "SMB2_STATUS_TOO_MANY_NODES";
+        case SMB2_STATUS_TRANSACTION_ABORTED:
+                return "SMB2_STATUS_TRANSACTION_ABORTED";
+        case SMB2_STATUS_TRANSACTION_TIMED_OUT:
+                return "SMB2_STATUS_TRANSACTION_TIMED_OUT";
+        case SMB2_STATUS_TRANSACTION_NO_RELEASE:
+                return "SMB2_STATUS_TRANSACTION_NO_RELEASE";
+        case SMB2_STATUS_TRANSACTION_NO_MATCH:
+                return "SMB2_STATUS_TRANSACTION_NO_MATCH";
+        case SMB2_STATUS_TRANSACTION_RESPONDED:
+                return "SMB2_STATUS_TRANSACTION_RESPONDED";
+        case SMB2_STATUS_TRANSACTION_INVALID_ID:
+                return "SMB2_STATUS_TRANSACTION_INVALID_ID";
+        case SMB2_STATUS_TRANSACTION_INVALID_TYPE:
+                return "SMB2_STATUS_TRANSACTION_INVALID_TYPE";
+        case SMB2_STATUS_NOT_SERVER_SESSION:
+                return "SMB2_STATUS_NOT_SERVER_SESSION";
+        case SMB2_STATUS_NOT_CLIENT_SESSION:
+                return "SMB2_STATUS_NOT_CLIENT_SESSION";
+        case SMB2_STATUS_CANNOT_LOAD_REGISTRY_FILE:
+                return "SMB2_STATUS_CANNOT_LOAD_REGISTRY_FILE";
+        case SMB2_STATUS_DEBUG_ATTACH_FAILED:
+                return "SMB2_STATUS_DEBUG_ATTACH_FAILED";
+        case SMB2_STATUS_SYSTEM_PROCESS_TERMINATED:
+                return "SMB2_STATUS_SYSTEM_PROCESS_TERMINATED";
+        case SMB2_STATUS_DATA_NOT_ACCEPTED:
+                return "SMB2_STATUS_DATA_NOT_ACCEPTED";
+        case SMB2_STATUS_NO_BROWSER_SERVERS_FOUND:
+                return "SMB2_STATUS_NO_BROWSER_SERVERS_FOUND";
+        case SMB2_STATUS_VDM_HARD_ERROR:
+                return "SMB2_STATUS_VDM_HARD_ERROR";
+        case SMB2_STATUS_DRIVER_CANCEL_TIMEOUT:
+                return "SMB2_STATUS_DRIVER_CANCEL_TIMEOUT";
+        case SMB2_STATUS_REPLY_MESSAGE_MISMATCH:
+                return "SMB2_STATUS_REPLY_MESSAGE_MISMATCH";
+        case SMB2_STATUS_MAPPED_ALIGNMENT:
+                return "SMB2_STATUS_MAPPED_ALIGNMENT";
+        case SMB2_STATUS_IMAGE_CHECKSUM_MISMATCH:
+                return "SMB2_STATUS_IMAGE_CHECKSUM_MISMATCH";
+        case SMB2_STATUS_LOST_WRITEBEHIND_DATA:
+                return "SMB2_STATUS_LOST_WRITEBEHIND_DATA";
+        case SMB2_STATUS_CLIENT_SERVER_PARAMETERS_INVALID:
+                return "SMB2_STATUS_CLIENT_SERVER_PARAMETERS_INVALID";
+        case SMB2_STATUS_PASSWORD_MUST_CHANGE:
+                return "SMB2_STATUS_PASSWORD_MUST_CHANGE";
+        case SMB2_STATUS_NOT_FOUND:
+                return "SMB2_STATUS_NOT_FOUND";
+        case SMB2_STATUS_NOT_TINY_STREAM:
+                return "SMB2_STATUS_NOT_TINY_STREAM";
+        case SMB2_STATUS_RECOVERY_FAILURE:
+                return "SMB2_STATUS_RECOVERY_FAILURE";
+        case SMB2_STATUS_STACK_OVERFLOW_READ:
+                return "SMB2_STATUS_STACK_OVERFLOW_READ";
+        case SMB2_STATUS_FAIL_CHECK:
+                return "SMB2_STATUS_FAIL_CHECK";
+        case SMB2_STATUS_DUPLICATE_OBJECTID:
+                return "SMB2_STATUS_DUPLICATE_OBJECTID";
+        case SMB2_STATUS_OBJECTID_EXISTS:
+                return "SMB2_STATUS_OBJECTID_EXISTS";
+        case SMB2_STATUS_CONVERT_TO_LARGE:
+                return "SMB2_STATUS_CONVERT_TO_LARGE";
+        case SMB2_STATUS_RETRY:
+                return "SMB2_STATUS_RETRY";
+        case SMB2_STATUS_FOUND_OUT_OF_SCOPE:
+                return "SMB2_STATUS_FOUND_OUT_OF_SCOPE";
+        case SMB2_STATUS_ALLOCATE_BUCKET:
+                return "SMB2_STATUS_ALLOCATE_BUCKET";
+        case SMB2_STATUS_PROPSET_NOT_FOUND:
+                return "SMB2_STATUS_PROPSET_NOT_FOUND";
+        case SMB2_STATUS_MARSHALL_OVERFLOW:
+                return "SMB2_STATUS_MARSHALL_OVERFLOW";
+        case SMB2_STATUS_INVALID_VARIANT:
+                return "SMB2_STATUS_INVALID_VARIANT";
+        case SMB2_STATUS_DOMAIN_CONTROLLER_NOT_FOUND:
+                return "SMB2_STATUS_DOMAIN_CONTROLLER_NOT_FOUND";
+        case SMB2_STATUS_ACCOUNT_LOCKED_OUT:
+                return "SMB2_STATUS_ACCOUNT_LOCKED_OUT";
         case SMB2_STATUS_HANDLE_NOT_CLOSABLE:
                 return "STATUS_HANDLE_NOT_CLOSABLE";
+        case SMB2_STATUS_CONNECTION_REFUSED:
+                return "SMB2_STATUS_CONNECTION_REFUSED";
+        case SMB2_STATUS_GRACEFUL_DISCONNECT:
+                return "SMB2_STATUS_GRACEFUL_DISCONNECT";
+        case SMB2_STATUS_ADDRESS_ALREADY_ASSOCIATED:
+                return "SMB2_STATUS_ADDRESS_ALREADY_ASSOCIATED";
+        case SMB2_STATUS_ADDRESS_NOT_ASSOCIATED:
+                return "SMB2_STATUS_ADDRESS_NOT_ASSOCIATED";
+        case SMB2_STATUS_CONNECTION_INVALID:
+                return "SMB2_STATUS_CONNECTION_INVALID";
+        case SMB2_STATUS_CONNECTION_ACTIVE:
+                return "SMB2_STATUS_CONNECTION_ACTIVE";
+        case SMB2_STATUS_NETWORK_UNREACHABLE:
+                return "SMB2_STATUS_NETWORK_UNREACHABLE";
+        case SMB2_STATUS_HOST_UNREACHABLE:
+                return "SMB2_STATUS_HOST_UNREACHABLE";
+        case SMB2_STATUS_PROTOCOL_UNREACHABLE:
+                return "SMB2_STATUS_PROTOCOL_UNREACHABLE";
+        case SMB2_STATUS_PORT_UNREACHABLE:
+                return "SMB2_STATUS_PORT_UNREACHABLE";
+        case SMB2_STATUS_REQUEST_ABORTED:
+                return "SMB2_STATUS_REQUEST_ABORTED";
+        case SMB2_STATUS_CONNECTION_ABORTED:
+                return "SMB2_STATUS_CONNECTION_ABORTED";
+        case SMB2_STATUS_BAD_COMPRESSION_BUFFER:
+                return "SMB2_STATUS_BAD_COMPRESSION_BUFFER";
+        case SMB2_STATUS_USER_MAPPED_FILE:
+                return "SMB2_STATUS_USER_MAPPED_FILE";
+        case SMB2_STATUS_AUDIT_FAILED:
+                return "SMB2_STATUS_AUDIT_FAILED";
+        case SMB2_STATUS_TIMER_RESOLUTION_NOT_SET:
+                return "SMB2_STATUS_TIMER_RESOLUTION_NOT_SET";
+        case SMB2_STATUS_CONNECTION_COUNT_LIMIT:
+                return "SMB2_STATUS_CONNECTION_COUNT_LIMIT";
+        case SMB2_STATUS_LOGIN_TIME_RESTRICTION:
+                return "SMB2_STATUS_LOGIN_TIME_RESTRICTION";
+        case SMB2_STATUS_LOGIN_WKSTA_RESTRICTION:
+                return "SMB2_STATUS_LOGIN_WKSTA_RESTRICTION";
+        case SMB2_STATUS_IMAGE_MP_UP_MISMATCH:
+                return "SMB2_STATUS_IMAGE_MP_UP_MISMATCH";
+        case SMB2_STATUS_INSUFFICIENT_LOGON_INFO:
+                return "SMB2_STATUS_INSUFFICIENT_LOGON_INFO";
+        case SMB2_STATUS_BAD_DLL_ENTRYPOINT:
+                return "SMB2_STATUS_BAD_DLL_ENTRYPOINT";
+        case SMB2_STATUS_BAD_SERVICE_ENTRYPOINT:
+                return "SMB2_STATUS_BAD_SERVICE_ENTRYPOINT";
+        case SMB2_STATUS_LPC_REPLY_LOST:
+                return "SMB2_STATUS_LPC_REPLY_LOST";
+        case SMB2_STATUS_IP_ADDRESS_CONFLICT1:
+                return "SMB2_STATUS_IP_ADDRESS_CONFLICT1";
+        case SMB2_STATUS_IP_ADDRESS_CONFLICT2:
+                return "SMB2_STATUS_IP_ADDRESS_CONFLICT2";
+        case SMB2_STATUS_REGISTRY_QUOTA_LIMIT:
+                return "SMB2_STATUS_REGISTRY_QUOTA_LIMIT";
+        case SMB2_STATUS_PATH_NOT_COVERED:
+                return "SMB2_STATUS_PATH_NOT_COVERED";
+        case SMB2_STATUS_NO_CALLBACK_ACTIVE:
+                return "SMB2_STATUS_NO_CALLBACK_ACTIVE";
+        case SMB2_STATUS_LICENSE_QUOTA_EXCEEDED:
+                return "SMB2_STATUS_LICENSE_QUOTA_EXCEEDED";
+        case SMB2_STATUS_PWD_TOO_SHORT:
+                return "SMB2_STATUS_PWD_TOO_SHORT";
+        case SMB2_STATUS_PWD_TOO_RECENT:
+                return "SMB2_STATUS_PWD_TOO_RECENT";
+        case SMB2_STATUS_PWD_HISTORY_CONFLICT:
+                return "SMB2_STATUS_PWD_HISTORY_CONFLICT";
+        case SMB2_STATUS_PLUGPLAY_NO_DEVICE:
+                return "SMB2_STATUS_PLUGPLAY_NO_DEVICE";
+        case SMB2_STATUS_UNSUPPORTED_COMPRESSION:
+                return "SMB2_STATUS_UNSUPPORTED_COMPRESSION";
+        case SMB2_STATUS_INVALID_HW_PROFILE:
+                return "SMB2_STATUS_INVALID_HW_PROFILE";
+        case SMB2_STATUS_INVALID_PLUGPLAY_DEVICE_PATH:
+                return "SMB2_STATUS_INVALID_PLUGPLAY_DEVICE_PATH";
+        case SMB2_STATUS_DRIVER_ORDINAL_NOT_FOUND:
+                return "SMB2_STATUS_DRIVER_ORDINAL_NOT_FOUND";
+        case SMB2_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND:
+                return "SMB2_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND";
+        case SMB2_STATUS_RESOURCE_NOT_OWNED:
+                return "SMB2_STATUS_RESOURCE_NOT_OWNED";
+        case SMB2_STATUS_TOO_MANY_LINKS:
+                return "SMB2_STATUS_TOO_MANY_LINKS";
+        case SMB2_STATUS_QUOTA_LIST_INCONSISTENT:
+                return "SMB2_STATUS_QUOTA_LIST_INCONSISTENT";
+        case SMB2_STATUS_FILE_IS_OFFLINE:
+                return "SMB2_STATUS_FILE_IS_OFFLINE";
+        case SMB2_STATUS_VOLUME_DISMOUNTED:
+                return "SMB2_STATUS_VOLUME_DISMOUNTED";
         case SMB2_STATUS_NOT_A_REPARSE_POINT:
                 return "STATUS_NOT_A_REPARSE_POINT";
         default:
@@ -160,11 +1046,10 @@ const char *nterror_to_str(uint32_t status) {
 int nterror_to_errno(uint32_t status) {
         switch (status) {
         case SMB2_STATUS_SUCCESS:
-        case SMB2_STATUS_END_OF_FILE:
                 return 0;
         case SMB2_STATUS_PENDING:
                 return EAGAIN;
-        case SMB2_STATUS_CANCELLED:
+        case SMB2_STATUS_ABORTED:
                 return ECONNRESET;
         case SMB2_STATUS_NO_SUCH_FILE:
         case SMB2_STATUS_NO_SUCH_DEVICE:
@@ -174,9 +1059,10 @@ int nterror_to_errno(uint32_t status) {
         case SMB2_STATUS_OBJECT_PATH_NOT_FOUND:
         case SMB2_STATUS_OBJECT_PATH_SYNTAX_BAD:
         case SMB2_STATUS_DFS_EXIT_PATH_FOUND:
+        case SMB2_STATUS_DELETE_PENDING:
         case SMB2_STATUS_REDIRECTOR_NOT_STARTED:
+        case SMB2_STATUS_NOT_FOUND:
                 return ENOENT;
-        case SMB2_STATUS_FILE_CLOSED:
         case SMB2_STATUS_SMB_BAD_FID:
         case SMB2_STATUS_INVALID_HANDLE:
         case SMB2_STATUS_OBJECT_TYPE_MISMATCH:
@@ -198,7 +1084,6 @@ int nterror_to_errno(uint32_t status) {
         case SMB2_STATUS_ALREADY_COMMITTED:
         case SMB2_STATUS_PORT_CONNECTION_REFUSED:
         case SMB2_STATUS_THREAD_IS_TERMINATING:
-        case SMB2_STATUS_DELETE_PENDING:
         case SMB2_STATUS_PRIVILEGE_NOT_HELD:
         case SMB2_STATUS_FILE_IS_A_DIRECTORY:
         case SMB2_STATUS_FILE_RENAMED:
@@ -217,6 +1102,7 @@ int nterror_to_errno(uint32_t status) {
         case SMB2_STATUS_INVALID_DEVICE_REQUEST:
         case SMB2_STATUS_ILLEGAL_FUNCTION:
         case SMB2_STATUS_INVALID_PARAMETER:
+        case SMB2_STATUS_NOT_SUPPORTED:
         case SMB2_STATUS_NOT_A_REPARSE_POINT:
                 return EINVAL;
         case SMB2_STATUS_TOO_MANY_OPENED_FILES:
@@ -240,12 +1126,37 @@ int nterror_to_errno(uint32_t status) {
                 return EROFS;
         case SMB2_STATUS_NO_MEDIA_IN_DEVICE:
                 return ENODEV;
+        case SMB2_STATUS_END_OF_FILE:
         case SMB2_STATUS_DATA_ERROR:
         case SMB2_STATUS_CRC_ERROR:
         case SMB2_STATUS_DEVICE_DATA_ERROR:
+        case SMB2_STATUS_IO_DEVICE_ERROR:
                 return EIO;
         case SMB2_STATUS_DISK_FULL:
                 return ENOSPC;
+        case SMB2_STATUS_CANCELLED:
+        case SMB2_STATUS_FILE_CLOSED:
+        case SMB2_STATUS_VOLUME_DISMOUNTED:
+        case SMB2_STATUS_CONNECTION_DISCONNECTED:
+        case SMB2_STATUS_CONNECTION_RESET:
+        case SMB2_STATUS_CONNECTION_INVALID:
+        case SMB2_STATUS_CONNECTION_ABORTED:
+        case SMB2_STATUS_NETWORK_NAME_DELETED:
+        case SMB2_STATUS_INVALID_NETWORK_RESPONSE:
+                // We return this errno with the intention that caller can
+                // retry when any of these are received.
+                return ENETRESET;
+        case SMB2_STATUS_PATH_NOT_COVERED:
+                // We do not have an errno which can be an equivalent of this
+                // NT_STATUS code. To handle this, return a code which will not
+                // be used as we are operating over a network.
+                return ENOEXEC;
+        case SMB2_STATUS_IO_TIMEOUT:
+                return ETIMEDOUT;
+        case SMB2_STATUS_INSUFFICIENT_RESOURCES:
+                return EBUSY;
+        case SMB2_STATUS_INTERNAL_ERROR:
+                // Fall through.
         default:
                 return EIO;
         }