summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/Makefile.in5
-rw-r--r--source3/include/ntdomain.h1
-rw-r--r--source3/include/nterr.h1014
-rw-r--r--source3/include/proto.h5
-rw-r--r--source3/include/rpc_secdes.h7
-rw-r--r--source3/include/sids.h39
-rw-r--r--source3/libsmb/clierror.c2
-rw-r--r--source3/libsmb/nterr.c4
-rw-r--r--source3/nmbd/nmbd.c3
-rw-r--r--source3/nsswitch/winbindd_util.c1
-rw-r--r--source3/param/loadparm.c7
-rw-r--r--source3/rpc_parse/parse_sec.c16
-rw-r--r--source3/smbd/server.c5
13 files changed, 582 insertions, 527 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 15fbdd3b71..fa497c62f9 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -41,8 +41,7 @@ INSTALLPERMS = 0755
# set these to where to find various files
# These can be overridden by command line switches (see smbd(8))
# or in smb.conf (see smb.conf(5))
-SMBLOGFILE = $(VARDIR)/log.smb
-NMBLOGFILE = $(VARDIR)/log.nmb
+LOGFILEBASE = $(VARDIR)
CONFIGFILE = $(LIBDIR)/smb.conf
LMHOSTSFILE = $(LIBDIR)/lmhosts
DRIVERFILE = $(LIBDIR)/printers.def
@@ -75,7 +74,7 @@ SMBRUN = $(BINDIR)/smbrun
PASSWD_FLAGS = -DPASSWD_PROGRAM=\"$(PASSWD_PROGRAM)\" -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\"
-FLAGS1 = $(CFLAGS) -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper $(CPPFLAGS) -DSMBLOGFILE=\"$(SMBLOGFILE)\" -DNMBLOGFILE=\"$(NMBLOGFILE)\"
+FLAGS1 = $(CFLAGS) -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper $(CPPFLAGS) -DLOGFILEBASE=\"$(LOGFILEBASE)\"
FLAGS2 = -DCONFIGFILE=\"$(CONFIGFILE)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\"
FLAGS3 = -DSWATDIR=\"$(SWATDIR)\" -DSBINDIR=\"$(SBINDIR)\" -DLOCKDIR=\"$(LOCKDIR)\" -DSMBRUN=\"$(SMBRUN)\" -DCODEPAGEDIR=\"$(CODEPAGEDIR)\"
FLAGS4 = -DDRIVERFILE=\"$(DRIVERFILE)\" -DBINDIR=\"$(BINDIR)\" -DFORMSFILE=\"$(FORMSFILE)\" -DNTDRIVERSDIR=\"$(NTDRIVERSDIR)\"
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 527d79bbb1..bee2abb3d9 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -235,5 +235,6 @@ struct acct_info
#include "rpc_srvsvc.h"
#include "rpc_wkssvc.h"
#include "rpc_spoolss.h"
+#include "sids.h"
#endif /* _NT_DOMAIN_H */
diff --git a/source3/include/nterr.h b/source3/include/nterr.h
index d2fe621b29..08e7457376 100644
--- a/source3/include/nterr.h
+++ b/source3/include/nterr.h
@@ -1,514 +1,518 @@
-
/* Win32 Status codes. */
#define STATUS_BUFFER_OVERFLOW (5)
#define STATUS_MORE_ENTRIES (0x105)
+#define ERROR_INVALID_PARAMETER (87)
+#define ERROR_INSUFFICIENT_BUFFER (122)
+#define STATUS_1804 (1804)
+
/* these are the NT error codes less than 1000. They are here for when
we start supporting NT error codes in Samba. They were extracted
using a loop in smbclient then printing a netmon sniff to a file */
-#define NT_STATUS_NO_PROBLEMO (0)
-#define NT_STATUS_UNSUCCESSFUL (1)
-#define NT_STATUS_NOT_IMPLEMENTED (2)
-#define NT_STATUS_INVALID_INFO_CLASS (3)
-#define NT_STATUS_INFO_LENGTH_MISMATCH (4)
-#define NT_STATUS_ACCESS_VIOLATION (5)
-#define STATUS_BUFFER_OVERFLOW (5)
-#define NT_STATUS_IN_PAGE_ERROR (6)
-#define NT_STATUS_PAGEFILE_QUOTA (7)
-#define NT_STATUS_INVALID_HANDLE (8)
-#define NT_STATUS_BAD_INITIAL_STACK (9)
-#define NT_STATUS_BAD_INITIAL_PC (10)
-#define NT_STATUS_INVALID_CID (11)
-#define NT_STATUS_TIMER_NOT_CANCELED (12)
-#define NT_STATUS_INVALID_PARAMETER (13)
-#define NT_STATUS_NO_SUCH_DEVICE (14)
-#define NT_STATUS_NO_SUCH_FILE (15)
-#define NT_STATUS_INVALID_DEVICE_REQUEST (16)
-#define NT_STATUS_END_OF_FILE (17)
-#define NT_STATUS_WRONG_VOLUME (18)
-#define NT_STATUS_NO_MEDIA_IN_DEVICE (19)
-#define NT_STATUS_UNRECOGNIZED_MEDIA (20)
-#define NT_STATUS_NONEXISTENT_SECTOR (21)
-#define NT_STATUS_MORE_PROCESSING_REQUIRED (22)
-#define NT_STATUS_NO_MEMORY (23)
-#define NT_STATUS_CONFLICTING_ADDRESSES (24)
-#define NT_STATUS_NOT_MAPPED_VIEW (25)
-#define NT_STATUS_UNABLE_TO_FREE_VM (26)
-#define NT_STATUS_UNABLE_TO_DELETE_SECTION (27)
-#define NT_STATUS_INVALID_SYSTEM_SERVICE (28)
-#define NT_STATUS_ILLEGAL_INSTRUCTION (29)
-#define NT_STATUS_INVALID_LOCK_SEQUENCE (30)
-#define NT_STATUS_INVALID_VIEW_SIZE (31)
-#define NT_STATUS_INVALID_FILE_FOR_SECTION (32)
-#define NT_STATUS_ALREADY_COMMITTED (33)
-#define NT_STATUS_ACCESS_DENIED (34)
-#define NT_STATUS_BUFFER_TOO_SMALL (35)
-#define NT_STATUS_OBJECT_TYPE_MISMATCH (36)
-#define NT_STATUS_NONCONTINUABLE_EXCEPTION (37)
-#define NT_STATUS_INVALID_DISPOSITION (38)
-#define NT_STATUS_UNWIND (39)
-#define NT_STATUS_BAD_STACK (40)
-#define NT_STATUS_INVALID_UNWIND_TARGET (41)
-#define NT_STATUS_NOT_LOCKED (42)
-#define NT_STATUS_PARITY_ERROR (43)
-#define NT_STATUS_UNABLE_TO_DECOMMIT_VM (44)
-#define NT_STATUS_NOT_COMMITTED (45)
-#define NT_STATUS_INVALID_PORT_ATTRIBUTES (46)
-#define NT_STATUS_PORT_MESSAGE_TOO_LONG (47)
-#define NT_STATUS_INVALID_PARAMETER_MIX (48)
-#define NT_STATUS_INVALID_QUOTA_LOWER (49)
-#define NT_STATUS_DISK_CORRUPT_ERROR (50)
-#define NT_STATUS_OBJECT_NAME_INVALID (51)
-#define NT_STATUS_OBJECT_NAME_NOT_FOUND (52)
-#define NT_STATUS_OBJECT_NAME_COLLISION (53)
-#define NT_STATUS_HANDLE_NOT_WAITABLE (54)
-#define NT_STATUS_PORT_DISCONNECTED (55)
-#define NT_STATUS_DEVICE_ALREADY_ATTACHED (56)
-#define NT_STATUS_OBJECT_PATH_INVALID (57)
-#define NT_STATUS_OBJECT_PATH_NOT_FOUND (58)
-#define NT_STATUS_OBJECT_PATH_SYNTAX_BAD (59)
-#define NT_STATUS_DATA_OVERRUN (60)
-#define NT_STATUS_DATA_LATE_ERROR (61)
-#define NT_STATUS_DATA_ERROR (62)
-#define NT_STATUS_CRC_ERROR (63)
-#define NT_STATUS_SECTION_TOO_BIG (64)
-#define NT_STATUS_PORT_CONNECTION_REFUSED (65)
-#define NT_STATUS_INVALID_PORT_HANDLE (66)
-#define NT_STATUS_SHARING_VIOLATION (67)
-#define NT_STATUS_QUOTA_EXCEEDED (68)
-#define NT_STATUS_INVALID_PAGE_PROTECTION (69)
-#define NT_STATUS_MUTANT_NOT_OWNED (70)
-#define NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED (71)
-#define NT_STATUS_PORT_ALREADY_SET (72)
-#define NT_STATUS_SECTION_NOT_IMAGE (73)
-#define NT_STATUS_SUSPEND_COUNT_EXCEEDED (74)
-#define NT_STATUS_THREAD_IS_TERMINATING (75)
-#define NT_STATUS_BAD_WORKING_SET_LIMIT (76)
-#define NT_STATUS_INCOMPATIBLE_FILE_MAP (77)
-#define NT_STATUS_SECTION_PROTECTION (78)
-#define NT_STATUS_EAS_NOT_SUPPORTED (79)
-#define NT_STATUS_EA_TOO_LARGE (80)
-#define NT_STATUS_NONEXISTENT_EA_ENTRY (81)
-#define NT_STATUS_NO_EAS_ON_FILE (82)
-#define NT_STATUS_EA_CORRUPT_ERROR (83)
-#define NT_STATUS_FILE_LOCK_CONFLICT (84)
-#define NT_STATUS_LOCK_NOT_GRANTED (85)
-#define NT_STATUS_DELETE_PENDING (86)
-#define NT_STATUS_CTL_FILE_NOT_SUPPORTED (87)
-#define NT_STATUS_UNKNOWN_REVISION (88)
-#define NT_STATUS_REVISION_MISMATCH (89)
-#define NT_STATUS_INVALID_OWNER (90)
-#define NT_STATUS_INVALID_PRIMARY_GROUP (91)
-#define NT_STATUS_NO_IMPERSONATION_TOKEN (92)
-#define NT_STATUS_CANT_DISABLE_MANDATORY (93)
-#define NT_STATUS_NO_LOGON_SERVERS (94)
-#define NT_STATUS_NO_SUCH_LOGON_SESSION (95)
-#define NT_STATUS_NO_SUCH_PRIVILEGE (96)
-#define NT_STATUS_PRIVILEGE_NOT_HELD (97)
-#define NT_STATUS_INVALID_ACCOUNT_NAME (98)
-#define NT_STATUS_USER_EXISTS (99)
-#define NT_STATUS_NO_SUCH_USER (100)
-#define NT_STATUS_GROUP_EXISTS (101)
-#define NT_STATUS_NO_SUCH_GROUP (102)
-#define NT_STATUS_MEMBER_IN_GROUP (103)
-#define NT_STATUS_MEMBER_NOT_IN_GROUP (104)
-#define NT_STATUS_LAST_ADMIN (105)
-#define NT_STATUS_WRONG_PASSWORD (106)
-#define NT_STATUS_ILL_FORMED_PASSWORD (107)
-#define NT_STATUS_PASSWORD_RESTRICTION (108)
-#define NT_STATUS_LOGON_FAILURE (109)
-#define NT_STATUS_ACCOUNT_RESTRICTION (110)
-#define NT_STATUS_INVALID_LOGON_HOURS (111)
-#define NT_STATUS_INVALID_WORKSTATION (112)
-#define NT_STATUS_PASSWORD_EXPIRED (113)
-#define NT_STATUS_ACCOUNT_DISABLED (114)
-#define NT_STATUS_NONE_MAPPED (115)
-#define NT_STATUS_TOO_MANY_LUIDS_REQUESTED (116)
-#define NT_STATUS_LUIDS_EXHAUSTED (117)
-#define NT_STATUS_INVALID_SUB_AUTHORITY (118)
-#define NT_STATUS_INVALID_ACL (119)
-#define NT_STATUS_INVALID_SID (120)
-#define NT_STATUS_INVALID_SECURITY_DESCR (121)
-#define NT_STATUS_PROCEDURE_NOT_FOUND (122)
-#define NT_STATUS_INVALID_IMAGE_FORMAT (123)
-#define NT_STATUS_NO_TOKEN (124)
-#define NT_STATUS_BAD_INHERITANCE_ACL (125)
-#define NT_STATUS_RANGE_NOT_LOCKED (126)
-#define NT_STATUS_DISK_FULL (127)
-#define NT_STATUS_SERVER_DISABLED (128)
-#define NT_STATUS_SERVER_NOT_DISABLED (129)
-#define NT_STATUS_TOO_MANY_GUIDS_REQUESTED (130)
-#define NT_STATUS_GUIDS_EXHAUSTED (131)
-#define NT_STATUS_INVALID_ID_AUTHORITY (132)
-#define NT_STATUS_AGENTS_EXHAUSTED (133)
-#define NT_STATUS_INVALID_VOLUME_LABEL (134)
-#define NT_STATUS_SECTION_NOT_EXTENDED (135)
-#define NT_STATUS_NOT_MAPPED_DATA (136)
-#define NT_STATUS_RESOURCE_DATA_NOT_FOUND (137)
-#define NT_STATUS_RESOURCE_TYPE_NOT_FOUND (138)
-#define NT_STATUS_RESOURCE_NAME_NOT_FOUND (139)
-#define NT_STATUS_ARRAY_BOUNDS_EXCEEDED (140)
-#define NT_STATUS_FLOAT_DENORMAL_OPERAND (141)
-#define NT_STATUS_FLOAT_DIVIDE_BY_ZERO (142)
-#define NT_STATUS_FLOAT_INEXACT_RESULT (143)
-#define NT_STATUS_FLOAT_INVALID_OPERATION (144)
-#define NT_STATUS_FLOAT_OVERFLOW (145)
-#define NT_STATUS_FLOAT_STACK_CHECK (146)
-#define NT_STATUS_FLOAT_UNDERFLOW (147)
-#define NT_STATUS_INTEGER_DIVIDE_BY_ZERO (148)
-#define NT_STATUS_INTEGER_OVERFLOW (149)
-#define NT_STATUS_PRIVILEGED_INSTRUCTION (150)
-#define NT_STATUS_TOO_MANY_PAGING_FILES (151)
-#define NT_STATUS_FILE_INVALID (152)
-#define NT_STATUS_ALLOTTED_SPACE_EXCEEDED (153)
-#define NT_STATUS_INSUFFICIENT_RESOURCES (154)
-#define NT_STATUS_DFS_EXIT_PATH_FOUND (155)
-#define NT_STATUS_DEVICE_DATA_ERROR (156)
-#define NT_STATUS_DEVICE_NOT_CONNECTED (157)
-#define NT_STATUS_DEVICE_POWER_FAILURE (158)
-#define NT_STATUS_FREE_VM_NOT_AT_BASE (159)
-#define NT_STATUS_MEMORY_NOT_ALLOCATED (160)
-#define NT_STATUS_WORKING_SET_QUOTA (161)
-#define NT_STATUS_MEDIA_WRITE_PROTECTED (162)
-#define NT_STATUS_DEVICE_NOT_READY (163)
-#define NT_STATUS_INVALID_GROUP_ATTRIBUTES (164)
-#define NT_STATUS_BAD_IMPERSONATION_LEVEL (165)
-#define NT_STATUS_CANT_OPEN_ANONYMOUS (166)
-#define NT_STATUS_BAD_VALIDATION_CLASS (167)
-#define NT_STATUS_BAD_TOKEN_TYPE (168)
-#define NT_STATUS_BAD_MASTER_BOOT_RECORD (169)
-#define NT_STATUS_INSTRUCTION_MISALIGNMENT (170)
-#define NT_STATUS_INSTANCE_NOT_AVAILABLE (171)
-#define NT_STATUS_PIPE_NOT_AVAILABLE (172)
-#define NT_STATUS_INVALID_PIPE_STATE (173)
-#define NT_STATUS_PIPE_BUSY (174)
-#define NT_STATUS_ILLEGAL_FUNCTION (175)
-#define NT_STATUS_PIPE_DISCONNECTED (176)
-#define NT_STATUS_PIPE_CLOSING (177)
-#define NT_STATUS_PIPE_CONNECTED (178)
-#define NT_STATUS_PIPE_LISTENING (179)
-#define NT_STATUS_INVALID_READ_MODE (180)
-#define NT_STATUS_IO_TIMEOUT (181)
-#define NT_STATUS_FILE_FORCED_CLOSED (182)
-#define NT_STATUS_PROFILING_NOT_STARTED (183)
-#define NT_STATUS_PROFILING_NOT_STOPPED (184)
-#define NT_STATUS_COULD_NOT_INTERPRET (185)
-#define NT_STATUS_FILE_IS_A_DIRECTORY (186)
-#define NT_STATUS_NOT_SUPPORTED (187)
-#define NT_STATUS_REMOTE_NOT_LISTENING (188)
-#define NT_STATUS_DUPLICATE_NAME (189)
-#define NT_STATUS_BAD_NETWORK_PATH (190)
-#define NT_STATUS_NETWORK_BUSY (191)
-#define NT_STATUS_DEVICE_DOES_NOT_EXIST (192)
-#define NT_STATUS_TOO_MANY_COMMANDS (193)
-#define NT_STATUS_ADAPTER_HARDWARE_ERROR (194)
-#define NT_STATUS_INVALID_NETWORK_RESPONSE (195)
-#define NT_STATUS_UNEXPECTED_NETWORK_ERROR (196)
-#define NT_STATUS_BAD_REMOTE_ADAPTER (197)
-#define NT_STATUS_PRINT_QUEUE_FULL (198)
-#define NT_STATUS_NO_SPOOL_SPACE (199)
-#define NT_STATUS_PRINT_CANCELLED (200)
-#define NT_STATUS_NETWORK_NAME_DELETED (201)
-#define NT_STATUS_NETWORK_ACCESS_DENIED (202)
-#define NT_STATUS_BAD_DEVICE_TYPE (203)
-#define NT_STATUS_BAD_NETWORK_NAME (204)
-#define NT_STATUS_TOO_MANY_NAMES (205)
-#define NT_STATUS_TOO_MANY_SESSIONS (206)
-#define NT_STATUS_SHARING_PAUSED (207)
-#define NT_STATUS_REQUEST_NOT_ACCEPTED (208)
-#define NT_STATUS_REDIRECTOR_PAUSED (209)
-#define NT_STATUS_NET_WRITE_FAULT (210)
-#define NT_STATUS_PROFILING_AT_LIMIT (211)
-#define NT_STATUS_NOT_SAME_DEVICE (212)
-#define NT_STATUS_FILE_RENAMED (213)
-#define NT_STATUS_VIRTUAL_CIRCUIT_CLOSED (214)
-#define NT_STATUS_NO_SECURITY_ON_OBJECT (215)
-#define NT_STATUS_CANT_WAIT (216)
-#define NT_STATUS_PIPE_EMPTY (217)
-#define NT_STATUS_CANT_ACCESS_DOMAIN_INFO (218)
-#define NT_STATUS_CANT_TERMINATE_SELF (219)
-#define NT_STATUS_INVALID_SERVER_STATE (220)
-#define NT_STATUS_INVALID_DOMAIN_STATE (221)
-#define NT_STATUS_INVALID_DOMAIN_ROLE (222)
-#define NT_STATUS_NO_SUCH_DOMAIN (223)
-#define NT_STATUS_DOMAIN_EXISTS (224)
-#define NT_STATUS_DOMAIN_LIMIT_EXCEEDED (225)
-#define NT_STATUS_OPLOCK_NOT_GRANTED (226)
-#define NT_STATUS_INVALID_OPLOCK_PROTOCOL (227)
-#define NT_STATUS_INTERNAL_DB_CORRUPTION (228)
-#define NT_STATUS_INTERNAL_ERROR (229)
-#define NT_STATUS_GENERIC_NOT_MAPPED (230)
-#define NT_STATUS_BAD_DESCRIPTOR_FORMAT (231)
-#define NT_STATUS_INVALID_USER_BUFFER (232)
-#define NT_STATUS_UNEXPECTED_IO_ERROR (233)
-#define NT_STATUS_UNEXPECTED_MM_CREATE_ERR (234)
-#define NT_STATUS_UNEXPECTED_MM_MAP_ERROR (235)
-#define NT_STATUS_UNEXPECTED_MM_EXTEND_ERR (236)
-#define NT_STATUS_NOT_LOGON_PROCESS (237)
-#define NT_STATUS_LOGON_SESSION_EXISTS (238)
-#define NT_STATUS_INVALID_PARAMETER_1 (239)
-#define NT_STATUS_INVALID_PARAMETER_2 (240)
-#define NT_STATUS_INVALID_PARAMETER_3 (241)
-#define NT_STATUS_INVALID_PARAMETER_4 (242)
-#define NT_STATUS_INVALID_PARAMETER_5 (243)
-#define NT_STATUS_INVALID_PARAMETER_6 (244)
-#define NT_STATUS_INVALID_PARAMETER_7 (245)
-#define NT_STATUS_INVALID_PARAMETER_8 (246)
-#define NT_STATUS_INVALID_PARAMETER_9 (247)
-#define NT_STATUS_INVALID_PARAMETER_10 (248)
-#define NT_STATUS_INVALID_PARAMETER_11 (249)
-#define NT_STATUS_INVALID_PARAMETER_12 (250)
-#define NT_STATUS_REDIRECTOR_NOT_STARTED (251)
-#define NT_STATUS_REDIRECTOR_STARTED (252)
-#define NT_STATUS_STACK_OVERFLOW (253)
-#define NT_STATUS_NO_SUCH_PACKAGE (254)
-#define NT_STATUS_BAD_FUNCTION_TABLE (255)
-#define NT_STATUS_DIRECTORY_NOT_EMPTY (257)
-#define NT_STATUS_FILE_CORRUPT_ERROR (258)
-#define NT_STATUS_NOT_A_DIRECTORY (259)
-#define NT_STATUS_BAD_LOGON_SESSION_STATE (260)
-#define NT_STATUS_LOGON_SESSION_COLLISION (261)
-#define NT_STATUS_NAME_TOO_LONG (262)
-#define NT_STATUS_FILES_OPEN (263)
-#define NT_STATUS_CONNECTION_IN_USE (264)
-#define NT_STATUS_MESSAGE_NOT_FOUND (265)
-#define NT_STATUS_PROCESS_IS_TERMINATING (266)
-#define NT_STATUS_INVALID_LOGON_TYPE (267)
-#define NT_STATUS_NO_GUID_TRANSLATION (268)
-#define NT_STATUS_CANNOT_IMPERSONATE (269)
-#define NT_STATUS_IMAGE_ALREADY_LOADED (270)
-#define NT_STATUS_ABIOS_NOT_PRESENT (271)
-#define NT_STATUS_ABIOS_LID_NOT_EXIST (272)
-#define NT_STATUS_ABIOS_LID_ALREADY_OWNED (273)
-#define NT_STATUS_ABIOS_NOT_LID_OWNER (274)
-#define NT_STATUS_ABIOS_INVALID_COMMAND (275)
-#define NT_STATUS_ABIOS_INVALID_LID (276)
-#define NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE (277)
-#define NT_STATUS_ABIOS_INVALID_SELECTOR (278)
-#define NT_STATUS_NO_LDT (279)
-#define NT_STATUS_INVALID_LDT_SIZE (280)
-#define NT_STATUS_INVALID_LDT_OFFSET (281)
-#define NT_STATUS_INVALID_LDT_DESCRIPTOR (282)
-#define NT_STATUS_INVALID_IMAGE_NE_FORMAT (283)
-#define NT_STATUS_RXACT_INVALID_STATE (284)
-#define NT_STATUS_RXACT_COMMIT_FAILURE (285)
-#define NT_STATUS_MAPPED_FILE_SIZE_ZERO (286)
-#define NT_STATUS_TOO_MANY_OPENED_FILES (287)
-#define NT_STATUS_CANCELLED (288)
-#define NT_STATUS_CANNOT_DELETE (289)
-#define NT_STATUS_INVALID_COMPUTER_NAME (290)
-#define NT_STATUS_FILE_DELETED (291)
-#define NT_STATUS_SPECIAL_ACCOUNT (292)
-#define NT_STATUS_SPECIAL_GROUP (293)
-#define NT_STATUS_SPECIAL_USER (294)
-#define NT_STATUS_MEMBERS_PRIMARY_GROUP (295)
-#define NT_STATUS_FILE_CLOSED (296)
-#define NT_STATUS_TOO_MANY_THREADS (297)
-#define NT_STATUS_THREAD_NOT_IN_PROCESS (298)
-#define NT_STATUS_TOKEN_ALREADY_IN_USE (299)
-#define NT_STATUS_PAGEFILE_QUOTA_EXCEEDED (300)
-#define NT_STATUS_COMMITMENT_LIMIT (301)
-#define NT_STATUS_INVALID_IMAGE_LE_FORMAT (302)
-#define NT_STATUS_INVALID_IMAGE_NOT_MZ (303)
-#define NT_STATUS_INVALID_IMAGE_PROTECT (304)
-#define NT_STATUS_INVALID_IMAGE_WIN_16 (305)
-#define NT_STATUS_LOGON_SERVER_CONFLICT (306)
-#define NT_STATUS_TIME_DIFFERENCE_AT_DC (307)
-#define NT_STATUS_SYNCHRONIZATION_REQUIRED (308)
-#define NT_STATUS_DLL_NOT_FOUND (309)
-#define NT_STATUS_OPEN_FAILED (310)
-#define NT_STATUS_IO_PRIVILEGE_FAILED (311)
-#define NT_STATUS_ORDINAL_NOT_FOUND (312)
-#define NT_STATUS_ENTRYPOINT_NOT_FOUND (313)
-#define NT_STATUS_CONTROL_C_EXIT (314)
-#define NT_STATUS_LOCAL_DISCONNECT (315)
-#define NT_STATUS_REMOTE_DISCONNECT (316)
-#define NT_STATUS_REMOTE_RESOURCES (317)
-#define NT_STATUS_LINK_FAILED (318)
-#define NT_STATUS_LINK_TIMEOUT (319)
-#define NT_STATUS_INVALID_CONNECTION (320)
-#define NT_STATUS_INVALID_ADDRESS (321)
-#define NT_STATUS_DLL_INIT_FAILED (322)
-#define NT_STATUS_MISSING_SYSTEMFILE (323)
-#define NT_STATUS_UNHANDLED_EXCEPTION (324)
-#define NT_STATUS_APP_INIT_FAILURE (325)
-#define NT_STATUS_PAGEFILE_CREATE_FAILED (326)
-#define NT_STATUS_NO_PAGEFILE (327)
-#define NT_STATUS_INVALID_LEVEL (328)
-#define NT_STATUS_WRONG_PASSWORD_CORE (329)
-#define NT_STATUS_ILLEGAL_FLOAT_CONTEXT (330)
-#define NT_STATUS_PIPE_BROKEN (331)
-#define NT_STATUS_REGISTRY_CORRUPT (332)
-#define NT_STATUS_REGISTRY_IO_FAILED (333)
-#define NT_STATUS_NO_EVENT_PAIR (334)
-#define NT_STATUS_UNRECOGNIZED_VOLUME (335)
-#define NT_STATUS_SERIAL_NO_DEVICE_INITED (336)
-#define NT_STATUS_NO_SUCH_ALIAS (337)
-#define NT_STATUS_MEMBER_NOT_IN_ALIAS (338)
-#define NT_STATUS_MEMBER_IN_ALIAS (339)
-#define NT_STATUS_ALIAS_EXISTS (340)
-#define NT_STATUS_LOGON_NOT_GRANTED (341)
-#define NT_STATUS_TOO_MANY_SECRETS (342)
-#define NT_STATUS_SECRET_TOO_LONG (343)
-#define NT_STATUS_INTERNAL_DB_ERROR (344)
-#define NT_STATUS_FULLSCREEN_MODE (345)
-#define NT_STATUS_TOO_MANY_CONTEXT_IDS (346)
-#define NT_STATUS_LOGON_TYPE_NOT_GRANTED (347)
-#define NT_STATUS_NOT_REGISTRY_FILE (348)
-#define NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED (349)
-#define NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR (350)
-#define NT_STATUS_FT_MISSING_MEMBER (351)
-#define NT_STATUS_ILL_FORMED_SERVICE_ENTRY (352)
-#define NT_STATUS_ILLEGAL_CHARACTER (353)
-#define NT_STATUS_UNMAPPABLE_CHARACTER (354)
-#define NT_STATUS_UNDEFINED_CHARACTER (355)
-#define NT_STATUS_FLOPPY_VOLUME (356)
-#define NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND (357)
-#define NT_STATUS_FLOPPY_WRONG_CYLINDER (358)
-#define NT_STATUS_FLOPPY_UNKNOWN_ERROR (359)
-#define NT_STATUS_FLOPPY_BAD_REGISTERS (360)
-#define NT_STATUS_DISK_RECALIBRATE_FAILED (361)
-#define NT_STATUS_DISK_OPERATION_FAILED (362)
-#define NT_STATUS_DISK_RESET_FAILED (363)
-#define NT_STATUS_SHARED_IRQ_BUSY (364)
-#define NT_STATUS_FT_ORPHANING (365)
-#define NT_STATUS_PARTITION_FAILURE (370)
-#define NT_STATUS_INVALID_BLOCK_LENGTH (371)
-#define NT_STATUS_DEVICE_NOT_PARTITIONED (372)
-#define NT_STATUS_UNABLE_TO_LOCK_MEDIA (373)
-#define NT_STATUS_UNABLE_TO_UNLOAD_MEDIA (374)
-#define NT_STATUS_EOM_OVERFLOW (375)
-#define NT_STATUS_NO_MEDIA (376)
-#define NT_STATUS_NO_SUCH_MEMBER (378)
-#define NT_STATUS_INVALID_MEMBER (379)
-#define NT_STATUS_KEY_DELETED (380)
-#define NT_STATUS_NO_LOG_SPACE (381)
-#define NT_STATUS_TOO_MANY_SIDS (382)
-#define NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED (383)
-#define NT_STATUS_KEY_HAS_CHILDREN (384)
-#define NT_STATUS_CHILD_MUST_BE_VOLATILE (385)
-#define NT_STATUS_DEVICE_CONFIGURATION_ERROR (386)
-#define NT_STATUS_DRIVER_INTERNAL_ERROR (387)
-#define NT_STATUS_INVALID_DEVICE_STATE (388)
-#define NT_STATUS_IO_DEVICE_ERROR (389)
-#define NT_STATUS_DEVICE_PROTOCOL_ERROR (390)
-#define NT_STATUS_BACKUP_CONTROLLER (391)
-#define NT_STATUS_LOG_FILE_FULL (392)
-#define NT_STATUS_TOO_LATE (393)
-#define NT_STATUS_NO_TRUST_LSA_SECRET (394)
-#define NT_STATUS_NO_TRUST_SAM_ACCOUNT (395)
-#define NT_STATUS_TRUSTED_DOMAIN_FAILURE (396)
-#define NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE (397)
-#define NT_STATUS_EVENTLOG_FILE_CORRUPT (398)
-#define NT_STATUS_EVENTLOG_CANT_START (399)
-#define NT_STATUS_TRUST_FAILURE (400)
-#define NT_STATUS_MUTANT_LIMIT_EXCEEDED (401)
-#define NT_STATUS_NETLOGON_NOT_STARTED (402)
-#define NT_STATUS_ACCOUNT_EXPIRED (403)
-#define NT_STATUS_POSSIBLE_DEADLOCK (404)
-#define NT_STATUS_NETWORK_CREDENTIAL_CONFLICT (405)
-#define NT_STATUS_REMOTE_SESSION_LIMIT (406)
-#define NT_STATUS_EVENTLOG_FILE_CHANGED (407)
-#define NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT (408)
-#define NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT (409)
-#define NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT (410)
-#define NT_STATUS_DOMAIN_TRUST_INCONSISTENT (411)
-#define NT_STATUS_FS_DRIVER_REQUIRED (412)
-#define NT_STATUS_NO_USER_SESSION_KEY (514)
-#define NT_STATUS_USER_SESSION_DELETED (515)
-#define NT_STATUS_RESOURCE_LANG_NOT_FOUND (516)
-#define NT_STATUS_INSUFF_SERVER_RESOURCES (517)
-#define NT_STATUS_INVALID_BUFFER_SIZE (518)
-#define NT_STATUS_INVALID_ADDRESS_COMPONENT (519)
-#define NT_STATUS_INVALID_ADDRESS_WILDCARD (520)
-#define NT_STATUS_TOO_MANY_ADDRESSES (521)
-#define NT_STATUS_ADDRESS_ALREADY_EXISTS (522)
-#define NT_STATUS_ADDRESS_CLOSED (523)
-#define NT_STATUS_CONNECTION_DISCONNECTED (524)
-#define NT_STATUS_CONNECTION_RESET (525)
-#define NT_STATUS_TOO_MANY_NODES (526)
-#define NT_STATUS_TRANSACTION_ABORTED (527)
-#define NT_STATUS_TRANSACTION_TIMED_OUT (528)
-#define NT_STATUS_TRANSACTION_NO_RELEASE (529)
-#define NT_STATUS_TRANSACTION_NO_MATCH (530)
-#define NT_STATUS_TRANSACTION_RESPONDED (531)
-#define NT_STATUS_TRANSACTION_INVALID_ID (532)
-#define NT_STATUS_TRANSACTION_INVALID_TYPE (533)
-#define NT_STATUS_NOT_SERVER_SESSION (534)
-#define NT_STATUS_NOT_CLIENT_SESSION (535)
-#define NT_STATUS_CANNOT_LOAD_REGISTRY_FILE (536)
-#define NT_STATUS_DEBUG_ATTACH_FAILED (537)
-#define NT_STATUS_SYSTEM_PROCESS_TERMINATED (538)
-#define NT_STATUS_DATA_NOT_ACCEPTED (539)
-#define NT_STATUS_NO_BROWSER_SERVERS_FOUND (540)
-#define NT_STATUS_VDM_HARD_ERROR (541)
-#define NT_STATUS_DRIVER_CANCEL_TIMEOUT (542)
-#define NT_STATUS_REPLY_MESSAGE_MISMATCH (543)
-#define NT_STATUS_MAPPED_ALIGNMENT (544)
-#define NT_STATUS_IMAGE_CHECKSUM_MISMATCH (545)
-#define NT_STATUS_LOST_WRITEBEHIND_DATA (546)
-#define NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID (547)
-#define NT_STATUS_PASSWORD_MUST_CHANGE (548)
-#define NT_STATUS_NOT_FOUND (549)
-#define NT_STATUS_NOT_TINY_STREAM (550)
-#define NT_STATUS_RECOVERY_FAILURE (551)
-#define NT_STATUS_STACK_OVERFLOW_READ (552)
-#define NT_STATUS_FAIL_CHECK (553)
-#define NT_STATUS_DUPLICATE_OBJECTID (554)
-#define NT_STATUS_OBJECTID_EXISTS (555)
-#define NT_STATUS_CONVERT_TO_LARGE (556)
-#define NT_STATUS_RETRY (557)
-#define NT_STATUS_FOUND_OUT_OF_SCOPE (558)
-#define NT_STATUS_ALLOCATE_BUCKET (559)
-#define NT_STATUS_PROPSET_NOT_FOUND (560)
-#define NT_STATUS_MARSHALL_OVERFLOW (561)
-#define NT_STATUS_INVALID_VARIANT (562)
-#define NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND (563)
-#define NT_STATUS_ACCOUNT_LOCKED_OUT (564)
-#define NT_STATUS_HANDLE_NOT_CLOSABLE (565)
-#define NT_STATUS_CONNECTION_REFUSED (566)
-#define NT_STATUS_GRACEFUL_DISCONNECT (567)
-#define NT_STATUS_ADDRESS_ALREADY_ASSOCIATED (568)
-#define NT_STATUS_ADDRESS_NOT_ASSOCIATED (569)
-#define NT_STATUS_CONNECTION_INVALID (570)
-#define NT_STATUS_CONNECTION_ACTIVE (571)
-#define NT_STATUS_NETWORK_UNREACHABLE (572)
-#define NT_STATUS_HOST_UNREACHABLE (573)
-#define NT_STATUS_PROTOCOL_UNREACHABLE (574)
-#define NT_STATUS_PORT_UNREACHABLE (575)
-#define NT_STATUS_REQUEST_ABORTED (576)
-#define NT_STATUS_CONNECTION_ABORTED (577)
-#define NT_STATUS_BAD_COMPRESSION_BUFFER (578)
-#define NT_STATUS_USER_MAPPED_FILE (579)
-#define NT_STATUS_AUDIT_FAILED (580)
-#define NT_STATUS_TIMER_RESOLUTION_NOT_SET (581)
-#define NT_STATUS_CONNECTION_COUNT_LIMIT (582)
-#define NT_STATUS_LOGIN_TIME_RESTRICTION (583)
-#define NT_STATUS_LOGIN_WKSTA_RESTRICTION (584)
-#define NT_STATUS_IMAGE_MP_UP_MISMATCH (585)
-#define NT_STATUS_INSUFFICIENT_LOGON_INFO (592)
-#define NT_STATUS_BAD_DLL_ENTRYPOINT (593)
-#define NT_STATUS_BAD_SERVICE_ENTRYPOINT (594)
-#define NT_STATUS_LPC_REPLY_LOST (595)
-#define NT_STATUS_IP_ADDRESS_CONFLICT1 (596)
-#define NT_STATUS_IP_ADDRESS_CONFLICT2 (597)
-#define NT_STATUS_REGISTRY_QUOTA_LIMIT (598)
-#define NT_STATUS_PATH_NOT_COVERED (599)
-#define NT_STATUS_NO_CALLBACK_ACTIVE (600)
-#define NT_STATUS_LICENSE_QUOTA_EXCEEDED (601)
-#define NT_STATUS_PWD_TOO_SHORT (602)
-#define NT_STATUS_PWD_TOO_RECENT (603)
-#define NT_STATUS_PWD_HISTORY_CONFLICT (604)
-#define NT_STATUS_PLUGPLAY_NO_DEVICE (606)
-#define NT_STATUS_UNSUPPORTED_COMPRESSION (607)
-#define NT_STATUS_INVALID_HW_PROFILE (608)
-#define NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH (609)
-#define NT_STATUS_DRIVER_ORDINAL_NOT_FOUND (610)
-#define NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND (611)
-#define NT_STATUS_RESOURCE_NOT_OWNED (612)
-#define NT_STATUS_TOO_MANY_LINKS (613)
-#define NT_STATUS_QUOTA_LIST_INCONSISTENT (614)
-#define NT_STATUS_FILE_IS_OFFLINE (615)
-#define NT_STATUS_NOTIFY_ENUM_DIR (0x10C)
+#define NT_STATUS_NOPROBLEMO (0x0)
+#define NT_STATUS_NO_PROBLEMO (0x0)
+#define NT_STATUS_UNSUCCESSFUL (0xC0000000 | 1)
+#define NT_STATUS_NOT_IMPLEMENTED (0xC0000000 | 2)
+#define NT_STATUS_INVALID_INFO_CLASS (0xC0000000 | 3)
+#define NT_STATUS_INFO_LENGTH_MISMATCH (0xC0000000 | 4)
+#define NT_STATUS_ACCESS_VIOLATION (0xC0000000 | 5)
+#define NT_STATUS_IN_PAGE_ERROR (0xC0000000 | 6)
+#define NT_STATUS_PAGEFILE_QUOTA (0xC0000000 | 7)
+#define NT_STATUS_INVALID_HANDLE (0xC0000000 | 8)
+#define NT_STATUS_BAD_INITIAL_STACK (0xC0000000 | 9)
+#define NT_STATUS_BAD_INITIAL_PC (0xC0000000 | 10)
+#define NT_STATUS_INVALID_CID (0xC0000000 | 11)
+#define NT_STATUS_TIMER_NOT_CANCELED (0xC0000000 | 12)
+#define NT_STATUS_INVALID_PARAMETER (0xC0000000 | 13)
+#define NT_STATUS_NO_SUCH_DEVICE (0xC0000000 | 14)
+#define NT_STATUS_NO_SUCH_FILE (0xC0000000 | 15)
+#define NT_STATUS_INVALID_DEVICE_REQUEST (0xC0000000 | 16)
+#define NT_STATUS_END_OF_FILE (0xC0000000 | 17)
+#define NT_STATUS_WRONG_VOLUME (0xC0000000 | 18)
+#define NT_STATUS_NO_MEDIA_IN_DEVICE (0xC0000000 | 19)
+#define NT_STATUS_UNRECOGNIZED_MEDIA (0xC0000000 | 20)
+#define NT_STATUS_NONEXISTENT_SECTOR (0xC0000000 | 21)
+#define NT_STATUS_MORE_PROCESSING_REQUIRED (0xC0000000 | 22)
+#define NT_STATUS_NO_MEMORY (0xC0000000 | 23)
+#define NT_STATUS_CONFLICTING_ADDRESSES (0xC0000000 | 24)
+#define NT_STATUS_NOT_MAPPED_VIEW (0xC0000000 | 25)
+#define NT_STATUS_UNABLE_TO_FREE_VM (0x80000000 | 26)
+#define NT_STATUS_UNABLE_TO_DELETE_SECTION (0xC0000000 | 27)
+#define NT_STATUS_INVALID_SYSTEM_SERVICE (0xC0000000 | 28)
+#define NT_STATUS_ILLEGAL_INSTRUCTION (0xC0000000 | 29)
+#define NT_STATUS_INVALID_LOCK_SEQUENCE (0xC0000000 | 30)
+#define NT_STATUS_INVALID_VIEW_SIZE (0xC0000000 | 31)
+#define NT_STATUS_INVALID_FILE_FOR_SECTION (0xC0000000 | 32)
+#define NT_STATUS_ALREADY_COMMITTED (0xC0000000 | 33)
+#define NT_STATUS_ACCESS_DENIED (0xC0000000 | 34)
+#define NT_STATUS_BUFFER_TOO_SMALL (0xC0000000 | 35)
+#define NT_STATUS_OBJECT_TYPE_MISMATCH (0xC0000000 | 36)
+#define NT_STATUS_NONCONTINUABLE_EXCEPTION (0xC0000000 | 37)
+#define NT_STATUS_INVALID_DISPOSITION (0xC0000000 | 38)
+#define NT_STATUS_UNWIND (0xC0000000 | 39)
+#define NT_STATUS_BAD_STACK (0xC0000000 | 40)
+#define NT_STATUS_INVALID_UNWIND_TARGET (0xC0000000 | 41)
+#define NT_STATUS_NOT_LOCKED (0xC0000000 | 42)
+#define NT_STATUS_PARITY_ERROR (0xC0000000 | 43)
+#define NT_STATUS_UNABLE_TO_DECOMMIT_VM (0xC0000000 | 44)
+#define NT_STATUS_NOT_COMMITTED (0xC0000000 | 45)
+#define NT_STATUS_INVALID_PORT_ATTRIBUTES (0xC0000000 | 46)
+#define NT_STATUS_PORT_MESSAGE_TOO_LONG (0xC0000000 | 47)
+#define NT_STATUS_INVALID_PARAMETER_MIX (0xC0000000 | 48)
+#define NT_STATUS_INVALID_QUOTA_LOWER (0xC0000000 | 49)
+#define NT_STATUS_DISK_CORRUPT_ERROR (0xC0000000 | 50)
+#define NT_STATUS_OBJECT_NAME_INVALID (0xC0000000 | 51)
+#define NT_STATUS_OBJECT_NAME_NOT_FOUND (0xC0000000 | 52)
+#define NT_STATUS_OBJECT_NAME_COLLISION (0xC0000000 | 53)
+#define NT_STATUS_HANDLE_NOT_WAITABLE (0xC0000000 | 54)
+#define NT_STATUS_PORT_DISCONNECTED (0xC0000000 | 55)
+#define NT_STATUS_DEVICE_ALREADY_ATTACHED (0xC0000000 | 56)
+#define NT_STATUS_OBJECT_PATH_INVALID (0xC0000000 | 57)
+#define NT_STATUS_OBJECT_PATH_NOT_FOUND (0xC0000000 | 58)
+#define NT_STATUS_OBJECT_PATH_SYNTAX_BAD (0xC0000000 | 59)
+#define NT_STATUS_DATA_OVERRUN (0xC0000000 | 60)
+#define NT_STATUS_DATA_LATE_ERROR (0xC0000000 | 61)
+#define NT_STATUS_DATA_ERROR (0xC0000000 | 62)
+#define NT_STATUS_CRC_ERROR (0xC0000000 | 63)
+#define NT_STATUS_SECTION_TOO_BIG (0xC0000000 | 64)
+#define NT_STATUS_PORT_CONNECTION_REFUSED (0xC0000000 | 65)
+#define NT_STATUS_INVALID_PORT_HANDLE (0xC0000000 | 66)
+#define NT_STATUS_SHARING_VIOLATION (0xC0000000 | 67)
+#define NT_STATUS_QUOTA_EXCEEDED (0xC0000000 | 68)
+#define NT_STATUS_INVALID_PAGE_PROTECTION (0xC0000000 | 69)
+#define NT_STATUS_MUTANT_NOT_OWNED (0xC0000000 | 70)
+#define NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED (0xC0000000 | 71)
+#define NT_STATUS_PORT_ALREADY_SET (0xC0000000 | 72)
+#define NT_STATUS_SECTION_NOT_IMAGE (0xC0000000 | 73)
+#define NT_STATUS_SUSPEND_COUNT_EXCEEDED (0xC0000000 | 74)
+#define NT_STATUS_THREAD_IS_TERMINATING (0xC0000000 | 75)
+#define NT_STATUS_BAD_WORKING_SET_LIMIT (0xC0000000 | 76)
+#define NT_STATUS_INCOMPATIBLE_FILE_MAP (0xC0000000 | 77)
+#define NT_STATUS_SECTION_PROTECTION (0xC0000000 | 78)
+#define NT_STATUS_EAS_NOT_SUPPORTED (0xC0000000 | 79)
+#define NT_STATUS_EA_TOO_LARGE (0xC0000000 | 80)
+#define NT_STATUS_NONEXISTENT_EA_ENTRY (0xC0000000 | 81)
+#define NT_STATUS_NO_EAS_ON_FILE (0xC0000000 | 82)
+#define NT_STATUS_EA_CORRUPT_ERROR (0xC0000000 | 83)
+#define NT_STATUS_FILE_LOCK_CONFLICT (0xC0000000 | 84)
+#define NT_STATUS_LOCK_NOT_GRANTED (0xC0000000 | 85)
+#define NT_STATUS_DELETE_PENDING (0xC0000000 | 86)
+#define NT_STATUS_CTL_FILE_NOT_SUPPORTED (0xC0000000 | 87)
+#define NT_STATUS_UNKNOWN_REVISION (0xC0000000 | 88)
+#define NT_STATUS_REVISION_MISMATCH (0xC0000000 | 89)
+#define NT_STATUS_INVALID_OWNER (0xC0000000 | 90)
+#define NT_STATUS_INVALID_PRIMARY_GROUP (0xC0000000 | 91)
+#define NT_STATUS_NO_IMPERSONATION_TOKEN (0xC0000000 | 92)
+#define NT_STATUS_CANT_DISABLE_MANDATORY (0xC0000000 | 93)
+#define NT_STATUS_NO_LOGON_SERVERS (0xC0000000 | 94)
+#define NT_STATUS_NO_SUCH_LOGON_SESSION (0xC0000000 | 95)
+#define NT_STATUS_NO_SUCH_PRIVILEGE (0xC0000000 | 96)
+#define NT_STATUS_PRIVILEGE_NOT_HELD (0xC0000000 | 97)
+#define NT_STATUS_INVALID_ACCOUNT_NAME (0xC0000000 | 98)
+#define NT_STATUS_USER_EXISTS (0xC0000000 | 99)
+#define NT_STATUS_NO_SUCH_USER (0xC0000000 | 100)
+#define NT_STATUS_GROUP_EXISTS (0xC0000000 | 101)
+#define NT_STATUS_NO_SUCH_GROUP (0xC0000000 | 102)
+#define NT_STATUS_MEMBER_IN_GROUP (0xC0000000 | 103)
+#define NT_STATUS_MEMBER_NOT_IN_GROUP (0xC0000000 | 104)
+#define NT_STATUS_LAST_ADMIN (0xC0000000 | 105)
+#define NT_STATUS_WRONG_PASSWORD (0xC0000000 | 106)
+#define NT_STATUS_ILL_FORMED_PASSWORD (0xC0000000 | 107)
+#define NT_STATUS_PASSWORD_RESTRICTION (0xC0000000 | 108)
+#define NT_STATUS_LOGON_FAILURE (0xC0000000 | 109)
+#define NT_STATUS_ACCOUNT_RESTRICTION (0xC0000000 | 110)
+#define NT_STATUS_INVALID_LOGON_HOURS (0xC0000000 | 111)
+#define NT_STATUS_INVALID_WORKSTATION (0xC0000000 | 112)
+#define NT_STATUS_PASSWORD_EXPIRED (0xC0000000 | 113)
+#define NT_STATUS_ACCOUNT_DISABLED (0xC0000000 | 114)
+#define NT_STATUS_NONE_MAPPED (0xC0000000 | 115)
+#define NT_STATUS_TOO_MANY_LUIDS_REQUESTED (0xC0000000 | 116)
+#define NT_STATUS_LUIDS_EXHAUSTED (0xC0000000 | 117)
+#define NT_STATUS_INVALID_SUB_AUTHORITY (0xC0000000 | 118)
+#define NT_STATUS_INVALID_ACL (0xC0000000 | 119)
+#define NT_STATUS_INVALID_SID (0xC0000000 | 120)
+#define NT_STATUS_INVALID_SECURITY_DESCR (0xC0000000 | 121)
+#define NT_STATUS_PROCEDURE_NOT_FOUND (0xC0000000 | 122)
+#define NT_STATUS_INVALID_IMAGE_FORMAT (0xC0000000 | 123)
+#define NT_STATUS_NO_TOKEN (0xC0000000 | 124)
+#define NT_STATUS_BAD_INHERITANCE_ACL (0xC0000000 | 125)
+#define NT_STATUS_RANGE_NOT_LOCKED (0xC0000000 | 126)
+#define NT_STATUS_DISK_FULL (0xC0000000 | 127)
+#define NT_STATUS_SERVER_DISABLED (0xC0000000 | 128)
+#define NT_STATUS_SERVER_NOT_DISABLED (0xC0000000 | 129)
+#define NT_STATUS_TOO_MANY_GUIDS_REQUESTED (0xC0000000 | 130)
+#define NT_STATUS_GUIDS_EXHAUSTED (0xC0000000 | 131)
+#define NT_STATUS_INVALID_ID_AUTHORITY (0xC0000000 | 132)
+#define NT_STATUS_AGENTS_EXHAUSTED (0xC0000000 | 133)
+#define NT_STATUS_INVALID_VOLUME_LABEL (0xC0000000 | 134)
+#define NT_STATUS_SECTION_NOT_EXTENDED (0xC0000000 | 135)
+#define NT_STATUS_NOT_MAPPED_DATA (0xC0000000 | 136)
+#define NT_STATUS_RESOURCE_DATA_NOT_FOUND (0xC0000000 | 137)
+#define NT_STATUS_RESOURCE_TYPE_NOT_FOUND (0xC0000000 | 138)
+#define NT_STATUS_RESOURCE_NAME_NOT_FOUND (0xC0000000 | 139)
+#define NT_STATUS_ARRAY_BOUNDS_EXCEEDED (0xC0000000 | 140)
+#define NT_STATUS_FLOAT_DENORMAL_OPERAND (0xC0000000 | 141)
+#define NT_STATUS_FLOAT_DIVIDE_BY_ZERO (0xC0000000 | 142)
+#define NT_STATUS_FLOAT_INEXACT_RESULT (0xC0000000 | 143)
+#define NT_STATUS_FLOAT_INVALID_OPERATION (0xC0000000 | 144)
+#define NT_STATUS_FLOAT_OVERFLOW (0xC0000000 | 145)
+#define NT_STATUS_FLOAT_STACK_CHECK (0xC0000000 | 146)
+#define NT_STATUS_FLOAT_UNDERFLOW (0xC0000000 | 147)
+#define NT_STATUS_INTEGER_DIVIDE_BY_ZERO (0xC0000000 | 148)
+#define NT_STATUS_INTEGER_OVERFLOW (0xC0000000 | 149)
+#define NT_STATUS_PRIVILEGED_INSTRUCTION (0xC0000000 | 150)
+#define NT_STATUS_TOO_MANY_PAGING_FILES (0xC0000000 | 151)
+#define NT_STATUS_FILE_INVALID (0xC0000000 | 152)
+#define NT_STATUS_ALLOTTED_SPACE_EXCEEDED (0xC0000000 | 153)
+#define NT_STATUS_INSUFFICIENT_RESOURCES (0xC0000000 | 154)
+#define NT_STATUS_DFS_EXIT_PATH_FOUND (0xC0000000 | 155)
+#define NT_STATUS_DEVICE_DATA_ERROR (0xC0000000 | 156)
+#define NT_STATUS_DEVICE_NOT_CONNECTED (0xC0000000 | 157)
+#define NT_STATUS_DEVICE_POWER_FAILURE (0xC0000000 | 158)
+#define NT_STATUS_FREE_VM_NOT_AT_BASE (0xC0000000 | 159)
+#define NT_STATUS_MEMORY_NOT_ALLOCATED (0xC0000000 | 160)
+#define NT_STATUS_WORKING_SET_QUOTA (0xC0000000 | 161)
+#define NT_STATUS_MEDIA_WRITE_PROTECTED (0xC0000000 | 162)
+#define NT_STATUS_DEVICE_NOT_READY (0xC0000000 | 163)
+#define NT_STATUS_INVALID_GROUP_ATTRIBUTES (0xC0000000 | 164)
+#define NT_STATUS_BAD_IMPERSONATION_LEVEL (0xC0000000 | 165)
+#define NT_STATUS_CANT_OPEN_ANONYMOUS (0xC0000000 | 166)
+#define NT_STATUS_BAD_VALIDATION_CLASS (0xC0000000 | 167)
+#define NT_STATUS_BAD_TOKEN_TYPE (0xC0000000 | 168)
+#define NT_STATUS_BAD_MASTER_BOOT_RECORD (0xC0000000 | 169)
+#define NT_STATUS_INSTRUCTION_MISALIGNMENT (0xC0000000 | 170)
+#define NT_STATUS_INSTANCE_NOT_AVAILABLE (0xC0000000 | 171)
+#define NT_STATUS_PIPE_NOT_AVAILABLE (0xC0000000 | 172)
+#define NT_STATUS_INVALID_PIPE_STATE (0xC0000000 | 173)
+#define NT_STATUS_PIPE_BUSY (0xC0000000 | 174)
+#define NT_STATUS_ILLEGAL_FUNCTION (0xC0000000 | 175)
+#define NT_STATUS_PIPE_DISCONNECTED (0xC0000000 | 176)
+#define NT_STATUS_PIPE_CLOSING (0xC0000000 | 177)
+#define NT_STATUS_PIPE_CONNECTED (0xC0000000 | 178)
+#define NT_STATUS_PIPE_LISTENING (0xC0000000 | 179)
+#define NT_STATUS_INVALID_READ_MODE (0xC0000000 | 180)
+#define NT_STATUS_IO_TIMEOUT (0xC0000000 | 181)
+#define NT_STATUS_FILE_FORCED_CLOSED (0xC0000000 | 182)
+#define NT_STATUS_PROFILING_NOT_STARTED (0xC0000000 | 183)
+#define NT_STATUS_PROFILING_NOT_STOPPED (0xC0000000 | 184)
+#define NT_STATUS_COULD_NOT_INTERPRET (0xC0000000 | 185)
+#define NT_STATUS_FILE_IS_A_DIRECTORY (0xC0000000 | 186)
+#define NT_STATUS_NOT_SUPPORTED (0xC0000000 | 187)
+#define NT_STATUS_REMOTE_NOT_LISTENING (0xC0000000 | 188)
+#define NT_STATUS_DUPLICATE_NAME (0xC0000000 | 189)
+#define NT_STATUS_BAD_NETWORK_PATH (0xC0000000 | 190)
+#define NT_STATUS_NETWORK_BUSY (0xC0000000 | 191)
+#define NT_STATUS_DEVICE_DOES_NOT_EXIST (0xC0000000 | 192)
+#define NT_STATUS_TOO_MANY_COMMANDS (0xC0000000 | 193)
+#define NT_STATUS_ADAPTER_HARDWARE_ERROR (0xC0000000 | 194)
+#define NT_STATUS_INVALID_NETWORK_RESPONSE (0xC0000000 | 195)
+#define NT_STATUS_UNEXPECTED_NETWORK_ERROR (0xC0000000 | 196)
+#define NT_STATUS_BAD_REMOTE_ADAPTER (0xC0000000 | 197)
+#define NT_STATUS_PRINT_QUEUE_FULL (0xC0000000 | 198)
+#define NT_STATUS_NO_SPOOL_SPACE (0xC0000000 | 199)
+#define NT_STATUS_PRINT_CANCELLED (0xC0000000 | 200)
+#define NT_STATUS_NETWORK_NAME_DELETED (0xC0000000 | 201)
+#define NT_STATUS_NETWORK_ACCESS_DENIED (0xC0000000 | 202)
+#define NT_STATUS_BAD_DEVICE_TYPE (0xC0000000 | 203)
+#define NT_STATUS_BAD_NETWORK_NAME (0xC0000000 | 204)
+#define NT_STATUS_TOO_MANY_NAMES (0xC0000000 | 205)
+#define NT_STATUS_TOO_MANY_SESSIONS (0xC0000000 | 206)
+#define NT_STATUS_SHARING_PAUSED (0xC0000000 | 207)
+#define NT_STATUS_REQUEST_NOT_ACCEPTED (0xC0000000 | 208)
+#define NT_STATUS_REDIRECTOR_PAUSED (0xC0000000 | 209)
+#define NT_STATUS_NET_WRITE_FAULT (0xC0000000 | 210)
+#define NT_STATUS_PROFILING_AT_LIMIT (0xC0000000 | 211)
+#define NT_STATUS_NOT_SAME_DEVICE (0xC0000000 | 212)
+#define NT_STATUS_FILE_RENAMED (0xC0000000 | 213)
+#define NT_STATUS_VIRTUAL_CIRCUIT_CLOSED (0xC0000000 | 214)
+#define NT_STATUS_NO_SECURITY_ON_OBJECT (0xC0000000 | 215)
+#define NT_STATUS_CANT_WAIT (0xC0000000 | 216)
+#define NT_STATUS_PIPE_EMPTY (0xC0000000 | 217)
+#define NT_STATUS_CANT_ACCESS_DOMAIN_INFO (0xC0000000 | 218)
+#define NT_STATUS_CANT_TERMINATE_SELF (0xC0000000 | 219)
+#define NT_STATUS_INVALID_SERVER_STATE (0xC0000000 | 220)
+#define NT_STATUS_INVALID_DOMAIN_STATE (0xC0000000 | 221)
+#define NT_STATUS_INVALID_DOMAIN_ROLE (0xC0000000 | 222)
+#define NT_STATUS_NO_SUCH_DOMAIN (0xC0000000 | 223)
+#define NT_STATUS_DOMAIN_EXISTS (0xC0000000 | 224)
+#define NT_STATUS_DOMAIN_LIMIT_EXCEEDED (0xC0000000 | 225)
+#define NT_STATUS_OPLOCK_NOT_GRANTED (0xC0000000 | 226)
+#define NT_STATUS_INVALID_OPLOCK_PROTOCOL (0xC0000000 | 227)
+#define NT_STATUS_INTERNAL_DB_CORRUPTION (0xC0000000 | 228)
+#define NT_STATUS_INTERNAL_ERROR (0xC0000000 | 229)
+#define NT_STATUS_GENERIC_NOT_MAPPED (0xC0000000 | 230)
+#define NT_STATUS_BAD_DESCRIPTOR_FORMAT (0xC0000000 | 231)
+#define NT_STATUS_INVALID_USER_BUFFER (0xC0000000 | 232)
+#define NT_STATUS_UNEXPECTED_IO_ERROR (0xC0000000 | 233)
+#define NT_STATUS_UNEXPECTED_MM_CREATE_ERR (0xC0000000 | 234)
+#define NT_STATUS_UNEXPECTED_MM_MAP_ERROR (0xC0000000 | 235)
+#define NT_STATUS_UNEXPECTED_MM_EXTEND_ERR (0xC0000000 | 236)
+#define NT_STATUS_NOT_LOGON_PROCESS (0xC0000000 | 237)
+#define NT_STATUS_LOGON_SESSION_EXISTS (0xC0000000 | 238)
+#define NT_STATUS_INVALID_PARAMETER_1 (0xC0000000 | 239)
+#define NT_STATUS_INVALID_PARAMETER_2 (0xC0000000 | 240)
+#define NT_STATUS_INVALID_PARAMETER_3 (0xC0000000 | 241)
+#define NT_STATUS_INVALID_PARAMETER_4 (0xC0000000 | 242)
+#define NT_STATUS_INVALID_PARAMETER_5 (0xC0000000 | 243)
+#define NT_STATUS_INVALID_PARAMETER_6 (0xC0000000 | 244)
+#define NT_STATUS_INVALID_PARAMETER_7 (0xC0000000 | 245)
+#define NT_STATUS_INVALID_PARAMETER_8 (0xC0000000 | 246)
+#define NT_STATUS_INVALID_PARAMETER_9 (0xC0000000 | 247)
+#define NT_STATUS_INVALID_PARAMETER_10 (0xC0000000 | 248)
+#define NT_STATUS_INVALID_PARAMETER_11 (0xC0000000 | 249)
+#define NT_STATUS_INVALID_PARAMETER_12 (0xC0000000 | 250)
+#define NT_STATUS_REDIRECTOR_NOT_STARTED (0xC0000000 | 251)
+#define NT_STATUS_REDIRECTOR_STARTED (0xC0000000 | 252)
+#define NT_STATUS_STACK_OVERFLOW (0xC0000000 | 253)
+#define NT_STATUS_NO_SUCH_PACKAGE (0xC0000000 | 254)
+#define NT_STATUS_BAD_FUNCTION_TABLE (0xC0000000 | 255)
+#define NT_STATUS_DIRECTORY_NOT_EMPTY (0xC0000000 | 257)
+#define NT_STATUS_FILE_CORRUPT_ERROR (0xC0000000 | 258)
+#define NT_STATUS_NOT_A_DIRECTORY (0xC0000000 | 259)
+#define NT_STATUS_BAD_LOGON_SESSION_STATE (0xC0000000 | 260)
+#define NT_STATUS_LOGON_SESSION_COLLISION (0xC0000000 | 261)
+#define NT_STATUS_NAME_TOO_LONG (0xC0000000 | 262)
+#define NT_STATUS_FILES_OPEN (0xC0000000 | 263)
+#define NT_STATUS_CONNECTION_IN_USE (0xC0000000 | 264)
+#define NT_STATUS_MESSAGE_NOT_FOUND (0xC0000000 | 265)
+#define NT_STATUS_PROCESS_IS_TERMINATING (0xC0000000 | 266)
+#define NT_STATUS_INVALID_LOGON_TYPE (0xC0000000 | 267)
+#define NT_STATUS_NO_GUID_TRANSLATION (0xC0000000 | 268)
+#define NT_STATUS_CANNOT_IMPERSONATE (0xC0000000 | 269)
+#define NT_STATUS_IMAGE_ALREADY_LOADED (0xC0000000 | 270)
+#define NT_STATUS_ABIOS_NOT_PRESENT (0xC0000000 | 271)
+#define NT_STATUS_ABIOS_LID_NOT_EXIST (0xC0000000 | 272)
+#define NT_STATUS_ABIOS_LID_ALREADY_OWNED (0xC0000000 | 273)
+#define NT_STATUS_ABIOS_NOT_LID_OWNER (0xC0000000 | 274)
+#define NT_STATUS_ABIOS_INVALID_COMMAND (0xC0000000 | 275)
+#define NT_STATUS_ABIOS_INVALID_LID (0xC0000000 | 276)
+#define NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE (0xC0000000 | 277)
+#define NT_STATUS_ABIOS_INVALID_SELECTOR (0xC0000000 | 278)
+#define NT_STATUS_NO_LDT (0xC0000000 | 279)
+#define NT_STATUS_INVALID_LDT_SIZE (0xC0000000 | 280)
+#define NT_STATUS_INVALID_LDT_OFFSET (0xC0000000 | 281)
+#define NT_STATUS_INVALID_LDT_DESCRIPTOR (0xC0000000 | 282)
+#define NT_STATUS_INVALID_IMAGE_NE_FORMAT (0xC0000000 | 283)
+#define NT_STATUS_RXACT_INVALID_STATE (0xC0000000 | 284)
+#define NT_STATUS_RXACT_COMMIT_FAILURE (0xC0000000 | 285)
+#define NT_STATUS_MAPPED_FILE_SIZE_ZERO (0xC0000000 | 286)
+#define NT_STATUS_TOO_MANY_OPENED_FILES (0xC0000000 | 287)
+#define NT_STATUS_CANCELLED (0xC0000000 | 288)
+#define NT_STATUS_CANNOT_DELETE (0xC0000000 | 289)
+#define NT_STATUS_INVALID_COMPUTER_NAME (0xC0000000 | 290)
+#define NT_STATUS_FILE_DELETED (0xC0000000 | 291)
+#define NT_STATUS_SPECIAL_ACCOUNT (0xC0000000 | 292)
+#define NT_STATUS_SPECIAL_GROUP (0xC0000000 | 293)
+#define NT_STATUS_SPECIAL_USER (0xC0000000 | 294)
+#define NT_STATUS_MEMBERS_PRIMARY_GROUP (0xC0000000 | 295)
+#define NT_STATUS_FILE_CLOSED (0xC0000000 | 296)
+#define NT_STATUS_TOO_MANY_THREADS (0xC0000000 | 297)
+#define NT_STATUS_THREAD_NOT_IN_PROCESS (0xC0000000 | 298)
+#define NT_STATUS_TOKEN_ALREADY_IN_USE (0xC0000000 | 299)
+#define NT_STATUS_PAGEFILE_QUOTA_EXCEEDED (0xC0000000 | 300)
+#define NT_STATUS_COMMITMENT_LIMIT (0xC0000000 | 301)
+#define NT_STATUS_INVALID_IMAGE_LE_FORMAT (0xC0000000 | 302)
+#define NT_STATUS_INVALID_IMAGE_NOT_MZ (0xC0000000 | 303)
+#define NT_STATUS_INVALID_IMAGE_PROTECT (0xC0000000 | 304)
+#define NT_STATUS_INVALID_IMAGE_WIN_16 (0xC0000000 | 305)
+#define NT_STATUS_LOGON_SERVER_CONFLICT (0xC0000000 | 306)
+#define NT_STATUS_TIME_DIFFERENCE_AT_DC (0xC0000000 | 307)
+#define NT_STATUS_SYNCHRONIZATION_REQUIRED (0xC0000000 | 308)
+#define NT_STATUS_DLL_NOT_FOUND (0xC0000000 | 309)
+#define NT_STATUS_OPEN_FAILED (0xC0000000 | 310)
+#define NT_STATUS_IO_PRIVILEGE_FAILED (0xC0000000 | 311)
+#define NT_STATUS_ORDINAL_NOT_FOUND (0xC0000000 | 312)
+#define NT_STATUS_ENTRYPOINT_NOT_FOUND (0xC0000000 | 313)
+#define NT_STATUS_CONTROL_C_EXIT (0xC0000000 | 314)
+#define NT_STATUS_LOCAL_DISCONNECT (0xC0000000 | 315)
+#define NT_STATUS_REMOTE_DISCONNECT (0xC0000000 | 316)
+#define NT_STATUS_REMOTE_RESOURCES (0xC0000000 | 317)
+#define NT_STATUS_LINK_FAILED (0xC0000000 | 318)
+#define NT_STATUS_LINK_TIMEOUT (0xC0000000 | 319)
+#define NT_STATUS_INVALID_CONNECTION (0xC0000000 | 320)
+#define NT_STATUS_INVALID_ADDRESS (0xC0000000 | 321)
+#define NT_STATUS_DLL_INIT_FAILED (0xC0000000 | 322)
+#define NT_STATUS_MISSING_SYSTEMFILE (0xC0000000 | 323)
+#define NT_STATUS_UNHANDLED_EXCEPTION (0xC0000000 | 324)
+#define NT_STATUS_APP_INIT_FAILURE (0xC0000000 | 325)
+#define NT_STATUS_PAGEFILE_CREATE_FAILED (0xC0000000 | 326)
+#define NT_STATUS_NO_PAGEFILE (0xC0000000 | 327)
+#define NT_STATUS_INVALID_LEVEL (0xC0000000 | 328)
+#define NT_STATUS_WRONG_PASSWORD_CORE (0xC0000000 | 329)
+#define NT_STATUS_ILLEGAL_FLOAT_CONTEXT (0xC0000000 | 330)
+#define NT_STATUS_PIPE_BROKEN (0xC0000000 | 331)
+#define NT_STATUS_REGISTRY_CORRUPT (0xC0000000 | 332)
+#define NT_STATUS_REGISTRY_IO_FAILED (0xC0000000 | 333)
+#define NT_STATUS_NO_EVENT_PAIR (0xC0000000 | 334)
+#define NT_STATUS_UNRECOGNIZED_VOLUME (0xC0000000 | 335)
+#define NT_STATUS_SERIAL_NO_DEVICE_INITED (0xC0000000 | 336)
+#define NT_STATUS_NO_SUCH_ALIAS (0xC0000000 | 337)
+#define NT_STATUS_MEMBER_NOT_IN_ALIAS (0xC0000000 | 338)
+#define NT_STATUS_MEMBER_IN_ALIAS (0xC0000000 | 339)
+#define NT_STATUS_ALIAS_EXISTS (0xC0000000 | 340)
+#define NT_STATUS_LOGON_NOT_GRANTED (0xC0000000 | 341)
+#define NT_STATUS_TOO_MANY_SECRETS (0xC0000000 | 342)
+#define NT_STATUS_SECRET_TOO_LONG (0xC0000000 | 343)
+#define NT_STATUS_INTERNAL_DB_ERROR (0xC0000000 | 344)
+#define NT_STATUS_FULLSCREEN_MODE (0xC0000000 | 345)
+#define NT_STATUS_TOO_MANY_CONTEXT_IDS (0xC0000000 | 346)
+#define NT_STATUS_LOGON_TYPE_NOT_GRANTED (0xC0000000 | 347)
+#define NT_STATUS_NOT_REGISTRY_FILE (0xC0000000 | 348)
+#define NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED (0xC0000000 | 349)
+#define NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR (0xC0000000 | 350)
+#define NT_STATUS_FT_MISSING_MEMBER (0xC0000000 | 351)
+#define NT_STATUS_ILL_FORMED_SERVICE_ENTRY (0xC0000000 | 352)
+#define NT_STATUS_ILLEGAL_CHARACTER (0xC0000000 | 353)
+#define NT_STATUS_UNMAPPABLE_CHARACTER (0xC0000000 | 354)
+#define NT_STATUS_UNDEFINED_CHARACTER (0xC0000000 | 355)
+#define NT_STATUS_FLOPPY_VOLUME (0xC0000000 | 356)
+#define NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND (0xC0000000 | 357)
+#define NT_STATUS_FLOPPY_WRONG_CYLINDER (0xC0000000 | 358)
+#define NT_STATUS_FLOPPY_UNKNOWN_ERROR (0xC0000000 | 359)
+#define NT_STATUS_FLOPPY_BAD_REGISTERS (0xC0000000 | 360)
+#define NT_STATUS_DISK_RECALIBRATE_FAILED (0xC0000000 | 361)
+#define NT_STATUS_DISK_OPERATION_FAILED (0xC0000000 | 362)
+#define NT_STATUS_DISK_RESET_FAILED (0xC0000000 | 363)
+#define NT_STATUS_SHARED_IRQ_BUSY (0xC0000000 | 364)
+#define NT_STATUS_FT_ORPHANING (0xC0000000 | 365)
+#define NT_STATUS_PARTITION_FAILURE (0xC0000000 | 370)
+#define NT_STATUS_INVALID_BLOCK_LENGTH (0xC0000000 | 371)
+#define NT_STATUS_DEVICE_NOT_PARTITIONED (0xC0000000 | 372)
+#define NT_STATUS_UNABLE_TO_LOCK_MEDIA (0xC0000000 | 373)
+#define NT_STATUS_UNABLE_TO_UNLOAD_MEDIA (0xC0000000 | 374)
+#define NT_STATUS_EOM_OVERFLOW (0xC0000000 | 375)
+#define NT_STATUS_NO_MEDIA (0xC0000000 | 376)
+#define NT_STATUS_NO_SUCH_MEMBER (0xC0000000 | 378)
+#define NT_STATUS_INVALID_MEMBER (0xC0000000 | 379)
+#define NT_STATUS_KEY_DELETED (0xC0000000 | 380)
+#define NT_STATUS_NO_LOG_SPACE (0xC0000000 | 381)
+#define NT_STATUS_TOO_MANY_SIDS (0xC0000000 | 382)
+#define NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED (0xC0000000 | 383)
+#define NT_STATUS_KEY_HAS_CHILDREN (0xC0000000 | 384)
+#define NT_STATUS_CHILD_MUST_BE_VOLATILE (0xC0000000 | 385)
+#define NT_STATUS_DEVICE_CONFIGURATION_ERROR (0xC0000000 | 386)
+#define NT_STATUS_DRIVER_INTERNAL_ERROR (0xC0000000 | 387)
+#define NT_STATUS_INVALID_DEVICE_STATE (0xC0000000 | 388)
+#define NT_STATUS_IO_DEVICE_ERROR (0xC0000000 | 389)
+#define NT_STATUS_DEVICE_PROTOCOL_ERROR (0xC0000000 | 390)
+#define NT_STATUS_BACKUP_CONTROLLER (0xC0000000 | 391)
+#define NT_STATUS_LOG_FILE_FULL (0xC0000000 | 392)
+#define NT_STATUS_TOO_LATE (0xC0000000 | 393)
+#define NT_STATUS_NO_TRUST_LSA_SECRET (0xC0000000 | 394)
+#define NT_STATUS_NO_TRUST_SAM_ACCOUNT (0xC0000000 | 395)
+#define NT_STATUS_TRUSTED_DOMAIN_FAILURE (0xC0000000 | 396)
+#define NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE (0xC0000000 | 397)
+#define NT_STATUS_EVENTLOG_FILE_CORRUPT (0xC0000000 | 398)
+#define NT_STATUS_EVENTLOG_CANT_START (0xC0000000 | 399)
+#define NT_STATUS_TRUST_FAILURE (0xC0000000 | 400)
+#define NT_STATUS_MUTANT_LIMIT_EXCEEDED (0xC0000000 | 401)
+#define NT_STATUS_NETLOGON_NOT_STARTED (0xC0000000 | 402)
+#define NT_STATUS_ACCOUNT_EXPIRED (0xC0000000 | 403)
+#define NT_STATUS_POSSIBLE_DEADLOCK (0xC0000000 | 404)
+#define NT_STATUS_NETWORK_CREDENTIAL_CONFLICT (0xC0000000 | 405)
+#define NT_STATUS_REMOTE_SESSION_LIMIT (0xC0000000 | 406)
+#define NT_STATUS_EVENTLOG_FILE_CHANGED (0xC0000000 | 407)
+#define NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT (0xC0000000 | 408)
+#define NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT (0xC0000000 | 409)
+#define NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT (0xC0000000 | 410)
+#define NT_STATUS_DOMAIN_TRUST_INCONSISTENT (0xC0000000 | 411)
+#define NT_STATUS_FS_DRIVER_REQUIRED (0xC0000000 | 412)
+#define NT_STATUS_NO_USER_SESSION_KEY (0xC0000000 | 514)
+#define NT_STATUS_USER_SESSION_DELETED (0xC0000000 | 515)
+#define NT_STATUS_RESOURCE_LANG_NOT_FOUND (0xC0000000 | 516)
+#define NT_STATUS_INSUFF_SERVER_RESOURCES (0xC0000000 | 517)
+#define NT_STATUS_INVALID_BUFFER_SIZE (0xC0000000 | 518)
+#define NT_STATUS_INVALID_ADDRESS_COMPONENT (0xC0000000 | 519)
+#define NT_STATUS_INVALID_ADDRESS_WILDCARD (0xC0000000 | 520)
+#define NT_STATUS_TOO_MANY_ADDRESSES (0xC0000000 | 521)
+#define NT_STATUS_ADDRESS_ALREADY_EXISTS (0xC0000000 | 522)
+#define NT_STATUS_ADDRESS_CLOSED (0xC0000000 | 523)
+#define NT_STATUS_CONNECTION_DISCONNECTED (0xC0000000 | 524)
+#define NT_STATUS_CONNECTION_RESET (0xC0000000 | 525)
+#define NT_STATUS_TOO_MANY_NODES (0xC0000000 | 526)
+#define NT_STATUS_TRANSACTION_ABORTED (0xC0000000 | 527)
+#define NT_STATUS_TRANSACTION_TIMED_OUT (0xC0000000 | 528)
+#define NT_STATUS_TRANSACTION_NO_RELEASE (0xC0000000 | 529)
+#define NT_STATUS_TRANSACTION_NO_MATCH (0xC0000000 | 530)
+#define NT_STATUS_TRANSACTION_RESPONDED (0xC0000000 | 531)
+#define NT_STATUS_TRANSACTION_INVALID_ID (0xC0000000 | 532)
+#define NT_STATUS_TRANSACTION_INVALID_TYPE (0xC0000000 | 533)
+#define NT_STATUS_NOT_SERVER_SESSION (0xC0000000 | 534)
+#define NT_STATUS_NOT_CLIENT_SESSION (0xC0000000 | 535)
+#define NT_STATUS_CANNOT_LOAD_REGISTRY_FILE (0xC0000000 | 536)
+#define NT_STATUS_DEBUG_ATTACH_FAILED (0xC0000000 | 537)
+#define NT_STATUS_SYSTEM_PROCESS_TERMINATED (0xC0000000 | 538)
+#define NT_STATUS_DATA_NOT_ACCEPTED (0xC0000000 | 539)
+#define NT_STATUS_NO_BROWSER_SERVERS_FOUND (0xC0000000 | 540)
+#define NT_STATUS_VDM_HARD_ERROR (0xC0000000 | 541)
+#define NT_STATUS_DRIVER_CANCEL_TIMEOUT (0xC0000000 | 542)
+#define NT_STATUS_REPLY_MESSAGE_MISMATCH (0xC0000000 | 543)
+#define NT_STATUS_MAPPED_ALIGNMENT (0xC0000000 | 544)
+#define NT_STATUS_IMAGE_CHECKSUM_MISMATCH (0xC0000000 | 545)
+#define NT_STATUS_LOST_WRITEBEHIND_DATA (0xC0000000 | 546)
+#define NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID (0xC0000000 | 547)
+#define NT_STATUS_PASSWORD_MUST_CHANGE (0xC0000000 | 548)
+#define NT_STATUS_NOT_FOUND (0xC0000000 | 549)
+#define NT_STATUS_NOT_TINY_STREAM (0xC0000000 | 550)
+#define NT_STATUS_RECOVERY_FAILURE (0xC0000000 | 551)
+#define NT_STATUS_STACK_OVERFLOW_READ (0xC0000000 | 552)
+#define NT_STATUS_FAIL_CHECK (0xC0000000 | 553)
+#define NT_STATUS_DUPLICATE_OBJECTID (0xC0000000 | 554)
+#define NT_STATUS_OBJECTID_EXISTS (0xC0000000 | 555)
+#define NT_STATUS_CONVERT_TO_LARGE (0xC0000000 | 556)
+#define NT_STATUS_RETRY (0xC0000000 | 557)
+#define NT_STATUS_FOUND_OUT_OF_SCOPE (0xC0000000 | 558)
+#define NT_STATUS_ALLOCATE_BUCKET (0xC0000000 | 559)
+#define NT_STATUS_PROPSET_NOT_FOUND (0xC0000000 | 560)
+#define NT_STATUS_MARSHALL_OVERFLOW (0xC0000000 | 561)
+#define NT_STATUS_INVALID_VARIANT (0xC0000000 | 562)
+#define NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND (0xC0000000 | 563)
+#define NT_STATUS_ACCOUNT_LOCKED_OUT (0xC0000000 | 564)
+#define NT_STATUS_HANDLE_NOT_CLOSABLE (0xC0000000 | 565)
+#define NT_STATUS_CONNECTION_REFUSED (0xC0000000 | 566)
+#define NT_STATUS_GRACEFUL_DISCONNECT (0xC0000000 | 567)
+#define NT_STATUS_ADDRESS_ALREADY_ASSOCIATED (0xC0000000 | 568)
+#define NT_STATUS_ADDRESS_NOT_ASSOCIATED (0xC0000000 | 569)
+#define NT_STATUS_CONNECTION_INVALID (0xC0000000 | 570)
+#define NT_STATUS_CONNECTION_ACTIVE (0xC0000000 | 571)
+#define NT_STATUS_NETWORK_UNREACHABLE (0xC0000000 | 572)
+#define NT_STATUS_HOST_UNREACHABLE (0xC0000000 | 573)
+#define NT_STATUS_PROTOCOL_UNREACHABLE (0xC0000000 | 574)
+#define NT_STATUS_PORT_UNREACHABLE (0xC0000000 | 575)
+#define NT_STATUS_REQUEST_ABORTED (0xC0000000 | 576)
+#define NT_STATUS_CONNECTION_ABORTED (0xC0000000 | 577)
+#define NT_STATUS_BAD_COMPRESSION_BUFFER (0xC0000000 | 578)
+#define NT_STATUS_USER_MAPPED_FILE (0xC0000000 | 579)
+#define NT_STATUS_AUDIT_FAILED (0xC0000000 | 580)
+#define NT_STATUS_TIMER_RESOLUTION_NOT_SET (0xC0000000 | 581)
+#define NT_STATUS_CONNECTION_COUNT_LIMIT (0xC0000000 | 582)
+#define NT_STATUS_LOGIN_TIME_RESTRICTION (0xC0000000 | 583)
+#define NT_STATUS_LOGIN_WKSTA_RESTRICTION (0xC0000000 | 584)
+#define NT_STATUS_IMAGE_MP_UP_MISMATCH (0xC0000000 | 585)
+#define NT_STATUS_INSUFFICIENT_LOGON_INFO (0xC0000000 | 592)
+#define NT_STATUS_BAD_DLL_ENTRYPOINT (0xC0000000 | 593)
+#define NT_STATUS_BAD_SERVICE_ENTRYPOINT (0xC0000000 | 594)
+#define NT_STATUS_LPC_REPLY_LOST (0xC0000000 | 595)
+#define NT_STATUS_IP_ADDRESS_CONFLICT1 (0xC0000000 | 596)
+#define NT_STATUS_IP_ADDRESS_CONFLICT2 (0xC0000000 | 597)
+#define NT_STATUS_REGISTRY_QUOTA_LIMIT (0xC0000000 | 598)
+#define NT_STATUS_PATH_NOT_COVERED (0xC0000000 | 599)
+#define NT_STATUS_NO_CALLBACK_ACTIVE (0xC0000000 | 600)
+#define NT_STATUS_LICENSE_QUOTA_EXCEEDED (0xC0000000 | 601)
+#define NT_STATUS_PWD_TOO_SHORT (0xC0000000 | 602)
+#define NT_STATUS_PWD_TOO_RECENT (0xC0000000 | 603)
+#define NT_STATUS_PWD_HISTORY_CONFLICT (0xC0000000 | 604)
+#define NT_STATUS_PLUGPLAY_NO_DEVICE (0xC0000000 | 606)
+#define NT_STATUS_UNSUPPORTED_COMPRESSION (0xC0000000 | 607)
+#define NT_STATUS_INVALID_HW_PROFILE (0xC0000000 | 608)
+#define NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH (0xC0000000 | 609)
+#define NT_STATUS_DRIVER_ORDINAL_NOT_FOUND (0xC0000000 | 610)
+#define NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND (0xC0000000 | 611)
+#define NT_STATUS_RESOURCE_NOT_OWNED (0xC0000000 | 612)
+#define NT_STATUS_TOO_MANY_LINKS (0xC0000000 | 613)
+#define NT_STATUS_QUOTA_LIST_INCONSISTENT (0xC0000000 | 614)
+#define NT_STATUS_FILE_IS_OFFLINE (0xC0000000 | 615)
+#define NT_STATUS_NOTIFY_ENUM_DIR (0xC0000000 | 0x10C)
+#define NT_STATUS_NO_SUCH_JOB (0xC0000000 | 0xEDE) /* scheduler */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index ec786985d3..4d6a2f88b4 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1283,6 +1283,10 @@ char *lp_domain_admin_users(void);
char *lp_domain_guest_users(void);
char *lp_nt_forms(void);
char *lp_nt_drivers_file(void);
+char *lp_winbind_uid(void);
+char *lp_winbind_gid(void);
+char *lp_template_homedir(void);
+char *lp_template_shell(void);
char *lp_ldap_server(void);
char *lp_ldap_suffix(void);
char *lp_ldap_filter(void);
@@ -1460,6 +1464,7 @@ int lp_printing(int );
int lp_oplock_contention_limit(int );
int lp_write_cache_size(int );
char lp_magicchar(int );
+int lp_winbind_cache_time(void);
BOOL lp_add_home(char *pszHomename, int iDefaultService, char *pszHomedir);
int lp_add_service(char *pszService, int iDefaultService);
BOOL lp_add_printer(char *pszPrintername, int iDefaultService);
diff --git a/source3/include/rpc_secdes.h b/source3/include/rpc_secdes.h
index 791441173c..05fca99903 100644
--- a/source3/include/rpc_secdes.h
+++ b/source3/include/rpc_secdes.h
@@ -37,6 +37,7 @@
#define SEC_RIGHTS_READ 0x00020019
#define SEC_RIGHTS_FULL_CONTROL 0x000f003f
+#define SEC_RIGHTS_MAXIMUM_ALLOWED 0x02000000
#define SEC_ACE_TYPE_ACCESS_ALLOWED 0x0
@@ -99,13 +100,17 @@ typedef struct security_ace_info
} SEC_ACE;
+
+#define MAX_SEC_ACES 16
+
/* SEC_ACL */
typedef struct security_acl_info
{
uint16 revision; /* 0x0002 */
uint16 size; /* size in bytes of the entire ACL structure */
uint32 num_aces; /* number of Access Control Entries */
- SEC_ACE *ace_list;
+
+ SEC_ACE *ace;
} SEC_ACL;
diff --git a/source3/include/sids.h b/source3/include/sids.h
new file mode 100644
index 0000000000..faf311937a
--- /dev/null
+++ b/source3/include/sids.h
@@ -0,0 +1,39 @@
+/*
+ Unix SMB/Netbios implementation.
+ Version 1.9.
+ SMB parameters and setup
+ Copyright (C) Andrew Tridgell 1992-2000
+ Copyright (C) Luke Kenneth Casson Leighton 1996-2000
+ Copyright (C) Elrond 2000
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef _SIDS_H
+#define _SIDS_H
+
+extern DOM_SID global_sam_sid;
+extern fstring global_sam_name;
+
+extern DOM_SID global_member_sid;
+
+extern DOM_SID global_sid_S_1_5_32; /* local well-known domain */
+extern DOM_SID global_sid_S_1_1; /* Global Domain */
+
+extern const DOM_SID *global_sid_everyone;
+extern const DOM_SID *global_sid_system; /* SYSTEM */
+extern const DOM_SID *global_sid_builtin;
+
+#endif /* _SIDS_H */
diff --git a/source3/libsmb/clierror.c b/source3/libsmb/clierror.c
index e09064bf0f..78a7c9d451 100644
--- a/source3/libsmb/clierror.c
+++ b/source3/libsmb/clierror.c
@@ -163,7 +163,7 @@ int cli_error(struct cli_state *cli, uint8 *eclass, uint32 *num, uint32 *nt_rpc_
DEBUG(10,("cli_error: 32 bit codes: code=%08x\n", nt_err));
if (!IS_BITS_SET_ALL(nt_err, 0xc0000000)) return 0;
- switch (nt_err & 0xFFFFFF) {
+ switch (nt_err) {
case NT_STATUS_ACCESS_VIOLATION: return EACCES;
case NT_STATUS_NO_SUCH_FILE: return ENOENT;
case NT_STATUS_NO_SUCH_DEVICE: return ENODEV;
diff --git a/source3/libsmb/nterr.c b/source3/libsmb/nterr.c
index ef3fb4b8ba..3f19a66941 100644
--- a/source3/libsmb/nterr.c
+++ b/source3/libsmb/nterr.c
@@ -526,11 +526,9 @@ char *get_nt_error_msg(uint32 nt_code)
pstrcpy(msg, "Unknown NT error");
- nt_code &= 0xFFFF;
-
while (nt_errs[idx].nt_errstr != NULL)
{
- if (nt_errs[idx].nt_errcode == nt_code)
+ if ((nt_errs[idx].nt_errcode & 0xFFFFFF) == (nt_code & 0xFFFFFF))
{
pstrcpy(msg, nt_errs[idx].nt_errstr);
return msg;
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index b59a626fff..af78af756e 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -656,8 +656,7 @@ static void usage(char *pname)
TimeInit();
- pstrcpy( debugf, NMBLOGFILE );
-
+ slprintf(debugf, sizeof(debugf), "%s/log.nmbd", LOGFILEBASE);
setup_logging( argv[0], False );
charset_initialise();
diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c
index 33150d1a62..f909480167 100644
--- a/source3/nsswitch/winbindd_util.c
+++ b/source3/nsswitch/winbindd_util.c
@@ -22,7 +22,6 @@
*/
#include "winbindd.h"
-#include "sids.h"
BOOL domain_handles_open(struct winbindd_domain *domain)
{
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 04bf6522bf..1945dcffb2 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -1087,7 +1087,7 @@ static void init_globals(void)
Globals.bAllowTrustedDomains = True;
string_set(&Globals.szTemplateShell, "/bin/false");
- string_set(&Globals.szTemplateHomedir, "/home/%U");
+ string_set(&Globals.szTemplateHomedir, "/home/%D/%U");
Globals.winbind_cache_time = 15;
/*
@@ -1279,6 +1279,10 @@ FN_GLOBAL_STRING(lp_nt_forms,&Globals.szNtForms)
FN_GLOBAL_STRING(lp_nt_drivers_file,&Globals.szNtDriverFile)
#ifdef WITH_LDAP
+FN_GLOBAL_STRING(lp_winbind_uid,&Globals.szWinbindUID)
+FN_GLOBAL_STRING(lp_winbind_gid,&Globals.szWinbindGID)
+FN_GLOBAL_STRING(lp_template_homedir,&Globals.szTemplateHomedir)
+FN_GLOBAL_STRING(lp_template_shell,&Globals.szTemplateShell)
FN_GLOBAL_STRING(lp_ldap_server,&Globals.szLdapServer);
FN_GLOBAL_STRING(lp_ldap_suffix,&Globals.szLdapSuffix);
FN_GLOBAL_STRING(lp_ldap_filter,&Globals.szLdapFilter);
@@ -1478,6 +1482,7 @@ FN_LOCAL_INTEGER(lp_write_cache_size,iWriteCacheSize)
FN_LOCAL_CHAR(lp_magicchar,magic_char)
+FN_GLOBAL_INTEGER(lp_winbind_cache_time, &Globals.winbind_cache_time)
/* local prototypes */
static int strwicmp( char *psz1, char *psz2 );
diff --git a/source3/rpc_parse/parse_sec.c b/source3/rpc_parse/parse_sec.c
index 541949e51e..5d4b56d745 100644
--- a/source3/rpc_parse/parse_sec.c
+++ b/source3/rpc_parse/parse_sec.c
@@ -137,13 +137,13 @@ SEC_ACL *make_sec_acl(uint16 revision, int num_aces, SEC_ACE *ace_list)
dst->num_aces = num_aces;
dst->size = 8;
- if((dst->ace_list = (SEC_ACE *)malloc( sizeof(SEC_ACE) * num_aces )) == NULL) {
+ if((dst->ace = (SEC_ACE *)malloc( sizeof(SEC_ACE) * num_aces )) == NULL) {
free_sec_acl(&dst);
return NULL;
}
for (i = 0; i < num_aces; i++) {
- dst->ace_list[i] = ace_list[i]; /* Structure copy. */
+ dst->ace[i] = ace_list[i]; /* Structure copy. */
dst->size += ace_list[i].size;
}
@@ -159,7 +159,7 @@ SEC_ACL *dup_sec_acl( SEC_ACL *src)
if(src == NULL)
return NULL;
- return make_sec_acl( src->revision, src->num_aces, src->ace_list);
+ return make_sec_acl( src->revision, src->num_aces, src->ace);
}
/*******************************************************************
@@ -174,8 +174,8 @@ void free_sec_acl(SEC_ACL **ppsa)
return;
psa = *ppsa;
- if (psa->ace_list != NULL)
- free(psa->ace_list);
+ if (psa->ace != NULL)
+ free(psa->ace);
free(psa);
*ppsa = NULL;
@@ -229,15 +229,15 @@ BOOL sec_io_acl(char *desc, SEC_ACL **ppsa, prs_struct *ps, int depth)
if (UNMARSHALLING(ps) && psa->num_aces != 0) {
/* reading */
- if((psa->ace_list = malloc(sizeof(psa->ace_list[0]) * psa->num_aces)) == NULL)
+ if((psa->ace = malloc(sizeof(psa->ace[0]) * psa->num_aces)) == NULL)
return False;
- ZERO_STRUCTP(psa->ace_list);
+ ZERO_STRUCTP(psa->ace);
}
for (i = 0; i < psa->num_aces; i++) {
fstring tmp;
slprintf(tmp, sizeof(tmp)-1, "ace_list[%02d]: ", i);
- if(!sec_io_ace(tmp, &psa->ace_list[i], ps, depth))
+ if(!sec_io_ace(tmp, &psa->ace[i], ps, depth))
return False;
}
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 7938b00ddc..54c6ddc5bd 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -621,8 +621,9 @@ static void usage(char *pname)
TimeInit();
- if(!specified_logfile)
- pstrcpy(debugf,SMBLOGFILE);
+ if(!specified_logfile) {
+ slprintf(debugf, sizeof(debugf), "%s/log.smbd", LOGFILEBASE);
+ }
pstrcpy(remote_machine, "smb");