summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/netsmb/smb.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/netsmb/smb.h')
-rw-r--r--usr/src/uts/common/netsmb/smb.h695
1 files changed, 7 insertions, 688 deletions
diff --git a/usr/src/uts/common/netsmb/smb.h b/usr/src/uts/common/netsmb/smb.h
index f0957634cb..e3bfc5144c 100644
--- a/usr/src/uts/common/netsmb/smb.h
+++ b/usr/src/uts/common/netsmb/smb.h
@@ -39,17 +39,23 @@
*/
/*
- * Common definintions and structures for SMB/CIFS protocol
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _NETSMB_SMB_H_
#define _NETSMB_SMB_H_
/*
+ * Common definitions and structures for SMB/CIFS protocol
* This file should be purely SMB protocol definition stuff.
* (Please don't make it a catch-all:)
*/
+#include <smb/doserror.h>
+#include <smb/lmerr.h>
+#include <smb/nterror.h>
+#include <smb/ntstatus.h>
+
/*
* SMB dialects that we have to deal with.
*/
@@ -748,693 +754,6 @@ typedef struct ntsid ntsid_t;
#define SMB_LOCKING_ANDX_CANCEL_LOCK 0x08
#define SMB_LOCKING_ANDX_LARGE_FILES 0x10
-/*
- * Error classes
- */
-#define SMBSUCCESS 0x00
-#define ERRDOS 0x01
-#define ERRSRV 0x02
-#define ERRHRD 0x03 /* Error is an hardware error. */
-#define ERRCMD 0xFF /* Command was not in the "SMB" format. */
-
-/*
- * Error codes for the ERRDOS class
- */
-#define ERRbadfunc 1 /* Invalid function */
-#define ERRbadfile 2 /* File not found (last component) */
-#define ERRbadpath 3 /* Directory invalid */
-#define ERRnofids 4 /* Too many open files */
-#define ERRnoaccess 5 /* Access denied */
-#define ERRbadfid 6 /* Invalid file handle */
-#define ERRbadmcb 7 /* Memory control blocks destroyed (huh ?) */
-#define ERRnomem 8 /* Insufficient memory */
-#define ERRbadmem 9 /* Invalid memory block address */
-#define ERRbadenv 10 /* Invalid environment */
-#define ERRbadformat 11 /* Invalid format */
-#define ERRbadaccess 12 /* Invalid open mode */
-#define ERRbaddata 13 /* Invalid data */
-#define ERRoutofmem 14 /* out of memory */
-#define ERRbaddrive 15 /* Invalid drive specified */
-#define ERRremcd 16 /* An attempt to delete current directory */
-#define ERRdiffdevice 17 /* cross fs rename/move */
-#define ERRnofiles 18 /* no more files found in file search */
-#define ERRwriteprotect 19
-#define ERRnotready 21
-#define ERRbadcmd 22
-#define ERRcrc 23
-#define ERRbadlength 24
-#define ERRsectornotfound 27
-#define ERRbadshare 32 /* Share mode can't be granted */
-#define ERRlock 33 /* Lock conflicts with existing lock */
-#define ERRwrongdisk 34
-#define ERRhandleeof 38
-#define ERRunsup 50 /* unsupported - Win 95 */
-#define ERRnetnamedel 64
-#define ERRnoipc 66 /* ipc unsupported */
-#define ERRnosuchshare 67 /* invalid share name */
-#define ERRtoomanynames 68
-#define ERRfilexists 80 /* requested file name already exists */
-#define ERRinvalidparam 87
-#define ERRcannotopen 110 /* cannot open the file */
-#define ERRinsufficientbuffer 122
-#define ERRinvalidname 123
-#define ERRunknownlevel 124
-#define ERRdirnotempty 145
-#define ERRnotlocked 158 /* region was not locked by this context */
-#define ERRrename 183
-#define ERRbadpipe 230 /* named pipe invalid */
-#define ERRpipebusy 231 /* all pipe instances are busy */
-#define ERRpipeclosing 232 /* close in progress */
-#define ERRnotconnected 233 /* nobody on other end of pipe */
-#define ERRmoredata 234 /* more data to be returned */
-#define ERRnomoreitems 259
-#define ERRbaddirectory 267 /* invalid directory name */
-#define ERReasunsupported 282 /* extended attributes not supported */
-#define ERRlogonfailure 1326
-#define ERRbuftoosmall 2123
-#define ERRunknownipc 2142
-#define ERRnosuchprintjob 2151
-#define ERRinvgroup 2455
-
-/*
- * Error codes for the ERRSRV class
- */
-#define ERRerror 1 /* Non-specific error code */
-#define ERRbadpw 2 /* Bad password */
-#define ERRbadtype 3 /* reserved */
-#define ERRaccess 4 /* client doesn't have enough access rights */
-#define ERRinvnid 5 /* The Tid specified in a command is invalid */
-#define ERRinvnetname 6 /* Invalid server name in the tree connect */
-#define ERRinvdevice 7 /* Printer and not printer devices are mixed */
-#define ERRqfull 49 /* Print queue full */
-#define ERRqtoobig 50 /* Print queue full - no space */
-#define ERRinvpfid 52 /* Invalid print file FID */
-#define ERRsmbcmd 64 /* The server did not recognise the command */
-#define ERRsrverror 65 /* The server encountered and internal error */
-#define ERRfilespecs 67 /* The Fid and path name contains an */
- /* invalid combination */
-#define ERRbadpermits 69 /* Access mode invalid */
-#define ERRsetattrmode 71 /* Attribute mode invalid */
-#define ERRpaused 81 /* Server is paused */
-#define ERRmsgoff 82 /* Not receiving messages */
-#define ERRnoroom 83 /* No room to buffer message */
-#define ERRrmuns 87 /* Too many remote user names */
-#define ERRtimeout 88 /* Operation timed out */
-#define ERRnoresource 89 /* No resources currently available for req */
-#define ERRtoomanyuids 90 /* Too many UIDs active on this session */
-#define ERRbaduid 91 /* The UID is not known in this session */
-#define ERRusempx 250 /* Temporarily unable to support Raw, */
- /* use MPX mode */
-#define ERRusestd 251 /* Temporarily unable to support Raw, */
- /* use stdandard r/w */
-#define ERRcontmpx 252 /* Continue in MPX mode */
-#define ERRacctexpired 2239
-#define ERRnosupport 65535 /* Invalid function */
-
-/*
- * Error codes for the ERRHRD class
- */
-#define ERRnowrite 19 /* write protected media */
-#define ERRbadunit 20 /* Unknown unit */
-#define ERRnotready 21 /* Drive not ready */
-#define ERRbadcmd 22 /* Unknown command */
-#define ERRdata 23 /* Data error (CRC) */
-#define ERRbadreq 24 /* Bad request structure length */
-#define ERRseek 25 /* Seek error */
-#define ERRbadmedia 26 /* Unknown media type */
-#define ERRbadsector 27 /* Sector not found */
-#define ERRnopaper 28 /* Printer out of paper */
-#define ERRwrite 29 /* Write fault */
-#define ERRread 30 /* Read fault */
-#define ERRgeneral 31 /* General failure */
-#define ERRbadshare 32 /* A open conflicts with an existing open */
-#define ERRlock 33 /* lock/unlock conflict */
-#define ERRwrongdisk 34 /* The wrong disk was found in a drive */
-#define ERRFCBunavail 35 /* No FCBs available */
-#define ERRsharebufexc 36 /* A sharing buffer has been exceeded */
-#define ERRdiskfull 39
-
-/*
- * RAP error codes (it seems that they returned not only by RAP)
- */
-#define SMB_ERROR_ACCESS_DENIED 5
-#define SMB_ERROR_NETWORK_ACCESS_DENIED 65
-#define SMB_ERROR_MORE_DATA ERRmoredata
-
-/*
- * An INCOMPLETE list of 32 bit error codes
- * For more detail see MSDN and ntstatus.h in the MS DDK
- *
- * XXX - these should have the severity and "customer defined" fields
- * added back in, and smb_maperr32() shouldn't mask those fields out;
- * 0x80000005 is STATUS_BUFFER_OVERFLOW, with 0xC0000000 is
- * STATUS_ACCESS_VIOLATION, and we need to distinguish between them.
- * We use STATUS_BUFFER_OVERFLOW, and need to know its exact value,
- * so we #define it correctly here; don't strip off the leading
- * 0x80000000 from it!
- */
-#define NT_STATUS_BUFFER_OVERFLOW 0x80000005
-#define NT_STATUS_UNSUCCESSFUL 0x0001
-#define NT_STATUS_NOT_IMPLEMENTED 0x0002
-#define NT_STATUS_INVALID_INFO_CLASS 0x0003
-#define NT_STATUS_INFO_LENGTH_MISMATCH 0x0004
-#define NT_STATUS_ACCESS_VIOLATION 0x0005
-#define NT_STATUS_IN_PAGE_ERROR 0x0006
-#define NT_STATUS_PAGEFILE_QUOTA 0x0007
-#define NT_STATUS_INVALID_HANDLE 0x0008
-#define NT_STATUS_BAD_INITIAL_STACK 0x0009
-#define NT_STATUS_BAD_INITIAL_PC 0x000a
-#define NT_STATUS_INVALID_CID 0x000b
-#define NT_STATUS_TIMER_NOT_CANCELED 0x000c
-#define NT_STATUS_INVALID_PARAMETER 0x000d
-#define NT_STATUS_NO_SUCH_DEVICE 0x000e
-#define NT_STATUS_NO_SUCH_FILE 0x000f
-#define NT_STATUS_INVALID_DEVICE_REQUEST 0x0010
-#define NT_STATUS_END_OF_FILE 0x0011
-#define NT_STATUS_WRONG_VOLUME 0x0012
-#define NT_STATUS_NO_MEDIA_IN_DEVICE 0x0013
-#define NT_STATUS_UNRECOGNIZED_MEDIA 0x0014
-#define NT_STATUS_NONEXISTENT_SECTOR 0x0015
-#define NT_STATUS_MORE_PROCESSING_REQUIRED 0x0016
-#define NT_STATUS_NO_MEMORY 0x0017
-#define NT_STATUS_CONFLICTING_ADDRESSES 0x0018
-#define NT_STATUS_NOT_MAPPED_VIEW 0x0019
-#define NT_STATUS_UNABLE_TO_FREE_VM 0x001a
-#define NT_STATUS_UNABLE_TO_DELETE_SECTION 0x001b
-#define NT_STATUS_INVALID_SYSTEM_SERVICE 0x001c
-#define NT_STATUS_ILLEGAL_INSTRUCTION 0x001d
-#define NT_STATUS_INVALID_LOCK_SEQUENCE 0x001e
-#define NT_STATUS_INVALID_VIEW_SIZE 0x001f
-#define NT_STATUS_INVALID_FILE_FOR_SECTION 0x0020
-#define NT_STATUS_ALREADY_COMMITTED 0x0021
-#define NT_STATUS_ACCESS_DENIED 0x0022
-#define NT_STATUS_BUFFER_TOO_SMALL 0x0023
-#define NT_STATUS_OBJECT_TYPE_MISMATCH 0x0024
-#define NT_STATUS_NONCONTINUABLE_EXCEPTION 0x0025
-#define NT_STATUS_INVALID_DISPOSITION 0x0026
-#define NT_STATUS_UNWIND 0x0027
-#define NT_STATUS_BAD_STACK 0x0028
-#define NT_STATUS_INVALID_UNWIND_TARGET 0x0029
-#define NT_STATUS_NOT_LOCKED 0x002a
-#define NT_STATUS_PARITY_ERROR 0x002b
-#define NT_STATUS_UNABLE_TO_DECOMMIT_VM 0x002c
-#define NT_STATUS_NOT_COMMITTED 0x002d
-#define NT_STATUS_INVALID_PORT_ATTRIBUTES 0x002e
-#define NT_STATUS_PORT_MESSAGE_TOO_LONG 0x002f
-#define NT_STATUS_INVALID_PARAMETER_MIX 0x0030
-#define NT_STATUS_INVALID_QUOTA_LOWER 0x0031
-#define NT_STATUS_DISK_CORRUPT_ERROR 0x0032
-#define NT_STATUS_OBJECT_NAME_INVALID 0x0033
-#define NT_STATUS_OBJECT_NAME_NOT_FOUND 0x0034
-#define NT_STATUS_OBJECT_NAME_COLLISION 0x0035
-#define NT_STATUS_HANDLE_NOT_WAITABLE 0x0036
-#define NT_STATUS_PORT_DISCONNECTED 0x0037
-#define NT_STATUS_DEVICE_ALREADY_ATTACHED 0x0038
-#define NT_STATUS_OBJECT_PATH_INVALID 0x0039
-#define NT_STATUS_OBJECT_PATH_NOT_FOUND 0x003a
-#define NT_STATUS_OBJECT_PATH_SYNTAX_BAD 0x003b
-#define NT_STATUS_DATA_OVERRUN 0x003c
-#define NT_STATUS_DATA_LATE_ERROR 0x003d
-#define NT_STATUS_DATA_ERROR 0x003e
-#define NT_STATUS_CRC_ERROR 0x003f
-#define NT_STATUS_SECTION_TOO_BIG 0x0040
-#define NT_STATUS_PORT_CONNECTION_REFUSED 0x0041
-#define NT_STATUS_INVALID_PORT_HANDLE 0x0042
-#define NT_STATUS_SHARING_VIOLATION 0x0043
-#define NT_STATUS_QUOTA_EXCEEDED 0x0044
-#define NT_STATUS_INVALID_PAGE_PROTECTION 0x0045
-#define NT_STATUS_MUTANT_NOT_OWNED 0x0046
-#define NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED 0x0047
-#define NT_STATUS_PORT_ALREADY_SET 0x0048
-#define NT_STATUS_SECTION_NOT_IMAGE 0x0049
-#define NT_STATUS_SUSPEND_COUNT_EXCEEDED 0x004a
-#define NT_STATUS_THREAD_IS_TERMINATING 0x004b
-#define NT_STATUS_BAD_WORKING_SET_LIMIT 0x004c
-#define NT_STATUS_INCOMPATIBLE_FILE_MAP 0x004d
-#define NT_STATUS_SECTION_PROTECTION 0x004e
-#define NT_STATUS_EAS_NOT_SUPPORTED 0x004f
-#define NT_STATUS_EA_TOO_LARGE 0x0050
-#define NT_STATUS_NONEXISTENT_EA_ENTRY 0x0051
-#define NT_STATUS_NO_EAS_ON_FILE 0x0052
-#define NT_STATUS_EA_CORRUPT_ERROR 0x0053
-#define NT_STATUS_FILE_LOCK_CONFLICT 0x0054
-#define NT_STATUS_LOCK_NOT_GRANTED 0x0055
-#define NT_STATUS_DELETE_PENDING 0x0056
-#define NT_STATUS_CTL_FILE_NOT_SUPPORTED 0x0057
-#define NT_STATUS_UNKNOWN_REVISION 0x0058
-#define NT_STATUS_REVISION_MISMATCH 0x0059
-#define NT_STATUS_INVALID_OWNER 0x005a
-#define NT_STATUS_INVALID_PRIMARY_GROUP 0x005b
-#define NT_STATUS_NO_IMPERSONATION_TOKEN 0x005c
-#define NT_STATUS_CANT_DISABLE_MANDATORY 0x005d
-#define NT_STATUS_NO_LOGON_SERVERS 0x005e
-#define NT_STATUS_NO_SUCH_LOGON_SESSION 0x005f
-#define NT_STATUS_NO_SUCH_PRIVILEGE 0x0060
-#define NT_STATUS_PRIVILEGE_NOT_HELD 0x0061
-#define NT_STATUS_INVALID_ACCOUNT_NAME 0x0062
-#define NT_STATUS_USER_EXISTS 0x0063
-#define NT_STATUS_NO_SUCH_USER 0x0064
-#define NT_STATUS_GROUP_EXISTS 0x0065
-#define NT_STATUS_NO_SUCH_GROUP 0x0066
-#define NT_STATUS_MEMBER_IN_GROUP 0x0067
-#define NT_STATUS_MEMBER_NOT_IN_GROUP 0x0068
-#define NT_STATUS_LAST_ADMIN 0x0069
-#define NT_STATUS_WRONG_PASSWORD 0x006a
-#define NT_STATUS_ILL_FORMED_PASSWORD 0x006b
-#define NT_STATUS_PASSWORD_RESTRICTION 0x006c
-#define NT_STATUS_LOGON_FAILURE 0x006d
-#define NT_STATUS_ACCOUNT_RESTRICTION 0x006e
-#define NT_STATUS_INVALID_LOGON_HOURS 0x006f
-#define NT_STATUS_INVALID_WORKSTATION 0x0070
-#define NT_STATUS_PASSWORD_EXPIRED 0x0071
-#define NT_STATUS_ACCOUNT_DISABLED 0x0072
-#define NT_STATUS_NONE_MAPPED 0x0073
-#define NT_STATUS_TOO_MANY_LUIDS_REQUESTED 0x0074
-#define NT_STATUS_LUIDS_EXHAUSTED 0x0075
-#define NT_STATUS_INVALID_SUB_AUTHORITY 0x0076
-#define NT_STATUS_INVALID_ACL 0x0077
-#define NT_STATUS_INVALID_SID 0x0078
-#define NT_STATUS_INVALID_SECURITY_DESCR 0x0079
-#define NT_STATUS_PROCEDURE_NOT_FOUND 0x007a
-#define NT_STATUS_INVALID_IMAGE_FORMAT 0x007b
-#define NT_STATUS_NO_TOKEN 0x007c
-#define NT_STATUS_BAD_INHERITANCE_ACL 0x007d
-#define NT_STATUS_RANGE_NOT_LOCKED 0x007e
-#define NT_STATUS_DISK_FULL 0x007f
-#define NT_STATUS_SERVER_DISABLED 0x0080
-#define NT_STATUS_SERVER_NOT_DISABLED 0x0081
-#define NT_STATUS_TOO_MANY_GUIDS_REQUESTED 0x0082
-#define NT_STATUS_GUIDS_EXHAUSTED 0x0083
-#define NT_STATUS_INVALID_ID_AUTHORITY 0x0084
-#define NT_STATUS_AGENTS_EXHAUSTED 0x0085
-#define NT_STATUS_INVALID_VOLUME_LABEL 0x0086
-#define NT_STATUS_SECTION_NOT_EXTENDED 0x0087
-#define NT_STATUS_NOT_MAPPED_DATA 0x0088
-#define NT_STATUS_RESOURCE_DATA_NOT_FOUND 0x0089
-#define NT_STATUS_RESOURCE_TYPE_NOT_FOUND 0x008a
-#define NT_STATUS_RESOURCE_NAME_NOT_FOUND 0x008b
-#define NT_STATUS_ARRAY_BOUNDS_EXCEEDED 0x008c
-#define NT_STATUS_FLOAT_DENORMAL_OPERAND 0x008d
-#define NT_STATUS_FLOAT_DIVIDE_BY_ZERO 0x008e
-#define NT_STATUS_FLOAT_INEXACT_RESULT 0x008f
-#define NT_STATUS_FLOAT_INVALID_OPERATION 0x0090
-#define NT_STATUS_FLOAT_OVERFLOW 0x0091
-#define NT_STATUS_FLOAT_STACK_CHECK 0x0092
-#define NT_STATUS_FLOAT_UNDERFLOW 0x0093
-#define NT_STATUS_INTEGER_DIVIDE_BY_ZERO 0x0094
-#define NT_STATUS_INTEGER_OVERFLOW 0x0095
-#define NT_STATUS_PRIVILEGED_INSTRUCTION 0x0096
-#define NT_STATUS_TOO_MANY_PAGING_FILES 0x0097
-#define NT_STATUS_FILE_INVALID 0x0098
-#define NT_STATUS_ALLOTTED_SPACE_EXCEEDED 0x0099
-#define NT_STATUS_INSUFFICIENT_RESOURCES 0x009a
-#define NT_STATUS_DFS_EXIT_PATH_FOUND 0x009b
-#define NT_STATUS_DEVICE_DATA_ERROR 0x009c
-#define NT_STATUS_DEVICE_NOT_CONNECTED 0x009d
-#define NT_STATUS_DEVICE_POWER_FAILURE 0x009e
-#define NT_STATUS_FREE_VM_NOT_AT_BASE 0x009f
-#define NT_STATUS_MEMORY_NOT_ALLOCATED 0x00a0
-#define NT_STATUS_WORKING_SET_QUOTA 0x00a1
-#define NT_STATUS_MEDIA_WRITE_PROTECTED 0x00a2
-#define NT_STATUS_DEVICE_NOT_READY 0x00a3
-#define NT_STATUS_INVALID_GROUP_ATTRIBUTES 0x00a4
-#define NT_STATUS_BAD_IMPERSONATION_LEVEL 0x00a5
-#define NT_STATUS_CANT_OPEN_ANONYMOUS 0x00a6
-#define NT_STATUS_BAD_VALIDATION_CLASS 0x00a7
-#define NT_STATUS_BAD_TOKEN_TYPE 0x00a8
-#define NT_STATUS_BAD_MASTER_BOOT_RECORD 0x00a9
-#define NT_STATUS_INSTRUCTION_MISALIGNMENT 0x00aa
-#define NT_STATUS_INSTANCE_NOT_AVAILABLE 0x00ab
-#define NT_STATUS_PIPE_NOT_AVAILABLE 0x00ac
-#define NT_STATUS_INVALID_PIPE_STATE 0x00ad
-#define NT_STATUS_PIPE_BUSY 0x00ae
-#define NT_STATUS_ILLEGAL_FUNCTION 0x00af
-#define NT_STATUS_PIPE_DISCONNECTED 0x00b0
-#define NT_STATUS_PIPE_CLOSING 0x00b1
-#define NT_STATUS_PIPE_CONNECTED 0x00b2
-#define NT_STATUS_PIPE_LISTENING 0x00b3
-#define NT_STATUS_INVALID_READ_MODE 0x00b4
-#define NT_STATUS_IO_TIMEOUT 0x00b5
-#define NT_STATUS_FILE_FORCED_CLOSED 0x00b6
-#define NT_STATUS_PROFILING_NOT_STARTED 0x00b7
-#define NT_STATUS_PROFILING_NOT_STOPPED 0x00b8
-#define NT_STATUS_COULD_NOT_INTERPRET 0x00b9
-#define NT_STATUS_FILE_IS_A_DIRECTORY 0x00ba
-#define NT_STATUS_NOT_SUPPORTED 0x00bb
-#define NT_STATUS_REMOTE_NOT_LISTENING 0x00bc
-#define NT_STATUS_DUPLICATE_NAME 0x00bd
-#define NT_STATUS_BAD_NETWORK_PATH 0x00be
-#define NT_STATUS_NETWORK_BUSY 0x00bf
-#define NT_STATUS_DEVICE_DOES_NOT_EXIST 0x00c0
-#define NT_STATUS_TOO_MANY_COMMANDS 0x00c1
-#define NT_STATUS_ADAPTER_HARDWARE_ERROR 0x00c2
-#define NT_STATUS_INVALID_NETWORK_RESPONSE 0x00c3
-#define NT_STATUS_UNEXPECTED_NETWORK_ERROR 0x00c4
-#define NT_STATUS_BAD_REMOTE_ADAPTER 0x00c5
-#define NT_STATUS_PRINT_QUEUE_FULL 0x00c6
-#define NT_STATUS_NO_SPOOL_SPACE 0x00c7
-#define NT_STATUS_PRINT_CANCELLED 0x00c8
-#define NT_STATUS_NETWORK_NAME_DELETED 0x00c9
-#define NT_STATUS_NETWORK_ACCESS_DENIED 0x00ca
-#define NT_STATUS_BAD_DEVICE_TYPE 0x00cb
-#define NT_STATUS_BAD_NETWORK_NAME 0x00cc
-#define NT_STATUS_TOO_MANY_NAMES 0x00cd
-#define NT_STATUS_TOO_MANY_SESSIONS 0x00ce
-#define NT_STATUS_SHARING_PAUSED 0x00cf
-#define NT_STATUS_REQUEST_NOT_ACCEPTED 0x00d0
-#define NT_STATUS_REDIRECTOR_PAUSED 0x00d1
-#define NT_STATUS_NET_WRITE_FAULT 0x00d2
-#define NT_STATUS_PROFILING_AT_LIMIT 0x00d3
-#define NT_STATUS_NOT_SAME_DEVICE 0x00d4
-#define NT_STATUS_FILE_RENAMED 0x00d5
-#define NT_STATUS_VIRTUAL_CIRCUIT_CLOSED 0x00d6
-#define NT_STATUS_NO_SECURITY_ON_OBJECT 0x00d7
-#define NT_STATUS_CANT_WAIT 0x00d8
-#define NT_STATUS_PIPE_EMPTY 0x00d9
-#define NT_STATUS_CANT_ACCESS_DOMAIN_INFO 0x00da
-#define NT_STATUS_CANT_TERMINATE_SELF 0x00db
-#define NT_STATUS_INVALID_SERVER_STATE 0x00dc
-#define NT_STATUS_INVALID_DOMAIN_STATE 0x00dd
-#define NT_STATUS_INVALID_DOMAIN_ROLE 0x00de
-#define NT_STATUS_NO_SUCH_DOMAIN 0x00df
-#define NT_STATUS_DOMAIN_EXISTS 0x00e0
-#define NT_STATUS_DOMAIN_LIMIT_EXCEEDED 0x00e1
-#define NT_STATUS_OPLOCK_NOT_GRANTED 0x00e2
-#define NT_STATUS_INVALID_OPLOCK_PROTOCOL 0x00e3
-#define NT_STATUS_INTERNAL_DB_CORRUPTION 0x00e4
-#define NT_STATUS_INTERNAL_ERROR 0x00e5
-#define NT_STATUS_GENERIC_NOT_MAPPED 0x00e6
-#define NT_STATUS_BAD_DESCRIPTOR_FORMAT 0x00e7
-#define NT_STATUS_INVALID_USER_BUFFER 0x00e8
-#define NT_STATUS_UNEXPECTED_IO_ERROR 0x00e9
-#define NT_STATUS_UNEXPECTED_MM_CREATE_ERR 0x00ea
-#define NT_STATUS_UNEXPECTED_MM_MAP_ERROR 0x00eb
-#define NT_STATUS_UNEXPECTED_MM_EXTEND_ERR 0x00ec
-#define NT_STATUS_NOT_LOGON_PROCESS 0x00ed
-#define NT_STATUS_LOGON_SESSION_EXISTS 0x00ee
-#define NT_STATUS_INVALID_PARAMETER_1 0x00ef
-#define NT_STATUS_INVALID_PARAMETER_2 0x00f0
-#define NT_STATUS_INVALID_PARAMETER_3 0x00f1
-#define NT_STATUS_INVALID_PARAMETER_4 0x00f2
-#define NT_STATUS_INVALID_PARAMETER_5 0x00f3
-#define NT_STATUS_INVALID_PARAMETER_6 0x00f4
-#define NT_STATUS_INVALID_PARAMETER_7 0x00f5
-#define NT_STATUS_INVALID_PARAMETER_8 0x00f6
-#define NT_STATUS_INVALID_PARAMETER_9 0x00f7
-#define NT_STATUS_INVALID_PARAMETER_10 0x00f8
-#define NT_STATUS_INVALID_PARAMETER_11 0x00f9
-#define NT_STATUS_INVALID_PARAMETER_12 0x00fa
-#define NT_STATUS_REDIRECTOR_NOT_STARTED 0x00fb
-#define NT_STATUS_REDIRECTOR_STARTED 0x00fc
-#define NT_STATUS_STACK_OVERFLOW 0x00fd
-#define NT_STATUS_NO_SUCH_PACKAGE 0x00fe
-#define NT_STATUS_BAD_FUNCTION_TABLE 0x00ff
-#define NT_STATUS_VARIABLE_NOT_FOUND 0x0100
-#define NT_STATUS_DIRECTORY_NOT_EMPTY 0x0101
-#define NT_STATUS_FILE_CORRUPT_ERROR 0x0102
-#define NT_STATUS_NOT_A_DIRECTORY 0x0103
-#define NT_STATUS_BAD_LOGON_SESSION_STATE 0x0104
-#define NT_STATUS_LOGON_SESSION_COLLISION 0x0105
-#define NT_STATUS_NAME_TOO_LONG 0x0106
-#define NT_STATUS_FILES_OPEN 0x0107
-#define NT_STATUS_CONNECTION_IN_USE 0x0108
-#define NT_STATUS_MESSAGE_NOT_FOUND 0x0109
-#define NT_STATUS_PROCESS_IS_TERMINATING 0x010a
-#define NT_STATUS_INVALID_LOGON_TYPE 0x010b
-#define NT_STATUS_NO_GUID_TRANSLATION 0x010c
-#define NT_STATUS_CANNOT_IMPERSONATE 0x010d
-#define NT_STATUS_IMAGE_ALREADY_LOADED 0x010e
-#define NT_STATUS_ABIOS_NOT_PRESENT 0x010f
-#define NT_STATUS_ABIOS_LID_NOT_EXIST 0x0110
-#define NT_STATUS_ABIOS_LID_ALREADY_OWNED 0x0111
-#define NT_STATUS_ABIOS_NOT_LID_OWNER 0x0112
-#define NT_STATUS_ABIOS_INVALID_COMMAND 0x0113
-#define NT_STATUS_ABIOS_INVALID_LID 0x0114
-#define NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE 0x0115
-#define NT_STATUS_ABIOS_INVALID_SELECTOR 0x0116
-#define NT_STATUS_NO_LDT 0x0117
-#define NT_STATUS_INVALID_LDT_SIZE 0x0118
-#define NT_STATUS_INVALID_LDT_OFFSET 0x0119
-#define NT_STATUS_INVALID_LDT_DESCRIPTOR 0x011a
-#define NT_STATUS_INVALID_IMAGE_NE_FORMAT 0x011b
-#define NT_STATUS_RXACT_INVALID_STATE 0x011c
-#define NT_STATUS_RXACT_COMMIT_FAILURE 0x011d
-#define NT_STATUS_MAPPED_FILE_SIZE_ZERO 0x011e
-#define NT_STATUS_TOO_MANY_OPENED_FILES 0x011f
-#define NT_STATUS_CANCELLED 0x0120
-#define NT_STATUS_CANNOT_DELETE 0x0121
-#define NT_STATUS_INVALID_COMPUTER_NAME 0x0122
-#define NT_STATUS_FILE_DELETED 0x0123
-#define NT_STATUS_SPECIAL_ACCOUNT 0x0124
-#define NT_STATUS_SPECIAL_GROUP 0x0125
-#define NT_STATUS_SPECIAL_USER 0x0126
-#define NT_STATUS_MEMBERS_PRIMARY_GROUP 0x0127
-#define NT_STATUS_FILE_CLOSED 0x0128
-#define NT_STATUS_TOO_MANY_THREADS 0x0129
-#define NT_STATUS_THREAD_NOT_IN_PROCESS 0x012a
-#define NT_STATUS_TOKEN_ALREADY_IN_USE 0x012b
-#define NT_STATUS_PAGEFILE_QUOTA_EXCEEDED 0x012c
-#define NT_STATUS_COMMITMENT_LIMIT 0x012d
-#define NT_STATUS_INVALID_IMAGE_LE_FORMAT 0x012e
-#define NT_STATUS_INVALID_IMAGE_NOT_MZ 0x012f
-#define NT_STATUS_INVALID_IMAGE_PROTECT 0x0130
-#define NT_STATUS_INVALID_IMAGE_WIN_16 0x0131
-#define NT_STATUS_LOGON_SERVER_CONFLICT 0x0132
-#define NT_STATUS_TIME_DIFFERENCE_AT_DC 0x0133
-#define NT_STATUS_SYNCHRONIZATION_REQUIRED 0x0134
-#define NT_STATUS_DLL_NOT_FOUND 0x0135
-#define NT_STATUS_OPEN_FAILED 0x0136
-#define NT_STATUS_IO_PRIVILEGE_FAILED 0x0137
-#define NT_STATUS_ORDINAL_NOT_FOUND 0x0138
-#define NT_STATUS_ENTRYPOINT_NOT_FOUND 0x0139
-#define NT_STATUS_CONTROL_C_EXIT 0x013a
-#define NT_STATUS_LOCAL_DISCONNECT 0x013b
-#define NT_STATUS_REMOTE_DISCONNECT 0x013c
-#define NT_STATUS_REMOTE_RESOURCES 0x013d
-#define NT_STATUS_LINK_FAILED 0x013e
-#define NT_STATUS_LINK_TIMEOUT 0x013f
-#define NT_STATUS_INVALID_CONNECTION 0x0140
-#define NT_STATUS_INVALID_ADDRESS 0x0141
-#define NT_STATUS_DLL_INIT_FAILED 0x0142
-#define NT_STATUS_MISSING_SYSTEMFILE 0x0143
-#define NT_STATUS_UNHANDLED_EXCEPTION 0x0144
-#define NT_STATUS_APP_INIT_FAILURE 0x0145
-#define NT_STATUS_PAGEFILE_CREATE_FAILED 0x0146
-#define NT_STATUS_NO_PAGEFILE 0x0147
-#define NT_STATUS_INVALID_LEVEL 0x0148
-#define NT_STATUS_WRONG_PASSWORD_CORE 0x0149
-#define NT_STATUS_ILLEGAL_FLOAT_CONTEXT 0x014a
-#define NT_STATUS_PIPE_BROKEN 0x014b
-#define NT_STATUS_REGISTRY_CORRUPT 0x014c
-#define NT_STATUS_REGISTRY_IO_FAILED 0x014d
-#define NT_STATUS_NO_EVENT_PAIR 0x014e
-#define NT_STATUS_UNRECOGNIZED_VOLUME 0x014f
-#define NT_STATUS_SERIAL_NO_DEVICE_INITED 0x0150
-#define NT_STATUS_NO_SUCH_ALIAS 0x0151
-#define NT_STATUS_MEMBER_NOT_IN_ALIAS 0x0152
-#define NT_STATUS_MEMBER_IN_ALIAS 0x0153
-#define NT_STATUS_ALIAS_EXISTS 0x0154
-#define NT_STATUS_LOGON_NOT_GRANTED 0x0155
-#define NT_STATUS_TOO_MANY_SECRETS 0x0156
-#define NT_STATUS_SECRET_TOO_LONG 0x0157
-#define NT_STATUS_INTERNAL_DB_ERROR 0x0158
-#define NT_STATUS_FULLSCREEN_MODE 0x0159
-#define NT_STATUS_TOO_MANY_CONTEXT_IDS 0x015a
-#define NT_STATUS_LOGON_TYPE_NOT_GRANTED 0x015b
-#define NT_STATUS_NOT_REGISTRY_FILE 0x015c
-#define NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED 0x015d
-#define NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR 0x015e
-#define NT_STATUS_FT_MISSING_MEMBER 0x015f
-#define NT_STATUS_ILL_FORMED_SERVICE_ENTRY 0x0160
-#define NT_STATUS_ILLEGAL_CHARACTER 0x0161
-#define NT_STATUS_UNMAPPABLE_CHARACTER 0x0162
-#define NT_STATUS_UNDEFINED_CHARACTER 0x0163
-#define NT_STATUS_FLOPPY_VOLUME 0x0164
-#define NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND 0x0165
-#define NT_STATUS_FLOPPY_WRONG_CYLINDER 0x0166
-#define NT_STATUS_FLOPPY_UNKNOWN_ERROR 0x0167
-#define NT_STATUS_FLOPPY_BAD_REGISTERS 0x0168
-#define NT_STATUS_DISK_RECALIBRATE_FAILED 0x0169
-#define NT_STATUS_DISK_OPERATION_FAILED 0x016a
-#define NT_STATUS_DISK_RESET_FAILED 0x016b
-#define NT_STATUS_SHARED_IRQ_BUSY 0x016c
-#define NT_STATUS_FT_ORPHANING 0x016d
-#define NT_STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT 0x016e
-#define NT_STATUS_16F 0x016f
-#define NT_STATUS_170 0x0170
-#define NT_STATUS_171 0x0171
-#define NT_STATUS_PARTITION_FAILURE 0x0172
-#define NT_STATUS_INVALID_BLOCK_LENGTH 0x0173
-#define NT_STATUS_DEVICE_NOT_PARTITIONED 0x0174
-#define NT_STATUS_UNABLE_TO_LOCK_MEDIA 0x0175
-#define NT_STATUS_UNABLE_TO_UNLOAD_MEDIA 0x0176
-#define NT_STATUS_EOM_OVERFLOW 0x0177
-#define NT_STATUS_NO_MEDIA 0x0178
-#define NT_STATUS_179 0x0179
-#define NT_STATUS_NO_SUCH_MEMBER 0x017a
-#define NT_STATUS_INVALID_MEMBER 0x017b
-#define NT_STATUS_KEY_DELETED 0x017c
-#define NT_STATUS_NO_LOG_SPACE 0x017d
-#define NT_STATUS_TOO_MANY_SIDS 0x017e
-#define NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED 0x017f
-#define NT_STATUS_KEY_HAS_CHILDREN 0x0180
-#define NT_STATUS_CHILD_MUST_BE_VOLATILE 0x0181
-#define NT_STATUS_DEVICE_CONFIGURATION_ERROR 0x0182
-#define NT_STATUS_DRIVER_INTERNAL_ERROR 0x0183
-#define NT_STATUS_INVALID_DEVICE_STATE 0x0184
-#define NT_STATUS_IO_DEVICE_ERROR 0x0185
-#define NT_STATUS_DEVICE_PROTOCOL_ERROR 0x0186
-#define NT_STATUS_BACKUP_CONTROLLER 0x0187
-#define NT_STATUS_LOG_FILE_FULL 0x0188
-#define NT_STATUS_TOO_LATE 0x0189
-#define NT_STATUS_NO_TRUST_LSA_SECRET 0x018a
-#define NT_STATUS_NO_TRUST_SAM_ACCOUNT 0x018b
-#define NT_STATUS_TRUSTED_DOMAIN_FAILURE 0x018c
-#define NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE 0x018d
-#define NT_STATUS_EVENTLOG_FILE_CORRUPT 0x018e
-#define NT_STATUS_EVENTLOG_CANT_START 0x018f
-#define NT_STATUS_TRUST_FAILURE 0x0190
-#define NT_STATUS_MUTANT_LIMIT_EXCEEDED 0x0191
-#define NT_STATUS_NETLOGON_NOT_STARTED 0x0192
-#define NT_STATUS_ACCOUNT_EXPIRED 0x0193
-#define NT_STATUS_POSSIBLE_DEADLOCK 0x0194
-#define NT_STATUS_NETWORK_CREDENTIAL_CONFLICT 0x0195
-#define NT_STATUS_REMOTE_SESSION_LIMIT 0x0196
-#define NT_STATUS_EVENTLOG_FILE_CHANGED 0x0197
-#define NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 0x0198
-#define NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT 0x0199
-#define NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT 0x019a
-#define NT_STATUS_DOMAIN_TRUST_INCONSISTENT 0x019b
-#define NT_STATUS_FS_DRIVER_REQUIRED 0x019c
-#define NT_STATUS_NO_USER_SESSION_KEY 0x0202
-#define NT_STATUS_USER_SESSION_DELETED 0x0203
-#define NT_STATUS_RESOURCE_LANG_NOT_FOUND 0x0204
-#define NT_STATUS_INSUFF_SERVER_RESOURCES 0x0205
-#define NT_STATUS_INVALID_BUFFER_SIZE 0x0206
-#define NT_STATUS_INVALID_ADDRESS_COMPONENT 0x0207
-#define NT_STATUS_INVALID_ADDRESS_WILDCARD 0x0208
-#define NT_STATUS_TOO_MANY_ADDRESSES 0x0209
-#define NT_STATUS_ADDRESS_ALREADY_EXISTS 0x020a
-#define NT_STATUS_ADDRESS_CLOSED 0x020b
-#define NT_STATUS_CONNECTION_DISCONNECTED 0x020c
-#define NT_STATUS_CONNECTION_RESET 0x020d
-#define NT_STATUS_TOO_MANY_NODES 0x020e
-#define NT_STATUS_TRANSACTION_ABORTED 0x020f
-#define NT_STATUS_TRANSACTION_TIMED_OUT 0x0210
-#define NT_STATUS_TRANSACTION_NO_RELEASE 0x0211
-#define NT_STATUS_TRANSACTION_NO_MATCH 0x0212
-#define NT_STATUS_TRANSACTION_RESPONDED 0x0213
-#define NT_STATUS_TRANSACTION_INVALID_ID 0x0214
-#define NT_STATUS_TRANSACTION_INVALID_TYPE 0x0215
-#define NT_STATUS_NOT_SERVER_SESSION 0x0216
-#define NT_STATUS_NOT_CLIENT_SESSION 0x0217
-#define NT_STATUS_CANNOT_LOAD_REGISTRY_FILE 0x0218
-#define NT_STATUS_DEBUG_ATTACH_FAILED 0x0219
-#define NT_STATUS_SYSTEM_PROCESS_TERMINATED 0x021a
-#define NT_STATUS_DATA_NOT_ACCEPTED 0x021b
-#define NT_STATUS_NO_BROWSER_SERVERS_FOUND 0x021c
-#define NT_STATUS_VDM_HARD_ERROR 0x021d
-#define NT_STATUS_DRIVER_CANCEL_TIMEOUT 0x021e
-#define NT_STATUS_REPLY_MESSAGE_MISMATCH 0x021f
-#define NT_STATUS_MAPPED_ALIGNMENT 0x0220
-#define NT_STATUS_IMAGE_CHECKSUM_MISMATCH 0x0221
-#define NT_STATUS_LOST_WRITEBEHIND_DATA 0x0222
-#define NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID 0x0223
-#define NT_STATUS_PASSWORD_MUST_CHANGE 0x0224
-#define NT_STATUS_NOT_FOUND 0x0225
-#define NT_STATUS_NOT_TINY_STREAM 0x0226
-#define NT_STATUS_RECOVERY_FAILURE 0x0227
-#define NT_STATUS_STACK_OVERFLOW_READ 0x0228
-#define NT_STATUS_FAIL_CHECK 0x0229
-#define NT_STATUS_DUPLICATE_OBJECTID 0x022a
-#define NT_STATUS_OBJECTID_EXISTS 0x022b
-#define NT_STATUS_CONVERT_TO_LARGE 0x022c
-#define NT_STATUS_RETRY 0x022d
-#define NT_STATUS_FOUND_OUT_OF_SCOPE 0x022e
-#define NT_STATUS_ALLOCATE_BUCKET 0x022f
-#define NT_STATUS_PROPSET_NOT_FOUND 0x0230
-#define NT_STATUS_MARSHALL_OVERFLOW 0x0231
-#define NT_STATUS_INVALID_VARIANT 0x0232
-#define NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND 0x0233
-#define NT_STATUS_ACCOUNT_LOCKED_OUT 0x0234
-#define NT_STATUS_HANDLE_NOT_CLOSABLE 0x0235
-#define NT_STATUS_CONNECTION_REFUSED 0x0236
-#define NT_STATUS_GRACEFUL_DISCONNECT 0x0237
-#define NT_STATUS_ADDRESS_ALREADY_ASSOCIATED 0x0238
-#define NT_STATUS_ADDRESS_NOT_ASSOCIATED 0x0239
-#define NT_STATUS_CONNECTION_INVALID 0x023a
-#define NT_STATUS_CONNECTION_ACTIVE 0x023b
-#define NT_STATUS_NETWORK_UNREACHABLE 0x023c
-#define NT_STATUS_HOST_UNREACHABLE 0x023d
-#define NT_STATUS_PROTOCOL_UNREACHABLE 0x023e
-#define NT_STATUS_PORT_UNREACHABLE 0x023f
-#define NT_STATUS_REQUEST_ABORTED 0x0240
-#define NT_STATUS_CONNECTION_ABORTED 0x0241
-#define NT_STATUS_BAD_COMPRESSION_BUFFER 0x0242
-#define NT_STATUS_USER_MAPPED_FILE 0x0243
-#define NT_STATUS_AUDIT_FAILED 0x0244
-#define NT_STATUS_TIMER_RESOLUTION_NOT_SET 0x0245
-#define NT_STATUS_CONNECTION_COUNT_LIMIT 0x0246
-#define NT_STATUS_LOGIN_TIME_RESTRICTION 0x0247
-#define NT_STATUS_LOGIN_WKSTA_RESTRICTION 0x0248
-#define NT_STATUS_IMAGE_MP_UP_MISMATCH 0x0249
-#define NT_STATUS_INSUFFICIENT_LOGON_INFO 0x0250
-#define NT_STATUS_BAD_DLL_ENTRYPOINT 0x0251
-#define NT_STATUS_BAD_SERVICE_ENTRYPOINT 0x0252
-#define NT_STATUS_LPC_REPLY_LOST 0x0253
-#define NT_STATUS_IP_ADDRESS_CONFLICT1 0x0254
-#define NT_STATUS_IP_ADDRESS_CONFLICT2 0x0255
-#define NT_STATUS_REGISTRY_QUOTA_LIMIT 0x0256
-#define NT_STATUS_PATH_NOT_COVERED 0x0257
-#define NT_STATUS_NO_CALLBACK_ACTIVE 0x0258
-#define NT_STATUS_LICENSE_QUOTA_EXCEEDED 0x0259
-#define NT_STATUS_PWD_TOO_SHORT 0x025a
-#define NT_STATUS_PWD_TOO_RECENT 0x025b
-#define NT_STATUS_PWD_HISTORY_CONFLICT 0x025c
-#define NT_STATUS_PLUGPLAY_NO_DEVICE 0x025e
-#define NT_STATUS_UNSUPPORTED_COMPRESSION 0x025f
-#define NT_STATUS_INVALID_HW_PROFILE 0x0260
-#define NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH 0x0261
-#define NT_STATUS_DRIVER_ORDINAL_NOT_FOUND 0x0262
-#define NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND 0x0263
-#define NT_STATUS_RESOURCE_NOT_OWNED 0x0264
-#define NT_STATUS_TOO_MANY_LINKS 0x0265
-#define NT_STATUS_QUOTA_LIST_INCONSISTENT 0x0266
-#define NT_STATUS_FILE_IS_OFFLINE 0x0267
-
-#define NT_STATUS_LICENSE_VIOLATION 0x026a
-
-#define NT_STATUS_DFS_UNAVAILABLE 0x026d
-#define NT_STATUS_VOLUME_DISMOUNTED 0x026e
-
-#define NT_STATUS_NOT_A_REPARSE_POINT 0x0275
-
-#define NT_STATUS_REPARSE_POINT_NOT_RESOLVED 0x0280
-#define NT_STATUS_DIRECTORY_IS_A_REPARSE_POINT 0x0281
-
-#define NT_STATUS_ENCRYPTION_FAILED 0x028a
-#define NT_STATUS_DECRYPTION_FAILED 0x028b
-#define NT_STATUS_RANGE_NOT_FOUND 0x028c
-#define NT_STATUS_NO_RECOVERY_POLICY 0x028d
-#define NT_STATUS_NO_EFS 0x028e
-#define NT_STATUS_WRONG_EFS 0x028f
-#define NT_STATUS_NO_USER_KEYS 0x0290
-#define NT_STATUS_FILE_NOT_ENCRYPTED 0x0291
-
-#define NT_STATUS_FILE_ENCRYPTED 0x0293
-
-#define NT_STATUS_VOLUME_NOT_UPGRADED 0x029c
-
-#define NT_STATUS_KDC_CERT_EXPIRED 0x040e
-/*
- * 0x00010000-0x0001ffff are "DBG" errors
- * 0x00020000-0x0003ffff are "RPC" errors
- * 0x00040000-0x0004ffff are "PNP" errors
- * 0x000A0000-0x000Affff are "CTX" errors
- * 0x00130000-0x0013ffff are "CLUSTER" errors
- * 0x00140000-0x0014ffff are "ACPI" errors
- * 0x00150000-0x0015ffff are "SXS" errors
- */
/*
* size of the GUID returned in an extended security negotiate response