Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#include <u.h>
#include <libc.h>

/*
 * some lines commented 4APE have been changed to
 * make them the same as plan9 error messages.  This is not
 * a problem for native programs but those built on APE
 * will give unhelpful errors if this is not done
 */

static struct {
        char    *msg;
        int     err;
} NTerrs[] = {
        { "success",                                    0x0 },
        { "wait 1",                                     0x1 },
        { "wait 2",                                     0x2 },
        { "wait 3",                                     0x3 },
        { "wait 63",                                    0x3f },
        { "abandoned",                                  0x80 },
        { "abandoned wait 63",                          0xbf },
        { "user apc",                                   0xc0 },
        { "kernel apc",                                 0x100 },
        { "alerted",                                    0x101 },
        { "timeout",                                    0x102 },
        { "pending",                                    0x103 },
        { "reparse",                                    0x104 },
        { "more entries",                               0x105 },
        { "not all assigned",                           0x106 },
        { "some not mapped",                            0x107 },
        { "oplock break in progress",                   0x108 },
        { "volume mounted",                             0x109 },
        { "rxact committed",                            0x10a },
        { "notify cleanup",                             0x10b },
        { "notify enum dir",                            0x10c },
        { "no quotas for account",                      0x10d },
        { "primary transport connect failed",           0x10e },
        { "page fault transition",                      0x110 },
        { "page fault demand zero",                     0x111 },
        { "page fault copy on write",                   0x112 },
        { "page fault guard page",                      0x113 },
        { "page fault paging file",                     0x114 },
        { "cache page locked",                          0x115 },
        { "crash dump",                                 0x116 },
        { "buffer all zeros",                           0x117 },
        { "reparse object",                             0x118 },
        { "resource requirements changed",              0x119 },
        { "translation complete",                       0x120 },
        { "ds membership evaluated locally",            0x121 },
        { "nothing to terminate",                       0x122 },
        { "process not in job",                         0x123 },
        { "process in job",                             0x124 },
        { "wait for oplock",                            0x367 },
        { "object name exists",                         0x40000000 },
        { "thread was suspended",                       0x40000001 },
        { "working set limit range",                    0x40000002 },
        { "image not at base",                          0x40000003 },
        { "rxact state created",                        0x40000004 },
        { "segment notification",                       0x40000005 },
        { "local user session key",                     0x40000006 },
        { "bad current directory",                      0x40000007 },
        { "serial more writes",                         0x40000008 },
        { "registry recovered",                         0x40000009 },
        { "ft read recovery from backup",               0x4000000a },
        { "ft write recovery",                          0x4000000b },
        { "serial counter timeout",                     0x4000000c },
        { "null LM password",                           0x4000000d },
        { "image machine type mismatch",                0x4000000e },
        { "receive partial",                            0x4000000f },
        { "receive expedited",                          0x40000010 },
        { "receive partial expedited",                  0x40000011 },
        { "event done",                                 0x40000012 },
        { "event pending",                              0x40000013 },
        { "checking file system",                       0x40000014 },
        { "fatal app exit",                             0x40000015 },
        { "predefined handle",                          0x40000016 },
        { "was unlocked",                               0x40000017 },
        { "service notification",                       0x40000018 },
        { "was locked",                                 0x40000019 },
        { "log hard error",                             0x4000001a },
        { "already win32",                              0x4000001b },
        { "wx86 unsimulate",                            0x4000001c },
        { "wx86 continue",                              0x4000001d },
        { "wx86 single step",                           0x4000001e },
        { "wx86 breakpoint",                            0x4000001f },
        { "wx86 exception continue",                    0x40000020 },
        { "wx86 exception lastchance",                  0x40000021 },
        { "wx86 exception chain",                       0x40000022 },
        { "image machine type mismatch exe",            0x40000023 },
        { "no yield performed",                         0x40000024 },
        { "timer resume ignored",                       0x40000025 },
        { "arbitration unhandled",                      0x40000026 },
        { "cardbus not supported",                      0x40000027 },
        { "wx86 createwx86tib",                         0x40000028 },
        { "MP processor mismatch",                      0x40000029 },
        { "hibernated",                                 0x4000002a },
        { "resume hibernation",                         0x4000002b },
        { "wake system",                                0x40000294 },
        { "ds shutting down",                           0x40000370 },
        { "CTX cdm connect",                            0x400a0004 },
        { "CTX cdm disconnect",                         0x400a0005 },
        { "SXS release activation context",             0x4015000d },
        { "guard page violation",                       0x80000001 },
        { "datatype misalignment",                      0x80000002 },
        { "breakpoint",                                 0x80000003 },
        { "single step",                                0x80000004 },
        { "buffer overflow",                            0x80000005 },
        { "no more files",                              0x80000006 },
        { "wake system debugger",                       0x80000007 },
        { "handles closed",                             0x8000000a },
        { "no inheritance",                             0x8000000b },
        { "GUID substitution made",                     0x8000000c },
        { "partial copy",                               0x8000000d },
        { "device paper empty",                         0x8000000e },
        { "device powered off",                         0x8000000f },
        { "device off line",                            0x80000010 },
        { "device busy",                                0x80000011 },
        { "no more EAs",                                0x80000012 },
        { "invalid EA name",                            0x80000013 },
        { "ea list inconsistent",                       0x80000014 },
        { "invalid ea flag",                            0x80000015 },
        { "verify required",                            0x80000016 },
        { "extraneous information",                     0x80000017 },
        { "rxact commit necessary",                     0x80000018 },
        { "no more entries",                            0x8000001a },
        { "filemark detected",                          0x8000001b },
        { "media changed",                              0x8000001c },
        { "bus reset",                                  0x8000001d },
        { "end of media",                               0x8000001e },
        { "beginning of media",                         0x8000001f },
        { "media check",                                0x80000020 },
        { "setmark detected",                           0x80000021 },
        { "no data detected",                           0x80000022 },
        { "redirector has open handles",                0x80000023 },
        { "server has open handles",                    0x80000024 },
        { "already disconnected",                       0x80000025 },
        { "longjump",                                   0x80000026 },
        { "cleaner cartridge installed",                0x80000027 },
        { "plugplay query vetoed",                      0x80000028 },
        { "unwind consolidate",                         0x80000029 },
        { "device requires cleaning",                   0x80000288 },
        { "device door open",                           0x80000289 },
        { "cluster node already up",                    0x80130001 },
        { "cluster node already down",                  0x80130002 },
        { "cluster network already online",             0x80130003 },
        { "cluster network already offline",            0x80130004 },
        { "cluster node already member",                0x80130005 },
        { "unsuccessful",                               0xc0000001 },
        { "not implemented",                            0xc0000002 },
        { "invalid info class",                         0xc0000003 },
        { "info length mismatch",                       0xc0000004 },
        { "access violation",                           0xc0000005 },
        { "in page error",                              0xc0000006 },
        { "pagefile quota",                             0xc0000007 },
        { "invalid handle",                             0xc0000008 },
        { "bad initial stack",                          0xc0000009 },
        { "bad initial PC",                             0xc000000a },
        { "invalid CID",                                0xc000000b },
        { "timer not canceled",                         0xc000000c },
        { "invalid parameter",                          0xc000000d },
        { "no such device",                             0xc000000e },
        { "no such file",                               0xc000000f },
        { "invalid device request",                     0xc0000010 },
        { "end of file",                                0xc0000011 },
        { "wrong volume",                               0xc0000012 },
        { "no media in device",                         0xc0000013 },
        { "unrecognized media",                         0xc0000014 },
        { "nonexistent sector",                         0xc0000015 },
        { "more processing required",                   0xc0000016 },
        { "no memory",                                  0xc0000017 },
        { "conflicting addresses",                      0xc0000018 },
        { "not mapped view",                            0xc0000019 },
        { "unable to free VM",                          0xc000001a },
        { "unable to delete section",                   0xc000001b },
        { "invalid system service",                     0xc000001c },
        { "illegal instruction",                        0xc000001d },
        { "invalid lock sequence",                      0xc000001e },
        { "invalid view size",                          0xc000001f },
        { "invalid file for section",                   0xc0000020 },
        { "already committed",                          0xc0000021 },
        { "permission denied",                          0xc0000022 },
//4APE  { "access denied",                              0xc0000022 },
        { "buffer too small",                           0xc0000023 },
        { "object type mismatch",                       0xc0000024 },
        { "noncontinuable exception",                   0xc0000025 },
        { "invalid disposition",                        0xc0000026 },
        { "unwind",                                     0xc0000027 },
        { "bad stack",                                  0xc0000028 },
        { "invalid unwind target",                      0xc0000029 },
        { "not locked",                                 0xc000002a },
        { "parity error",                               0xc000002b },
        { "unable to decommit VM",                      0xc000002c },
        { "not committed",                              0xc000002d },
        { "invalid port attributes",                    0xc000002e },
        { "port message too long",                      0xc000002f },
        { "invalid parameter mix",                      0xc0000030 },
        { "invalid quota lower",                        0xc0000031 },
        { "disk corrupt error",                         0xc0000032 },
        { "file name syntax",                           0xc0000033 },
//4APE  { "object name invalid",                        0xc0000033 },
        { "does not exist",                             0xc0000034 },
//4APE  { "object name not found",                      0xc0000034 },
        { "create -- file exists",                      0xc0000035 },
//4APE  { "object name collision",                      0xc0000035 },
        { "port disconnected",                          0xc0000037 },
        { "device already attached",                    0xc0000038 },
        { "does not exist",                             0xc0000039 },
//4APE  { "object path invalid",                        0xc0000039 },
        { "does not exist",                             0xc000003a },
//4APE  { "object path not found",                      0xc000003a },
        { "file name syntax",                           0xc000003b },
//4APE  { "object path syntax bad",                     0xc000003b },
        { "data overrun",                               0xc000003c },
        { "data late error",                            0xc000003d },
        { "data error",                                 0xc000003e },
        { "crc error",                                  0xc000003f },
        { "section too big",                            0xc0000040 },
        { "port connection refused",                    0xc0000041 },
        { "invalid port handle",                        0xc0000042 },
        { "sharing violation",                          0xc0000043 },
        { "quota exceeded",                             0xc0000044 },
        { "invalid page protection",                    0xc0000045 },
        { "mutant not owned",                           0xc0000046 },
        { "semaphore limit exceeded",                   0xc0000047 },
        { "port already set",                           0xc0000048 },
        { "section not image",                          0xc0000049 },
        { "suspend count exceeded",                     0xc000004a },
        { "thread is terminating",                      0xc000004b },
        { "bad working set limit",                      0xc000004c },
        { "incompatible file map",                      0xc000004d },
        { "section protection",                         0xc000004e },
        { "EAs not supported",                          0xc000004f },
        { "EA too large",                               0xc0000050 },
        { "nonexistent ea entry",                       0xc0000051 },
        { "no EAs on file",                             0xc0000052 },
        { "EA corrupt error",                           0xc0000053 },
        { "file lock conflict",                         0xc0000054 },
        { "lock not granted",                           0xc0000055 },
        { "delete pending",                             0xc0000056 },
        { "ctl file not supported",                     0xc0000057 },
        { "unknown revision",                           0xc0000058 },
        { "revision mismatch",                          0xc0000059 },
        { "invalid owner",                              0xc000005a },
        { "invalid primary group",                      0xc000005b },
        { "no impersonation token",                     0xc000005c },
        { "cant disable mandatory",                     0xc000005d },
        { "no logon servers",                           0xc000005e },
        { "no such logon session",                      0xc000005f },
        { "no such privilege",                          0xc0000060 },
        { "privilege not held",                         0xc0000061 },
        { "invalid account name",                       0xc0000062 },
        { "user exists",                                0xc0000063 },
        { "no such user",                               0xc0000064 },
        { "group exists",                               0xc0000065 },
        { "no such group",                              0xc0000066 },
        { "member in group",                            0xc0000067 },
        { "member not in group",                        0xc0000068 },
        { "last admin",                                 0xc0000069 },
        { "wrong password",                             0xc000006a },
        { "ill-formed password",                        0xc000006b },
        { "password restriction",                       0xc000006c },
        { "logon failure",                              0xc000006d },
        { "account restriction",                        0xc000006e },
        { "invalid logon hours",                        0xc000006f },
        { "invalid workstation",                        0xc0000070 },
        { "password expired",                           0xc0000071 },
        { "account disabled",                           0xc0000072 },
        { "none mapped",                                0xc0000073 },
        { "too many luids requested",                   0xc0000074 },
        { "luids exhausted",                            0xc0000075 },
        { "invalid sub authority",                      0xc0000076 },
        { "invalid ACL",                                0xc0000077 },
        { "invalid SID",                                0xc0000078 },
        { "invalid security descr",                     0xc0000079 },
        { "procedure not found",                        0xc000007a },
        { "invalid image format",                       0xc000007b },
        { "no token",                                   0xc000007c },
        { "bad inheritance ACL",                        0xc000007d },
        { "range not locked",                           0xc000007e },
        { "disk full",                                  0xc000007f },
        { "server disabled",                            0xc0000080 },
        { "server not disabled",                        0xc0000081 },
        { "too many guids requested",                   0xc0000082 },
        { "guids exhausted",                            0xc0000083 },
        { "invalid id authority",                       0xc0000084 },
        { "agents exhausted",                           0xc0000085 },
        { "invalid volume label",                       0xc0000086 },
        { "section not extended",                       0xc0000087 },
        { "not mapped data",                            0xc0000088 },
        { "resource data not found",                    0xc0000089 },
        { "resource type not found",                    0xc000008a },
        { "resource name not found",                    0xc000008b },
        { "array bounds exceeded",                      0xc000008c },
        { "float denormal operand",                     0xc000008d },
        { "float divide by zero",                       0xc000008e },
        { "float inexact result",                       0xc000008f },
        { "float invalid operation",                    0xc0000090 },
        { "float overflow",                             0xc0000091 },
        { "float stack check",                          0xc0000092 },
        { "float underflow",                            0xc0000093 },
        { "integer divide by zero",                     0xc0000094 },
        { "integer overflow",                           0xc0000095 },
        { "privileged instruction",                     0xc0000096 },
        { "too many paging files",                      0xc0000097 },
        { "file invalid",                               0xc0000098 },
        { "allotted space exceeded",                    0xc0000099 },
        { "insufficient resources",                     0xc000009a },
        { "dfs exit path found",                        0xc000009b },
        { "device data error",                          0xc000009c },
        { "device not connected",                       0xc000009d },
        { "device power failure",                       0xc000009e },
        { "free VM not at base",                        0xc000009f },
        { "memory not allocated",                       0xc00000a0 },
        { "working set quota",                          0xc00000a1 },
        { "media write protected",                      0xc00000a2 },
        { "device not ready",                           0xc00000a3 },
        { "invalid group attributes",                   0xc00000a4 },
        { "bad impersonation level",                    0xc00000a5 },
        { "cant open anonymous",                        0xc00000a6 },
        { "bad validation class",                       0xc00000a7 },
        { "bad token type",                             0xc00000a8 },
        { "bad master boot record",                     0xc00000a9 },
        { "instruction misalignment",                   0xc00000aa },
        { "instance not available",                     0xc00000ab },
        { "pipe not available",                         0xc00000ac },
        { "invalid pipe state",                         0xc00000ad },
        { "pipe busy",                                  0xc00000ae },
        { "illegal function",                           0xc00000af },
        { "pipe disconnected",                          0xc00000b0 },
        { "pipe closing",                               0xc00000b1 },
        { "pipe connected",                             0xc00000b2 },
        { "pipe listening",                             0xc00000b3 },
        { "invalid read mode",                          0xc00000b4 },
        { "IO timeout",                                 0xc00000b5 },
        { "file forced closed",                         0xc00000b6 },
        { "profiling not started",                      0xc00000b7 },
        { "profiling not stopped",                      0xc00000b8 },
        { "could not interpret",                        0xc00000b9 },
        { "file is a directory",                        0xc00000ba },
        { "not supported",                              0xc00000bb },
        { "remote not listening",                       0xc00000bc },
        { "duplicate name",                             0xc00000bd },
        { "bad network path",                           0xc00000be },
        { "network busy",                               0xc00000bf },
        { "device does not exist",                      0xc00000c0 },
        { "too many commands",                          0xc00000c1 },
        { "adapter hardware error",                     0xc00000c2 },
        { "invalid network response",                   0xc00000c3 },
        { "unexpected network error",                   0xc00000c4 },
        { "bad remote adapter",                         0xc00000c5 },
        { "print queue full",                           0xc00000c6 },
        { "no spool space",                             0xc00000c7 },
        { "print cancelled",                            0xc00000c8 },
        { "network name deleted",                       0xc00000c9 },
        { "network access denied",                      0xc00000ca },
        { "bad device type",                            0xc00000cb },
        { "bad network name",                           0xc00000cc },
        { "too many names",                             0xc00000cd },
        { "too many sessions",                          0xc00000ce },
        { "sharing paused",                             0xc00000cf },
        { "request not accepted",                       0xc00000d0 },
        { "redirector paused",                          0xc00000d1 },
        { "net write fault",                            0xc00000d2 },
        { "profiling at limit",                         0xc00000d3 },
        { "not same device",                            0xc00000d4 },
        { "file renamed",                               0xc00000d5 },
        { "virtual circuit closed",                     0xc00000d6 },
        { "no security on object",                      0xc00000d7 },
        { "cant wait",                                  0xc00000d8 },
        { "pipe empty",                                 0xc00000d9 },
        { "cant access domain info",                    0xc00000da },
        { "cant terminate self",                        0xc00000db },
        { "invalid server state",                       0xc00000dc },
        { "invalid domain state",                       0xc00000dd },
        { "invalid domain role",                        0xc00000de },
        { "no such domain",                             0xc00000df },
        { "domain exists",                              0xc00000e0 },
        { "domain limit exceeded",                      0xc00000e1 },
        { "oplock not granted",                         0xc00000e2 },
        { "invalid oplock protocol",                    0xc00000e3 },
        { "internal DB corruption",                     0xc00000e4 },
        { "internal error",                             0xc00000e5 },
        { "generic not mapped",                         0xc00000e6 },
        { "bad descriptor format",                      0xc00000e7 },
        { "invalid user buffer",                        0xc00000e8 },
        { "unexpected io error",                        0xc00000e9 },
        { "unexpected MM create err",                   0xc00000ea },
        { "unexpected MM map error",                    0xc00000eb },
        { "unexpected MM extend err",                   0xc00000ec },
        { "not logon process",                          0xc00000ed },
        { "logon session exists",                       0xc00000ee },
        { "invalid parameter 1",                        0xc00000ef },
        { "invalid parameter 2",                        0xc00000f0 },
        { "invalid parameter 3",                        0xc00000f1 },
        { "invalid parameter 4",                        0xc00000f2 },
        { "invalid parameter 5",                        0xc00000f3 },
        { "invalid parameter 6",                        0xc00000f4 },
        { "invalid parameter 7",                        0xc00000f5 },
        { "invalid parameter 8",                        0xc00000f6 },
        { "invalid parameter 9",                        0xc00000f7 },
        { "invalid parameter 10",                       0xc00000f8 },
        { "invalid parameter 11",                       0xc00000f9 },
        { "invalid parameter 12",                       0xc00000fa },
        { "redirector not started",                     0xc00000fb },
        { "redirector started",                         0xc00000fc },
        { "stack overflow",                             0xc00000fd },
        { "no such package",                            0xc00000fe },
        { "bad function table",                         0xc00000ff },
        { "variable not found",                         0xc0000100 },
        { "directory not empty",                        0xc0000101 },
        { "file corrupt error",                         0xc0000102 },
        { "not a directory",                            0xc0000103 },
        { "bad logon session state",                    0xc0000104 },
        { "logon session collision",                    0xc0000105 },
        { "name too long",                              0xc0000106 },
        { "files open",                                 0xc0000107 },
        { "connection in use",                          0xc0000108 },
        { "message not found",                          0xc0000109 },
        { "process is terminating",                     0xc000010a },
        { "invalid logon type",                         0xc000010b },
        { "no guid translation",                        0xc000010c },
        { "cannot impersonate",                         0xc000010d },
        { "image already loaded",                       0xc000010e },
        { "abios not present",                          0xc000010f },
        { "abios lid not exist",                        0xc0000110 },
        { "abios lid already owned",                    0xc0000111 },
        { "abios not lid owner",                        0xc0000112 },
        { "abios invalid command",                      0xc0000113 },
        { "abios invalid lid",                          0xc0000114 },
        { "abios selector not available",               0xc0000115 },
        { "abios invalid selector",                     0xc0000116 },
        { "no LDT",                                     0xc0000117 },
        { "invalid LDT size",                           0xc0000118 },
        { "invalid LDT offset",                         0xc0000119 },
        { "invalid LDT descriptor",                     0xc000011a },
        { "invalid image NE format",                    0xc000011b },
        { "rxact invalid state",                        0xc000011c },
        { "rxact commit failure",                       0xc000011d },
        { "mapped file size zero",                      0xc000011e },
        { "too many opened files",                      0xc000011f },
        { "cancelled",                                  0xc0000120 },
        { "permission denied",                          0xc0000121 },
//      { "cannot delete",                              0xc0000121 },
        { "invalid computer name",                      0xc0000122 },
        { "file deleted",                               0xc0000123 },
        { "special account",                            0xc0000124 },
        { "special group",                              0xc0000125 },
        { "special user",                               0xc0000126 },
        { "members primary group",                      0xc0000127 },
        { "file closed",                                0xc0000128 },
        { "too many threads",                           0xc0000129 },
        { "thread not in process",                      0xc000012a },
        { "token already in use",                       0xc000012b },
        { "pagefile quota exceeded",                    0xc000012c },
        { "commitment limit",                           0xc000012d },
        { "invalid image le format",                    0xc000012e },
        { "invalid image not MZ",                       0xc000012f },
        { "invalid image protect",                      0xc0000130 },
        { "invalid image win 16",                       0xc0000131 },
        { "logon server conflict",                      0xc0000132 },
        { "time difference at DC",                      0xc0000133 },
        { "synchronization required",                   0xc0000134 },
        { "DLL not found",                              0xc0000135 },
        { "open failed",                                0xc0000136 },
        { "IO privilege failed",                        0xc0000137 },
        { "ordinal not found",                          0xc0000138 },
        { "entrypoint not found",                       0xc0000139 },
        { "control-C exit",                             0xc000013a },
        { "local disconnect",                           0xc000013b },
        { "remote disconnect",                          0xc000013c },
        { "remote resources",                           0xc000013d },
        { "link failed",                                0xc000013e },
        { "link timeout",                               0xc000013f },
        { "invalid connection",                         0xc0000140 },
        { "invalid address",                            0xc0000141 },
        { "DLL init failed",                            0xc0000142 },
        { "missing systemfile",                         0xc0000143 },
        { "unhandled exception",                        0xc0000144 },
        { "application init failure",                   0xc0000145 },
        { "pagefile create failed",                     0xc0000146 },
        { "no pagefile",                                0xc0000147 },
        { "invalid level",                              0xc0000148 },
        { "wrong password core",                        0xc0000149 },
        { "illegal float context",                      0xc000014a },
        { "pipe broken",                                0xc000014b },
        { "registry corrupt",                           0xc000014c },
        { "registry io failed",                         0xc000014d },
        { "no event pair",                              0xc000014e },
        { "unrecognized volume",                        0xc000014f },
        { "serial no device inited",                    0xc0000150 },
        { "no such alias",                              0xc0000151 },
        { "member not in alias",                        0xc0000152 },
        { "member in alias",                            0xc0000153 },
        { "alias exists",                               0xc0000154 },
        { "logon not granted",                          0xc0000155 },
        { "too many secrets",                           0xc0000156 },
        { "secret too long",                            0xc0000157 },
        { "internal db error",                          0xc0000158 },
        { "fullscreen mode",                            0xc0000159 },
        { "too many context IDs",                       0xc000015a },
        { "logon type not granted",                     0xc000015b },
        { "not registry file",                          0xc000015c },
        { "NT cross encryption required",               0xc000015d },
        { "domain ctrlr config error",                  0xc000015e },
        { "ft missing member",                          0xc000015f },
        { "ill formed service entry",                   0xc0000160 },
        { "illegal character",                          0xc0000161 },
        { "unmappable character",                       0xc0000162 },
        { "undefined character",                        0xc0000163 },
        { "floppy volume",                              0xc0000164 },
        { "floppy id mark not found",                   0xc0000165 },
        { "floppy wrong cylinder",                      0xc0000166 },
        { "floppy unknown error",                       0xc0000167 },
        { "floppy bad registers",                       0xc0000168 },
        { "disk recalibrate failed",                    0xc0000169 },
        { "disk operation failed",                      0xc000016a },
        { "disk reset failed",                          0xc000016b },
        { "shared IRQ busy",                            0xc000016c },
        { "FT orphaning",                               0xc000016d },
        { "BIOS failed to connect interrupt",           0xc000016e },
        { "partition failure",                          0xc0000172 },
        { "invalid block length",                       0xc0000173 },
        { "device not partitioned",                     0xc0000174 },
        { "unable to lock media",                       0xc0000175 },
        { "unable to unload media",                     0xc0000176 },
        { "eom overflow",                               0xc0000177 },
        { "no media",                                   0xc0000178 },
        { "no such member",                             0xc000017a },
        { "invalid member",                             0xc000017b },
        { "key deleted",                                0xc000017c },
        { "no log space",                               0xc000017d },
        { "too many SIDs",                              0xc000017e },
        { "LM cross encryption required",               0xc000017f },
        { "key has children",                           0xc0000180 },
        { "child must be volatile",                     0xc0000181 },
        { "device configuration error",                 0xc0000182 },
        { "driver internal error",                      0xc0000183 },
        { "invalid device state",                       0xc0000184 },
        { "io device error",                            0xc0000185 },
        { "device protocol error",                      0xc0000186 },
        { "backup controller",                          0xc0000187 },
        { "log file full",                              0xc0000188 },
        { "too late",                                   0xc0000189 },
        { "no trust LSA secret",                        0xc000018a },
        { "no trust SAM account",                       0xc000018b },
        { "trusted domain failure",                     0xc000018c },
        { "trusted relationship failure",               0xc000018d },
        { "eventlog file corrupt",                      0xc000018e },
        { "eventlog cant start",                        0xc000018f },
        { "trust failure",                              0xc0000190 },
        { "mutant limit exceeded",                      0xc0000191 },
        { "netlogon not started",                       0xc0000192 },
        { "account expired",                            0xc0000193 },
        { "possible deadlock",                          0xc0000194 },
        { "network credential conflict",                0xc0000195 },
        { "remote session limit",                       0xc0000196 },
        { "eventlog file changed",                      0xc0000197 },
        { "nologon interdomain trust account",          0xc0000198 },
        { "nologon workstation trust account",          0xc0000199 },
        { "nologon server trust account",               0xc000019a },
        { "domain trust inconsistent",                  0xc000019b },
        { "fs driver required",                         0xc000019c },
        { "no user session key",                        0xc0000202 },
        { "user session deleted",                       0xc0000203 },
        { "resource lang not found",                    0xc0000204 },
        { "insuff server resources",                    0xc0000205 },
        { "invalid buffer size",                        0xc0000206 },
        { "invalid address component",                  0xc0000207 },
        { "invalid address wildcard",                   0xc0000208 },
        { "too many addresses",                         0xc0000209 },
        { "address already exists",                     0xc000020a },
        { "address closed",                             0xc000020b },
        { "connection disconnected",                    0xc000020c },
        { "connection reset",                           0xc000020d },
        { "too many nodes",                             0xc000020e },
        { "transaction aborted",                        0xc000020f },
        { "transaction timed out",                      0xc0000210 },
        { "transaction no release",                     0xc0000211 },
        { "transaction no match",                       0xc0000212 },
        { "transaction responded",                      0xc0000213 },
        { "transaction invalid id",                     0xc0000214 },
        { "transaction invalid type",                   0xc0000215 },
        { "not server session",                         0xc0000216 },
        { "not client session",                         0xc0000217 },
        { "cannot load registry file",                  0xc0000218 },
        { "debug attach failed",                        0xc0000219 },
        { "system process terminated",                  0xc000021a },
        { "data not accepted",                          0xc000021b },
        { "no browser servers found",                   0xc000021c },
        { "VDM hard error",                             0xc000021d },
        { "driver cancel timeout",                      0xc000021e },
        { "reply message mismatch",                     0xc000021f },
        { "mapped alignment",                           0xc0000220 },
        { "image checksum mismatch",                    0xc0000221 },
        { "lost writebehind data",                      0xc0000222 },
        { "client server parameters invalid",           0xc0000223 },
        { "password must change",                       0xc0000224 },
        { "not found",                                  0xc0000225 },
        { "not tiny stream",                            0xc0000226 },
        { "recovery failure",                           0xc0000227 },
        { "stack overflow read",                        0xc0000228 },
        { "fail check",                                 0xc0000229 },
        { "duplicate objectid",                         0xc000022a },
        { "objectid exists",                            0xc000022b },
        { "convert to large",                           0xc000022c },
        { "retry",                                      0xc000022d },
        { "found out of scope",                         0xc000022e },
        { "allocate bucket",                            0xc000022f },
        { "propset not found",                          0xc0000230 },
        { "marshall overflow",                          0xc0000231 },
        { "invalid variant",                            0xc0000232 },
        { "domain controller not found",                0xc0000233 },
        { "account locked out",                         0xc0000234 },
        { "handle not closable",                        0xc0000235 },
        { "connection refused",                         0xc0000236 },
        { "graceful disconnect",                        0xc0000237 },
        { "address already associated",                 0xc0000238 },
        { "address not associated",                     0xc0000239 },
        { "connection invalid",                         0xc000023a },
        { "connection active",                          0xc000023b },
        { "network unreachable",                        0xc000023c },
        { "host unreachable",                           0xc000023d },
        { "protocol unreachable",                       0xc000023e },
        { "port unreachable",                           0xc000023f },
        { "request aborted",                            0xc0000240 },
        { "connection aborted",                         0xc0000241 },
        { "bad compression buffer",                     0xc0000242 },
        { "user mapped file",                           0xc0000243 },
        { "audit failed",                               0xc0000244 },
        { "timer resolution not set",                   0xc0000245 },
        { "connection count limit",                     0xc0000246 },
        { "login time restriction",                     0xc0000247 },
        { "login wkstation restriction",                0xc0000248 },
        { "image mp up mismatch",                       0xc0000249 },
        { "insufficient logon info",                    0xc0000250 },
        { "bad DLL entrypoint",                         0xc0000251 },
        { "bad service entrypoint",                     0xc0000252 },
        { "lpc reply lost",                             0xc0000253 },
        { "IP address conflict1",                       0xc0000254 },
        { "IP address conflict2",                       0xc0000255 },
        { "registry quota limit",                       0xc0000256 },
        { "path not covered",                           0xc0000257 },
        { "no callback active",                         0xc0000258 },
        { "license quota exceeded",                     0xc0000259 },
        { "password too short",                         0xc000025a },
        { "password too recent",                        0xc000025b },
        { "password history conflict",                  0xc000025c },
        { "plugplay no device",                         0xc000025e },
        { "unsupported compression",                    0xc000025f },
        { "invalid hw profile",                         0xc0000260 },
        { "invalid plugplay device path",               0xc0000261 },
        { "driver ordinal not found",                   0xc0000262 },
        { "driver entrypoint not found",                0xc0000263 },
        { "resource not owned",                         0xc0000264 },
        { "too many links",                             0xc0000265 },
        { "quota list inconsistent",                    0xc0000266 },
        { "file is offline",                            0xc0000267 },
        { "evaluation expiration",                      0xc0000268 },
        { "illegal DLL relocation",                     0xc0000269 },
        { "license violation",                          0xc000026a },
        { "DLL init failed logoff",                     0xc000026b },
        { "driver unable to load",                      0xc000026c },
        { "dfs unavailable",                            0xc000026d },
        { "volume dismounted",                          0xc000026e },
        { "wx86 internal error",                        0xc000026f },
        { "wx86 float stack check",                     0xc0000270 },
        { "validate continue",                          0xc0000271 },
        { "no match",                                   0xc0000272 },
        { "no more matches",                            0xc0000273 },
        { "not a reparse point",                        0xc0000275 },
        { "IO reparse tag invalid",                     0xc0000276 },
        { "IO reparse tag mismatch",                    0xc0000277 },
        { "IO reparse data invalid",                    0xc0000278 },
        { "IO reparse tag not handled",                 0xc0000279 },
        { "reparse point not resolved",                 0xc0000280 },
        { "directory is a reparse point",               0xc0000281 },
        { "range list conflict",                        0xc0000282 },
        { "source element empty",                       0xc0000283 },
        { "destination element full",                   0xc0000284 },
        { "illegal element address",                    0xc0000285 },
        { "magazine not present",                       0xc0000286 },
        { "reinitialization needed",                    0xc0000287 },
        { "encryption failed",                          0xc000028a },
        { "decryption failed",                          0xc000028b },
        { "range not found",                            0xc000028c },
        { "no recovery policy",                         0xc000028d },
        { "no EFS",                                     0xc000028e },
        { "wrong EFS",                                  0xc000028f },
        { "no user keys",                               0xc0000290 },
        { "file not encrypted",                         0xc0000291 },
        { "not export format",                          0xc0000292 },
        { "file encrypted",                             0xc0000293 },
        { "WMI guid not found",                         0xc0000295 },
        { "WMI instance not found",                     0xc0000296 },
        { "WMI itemid not found",                       0xc0000297 },
        { "WMI try again",                              0xc0000298 },
        { "shared policy",                              0xc0000299 },
        { "policy object not found",                    0xc000029a },
        { "policy only in DS",                          0xc000029b },
        { "volume not upgraded",                        0xc000029c },
        { "remote storage not active",                  0xc000029d },
        { "remote storage media error",                 0xc000029e },
        { "no tracking service",                        0xc000029f },
        { "server SID mismatch",                        0xc00002a0 },
        { "DS no attribute or value",                   0xc00002a1 },
        { "DS invalid attribute syntax",                0xc00002a2 },
        { "DS attribute type undefined",                0xc00002a3 },
        { "DS attribute or value exists",               0xc00002a4 },
        { "DS busy",                                    0xc00002a5 },
        { "DS unavailable",                             0xc00002a6 },
        { "DS no RIDs allocated",                       0xc00002a7 },
        { "DS no more RIDs",                            0xc00002a8 },
        { "DS incorrect role owner",                    0xc00002a9 },
        { "DS ridmgr init error",                       0xc00002aa },
        { "DS obj class violation",                     0xc00002ab },
        { "DS cant on non leaf",                        0xc00002ac },
        { "DS cant on RDN",                             0xc00002ad },
        { "DS cant mod obj class",                      0xc00002ae },
        { "DS cross dom move failed",                   0xc00002af },
        { "DS GC not available",                        0xc00002b0 },
        { "directory service required",                 0xc00002b1 },
        { "reparse attribute conflict",                 0xc00002b2 },
        { "cant enable deny only",                      0xc00002b3 },
        { "float multiple faults",                      0xc00002b4 },
        { "float multiple traps",                       0xc00002b5 },
        { "device removed",                             0xc00002b6 },
        { "journal delete in progress",                 0xc00002b7 },
        { "journal not active",                         0xc00002b8 },
        { "nointerface",                                0xc00002b9 },
        { "DS admin limit exceeded",                    0xc00002c1 },
        { "driver failed sleep",                        0xc00002c2 },
        { "mutual authentication failed",               0xc00002c3 },
        { "corrupt system file",                        0xc00002c4 },
        { "datatype misalignment error",                0xc00002c5 },
        { "WMI read only",                              0xc00002c6 },
        { "WMI set failure",                            0xc00002c7 },
        { "commitment minimum",                         0xc00002c8 },
        { "reg NAT consumption",                        0xc00002c9 },
        { "transport full",                             0xc00002ca },
        { "DS SAM init failure",                        0xc00002cb },
        { "only if connected",                          0xc00002cc },
        { "DS sensitive group violation",               0xc00002cd },
        { "PNP restart enumeration",                    0xc00002ce },
        { "journal entry deleted",                      0xc00002cf },
        { "DS cant mod primarygroupid",                 0xc00002d0 },
        { "system image bad signature",                 0xc00002d1 },
        { "PNP reboot required",                        0xc00002d2 },
        { "power state invalid",                        0xc00002d3 },
        { "DS invalid group type",                      0xc00002d4 },
        { "DS no nest globalgroup in mixeddomain",      0xc00002d5 },
        { "DS no nest localgroup in mixeddomain",       0xc00002d6 },
        { "DS global can't have local member",          0xc00002d7 },
        { "DS global can't have universal member",      0xc00002d8 },
        { "DS universal can't have local member",       0xc00002d9 },
        { "DS global can't have crossdomain member",    0xc00002da },
        { "DS local can't have crossdomain local member",0xc00002db },
        { "DS have primary members",                    0xc00002dc },
        { "WMI not supported",                          0xc00002dd },
        { "insufficient power",                         0xc00002de },
        { "SAM need bootkey password",                  0xc00002df },
        { "SAM need bootkey floppy",                    0xc00002e0 },
        { "DS cant start",                              0xc00002e1 },
        { "DS init failure",                            0xc00002e2 },
        { "SAM init failure",                           0xc00002e3 },
        { "DS gc required",                             0xc00002e4 },
        { "DS local member of local only",              0xc00002e5 },
        { "DS no FPO in universal groups",              0xc00002e6 },
        { "DS machine account quota exceeded",          0xc00002e7 },
        { "multiple fault violation",                   0xc00002e8 },
        { "current domain not allowed",                 0xc00002e9 },
        { "cannot make",                                0xc00002ea },
        { "system shutdown",                            0xc00002eb },
        { "DS init failure console",                    0xc00002ec },
        { "DS sam init failure console",                0xc00002ed },
        { "unfinished context deleted",                 0xc00002ee },
        { "no TGT reply",                               0xc00002ef },
        { "objectid not found",                         0xc00002f0 },
        { "no IP addresses",                            0xc00002f1 },
        { "wrong credential handle",                    0xc00002f2 },
        { "crypto system invalid",                      0xc00002f3 },
        { "max referrals exceeded",                     0xc00002f4 },
        { "must be kdc",                                0xc00002f5 },
        { "strong crypto not supported",                0xc00002f6 },
        { "too many principals",                        0xc00002f7 },
        { "no PA data",                                 0xc00002f8 },
        { "pkinit name mismatch",                       0xc00002f9 },
        { "smartcard logon required",                   0xc00002fa },
        { "KDC invalid request",                        0xc00002fb },
        { "KDC unable to refer",                        0xc00002fc },
        { "KDC unknown etype",                          0xc00002fd },
        { "shutdown in progress",                       0xc00002fe },
        { "server shutdown in progress",                0xc00002ff },
        { "not supported on sbs",                       0xc0000300 },
        { "WMI GUID disconnected",                      0xc0000301 },
        { "WMI already disabled",                       0xc0000302 },
        { "WMI already enabled",                        0xc0000303 },
        { "mft too fragmented",                         0xc0000304 },
        { "copy protection failure",                    0xc0000305 },
        { "CSS authentication failure",                 0xc0000306 },
        { "CSS key not present",                        0xc0000307 },
        { "CSS key not established",                    0xc0000308 },
        { "CSS scrambled sector",                       0xc0000309 },
        { "CSS region mismatch",                        0xc000030a },
        { "CSS resets exhausted",                       0xc000030b },
        { "pkinit failure",                             0xc0000320 },
        { "smartcard subsystem failure",                0xc0000321 },
        { "no kerb key",                                0xc0000322 },
        { "host down",                                  0xc0000350 },
        { "unsupported preauth",                        0xc0000351 },
        { "EFS alg blob too big",                       0xc0000352 },
        { "port not set",                               0xc0000353 },
        { "debugger inactive",                          0xc0000354 },
        { "ds version check failure",                   0xc0000355 },
        { "auditing disabled",                          0xc0000356 },
        { "prent4 machine account",                     0xc0000357 },
        { "DS AG can't have universal member",          0xc0000358 },
        { "invalid image Win 32",                       0xc0000359 },
        { "invalid image Win 64",                       0xc000035a },
        { "bad bindings",                               0xc000035b },
        { "network session expired",                    0xc000035c },
        { "apphelp block",                              0xc000035d },
        { "all SIDs filtered",                          0xc000035e },
        { "not safe mode driver",                       0xc000035f },
        { "access disabled by policy default",          0xc0000361 },
        { "access disabled by policy path",             0xc0000362 },
        { "access disabled by policy publisher",        0xc0000363 },
        { "access disabled by policy other",            0xc0000364 },
        { "failed driver entry",                        0xc0000365 },
        { "device enumeration error",                   0xc0000366 },
        { "mount point not resolved",                   0xc0000368 },
        { "invalid device object parameter",            0xc0000369 },
        { "mca occured",                                0xc000036a },
        { "driver blocked critical",                    0xc000036b },
        { "driver blocked",                             0xc000036c },
        { "driver database error",                      0xc000036d },
        { "system hive too large",                      0xc000036e },
        { "invalid import of non DLL",                  0xc000036f },
        { "smartcard wrong pin",                        0xc0000380 },
        { "smartcard card blocked",                     0xc0000381 },
        { "smartcard card not authenticated",           0xc0000382 },
        { "smartcard no card",                          0xc0000383 },
        { "smartcard no key container",                 0xc0000384 },
        { "smartcard no certificate",                   0xc0000385 },
        { "smartcard no keyset",                        0xc0000386 },
        { "smartcard io error",                         0xc0000387 },
        { "downgrade detected",                         0xc0000388 },
        { "smartcard cert revoked",                     0xc0000389 },
        { "issuing CA untrusted",                       0xc000038a },
        { "revocation offline c",                       0xc000038b },
        { "pkinit client failure",                      0xc000038c },
        { "smartcard cert expired",                     0xc000038d },
        { "driver failed prior unload",                 0xc000038e },
        { "wow assertion",                              0xc0009898 },
        { "PNP bad MPS table",                          0xc0040035 },
        { "PNP translation failed",                     0xc0040036 },
        { "PNP IRQ translation failed",                 0xc0040037 },
        { "CTX winstation name invalid",                0xc00a0001 },
        { "CTX invalid PD",                             0xc00a0002 },
        { "CTX PD not found",                           0xc00a0003 },
        { "CTX close pending",                          0xc00a0006 },
        { "CTX no outbuf",                              0xc00a0007 },
        { "CTX modem inf not found",                    0xc00a0008 },
        { "CTX invalid modemname",                      0xc00a0009 },
        { "CTX response error",                         0xc00a000a },
        { "CTX modem response timeout",                 0xc00a000b },
        { "CTX modem response no carrier",              0xc00a000c },
        { "CTX modem response no dialtone",             0xc00a000d },
        { "CTX modem response busy",                    0xc00a000e },
        { "CTX modem response voice",                   0xc00a000f },
        { "CTX TD error",                               0xc00a0010 },
        { "CTX license client invalid",                 0xc00a0012 },
        { "CTX license not available",                  0xc00a0013 },
        { "CTX license expired",                        0xc00a0014 },
        { "CTX winstation not found",                   0xc00a0015 },
        { "CTX winstation name collision",              0xc00a0016 },
        { "CTX winstation busy",                        0xc00a0017 },
        { "CTX bad video mode",                         0xc00a0018 },
        { "CTX graphics invalid",                       0xc00a0022 },
        { "CTX not console",                            0xc00a0024 },
        { "CTX client query timeout",                   0xc00a0026 },
        { "CTX console disconnect",                     0xc00a0027 },
        { "CTX console connect",                        0xc00a0028 },
        { "CTX shadow denied",                          0xc00a002a },
        { "CTX winstation access denied",               0xc00a002b },
        { "CTX invalid wd",                             0xc00a002e },
        { "CTX WD not found",                           0xc00a002f },
        { "CTX shadow invalid",                         0xc00a0030 },
        { "CTX shadow disabled",                        0xc00a0031 },
        { "RDP protocol error",                         0xc00a0032 },
        { "CTX client license not set",                 0xc00a0033 },
        { "CTX client license in use",                  0xc00a0034 },
        { "CTX shadow ended by mode change",            0xc00a0035 },
        { "CTX shadow not running",                     0xc00a0036 },
        { "cluster invalid node",                       0xc0130001 },
        { "cluster node exists",                        0xc0130002 },
        { "cluster join in progress",                   0xc0130003 },
        { "cluster node not found",                     0xc0130004 },
        { "cluster local node not found",               0xc0130005 },
        { "cluster network exists",                     0xc0130006 },
        { "cluster network not found",                  0xc0130007 },
        { "cluster netinterface exists",                0xc0130008 },
        { "cluster netinterface not found",             0xc0130009 },
        { "cluster invalid request",                    0xc013000a },
        { "cluster invalid network provider",           0xc013000b },
        { "cluster node down",                          0xc013000c },
        { "cluster node unreachable",                   0xc013000d },
        { "cluster node not member",                    0xc013000e },
        { "cluster join not in progress",               0xc013000f },
        { "cluster invalid network",                    0xc0130010 },
        { "cluster no net adapters",                    0xc0130011 },
        { "cluster node up",                            0xc0130012 },
        { "cluster node paused",                        0xc0130013 },
        { "cluster node not paused",                    0xc0130014 },
        { "cluster no security context",                0xc0130015 },
        { "cluster network not internal",               0xc0130016 },
        { "cluster poisoned",                           0xc0130017 },
        { "ACPI invalid opcode",                        0xc0140001 },
        { "ACPI stack overflow",                        0xc0140002 },
        { "ACPI assert failed",                         0xc0140003 },
        { "ACPI invalid index",                         0xc0140004 },
        { "ACPI invalid argument",                      0xc0140005 },
        { "ACPI fatal",                                 0xc0140006 },
        { "ACPI invalid supername",                     0xc0140007 },
        { "ACPI invalid argtype",                       0xc0140008 },
        { "ACPI invalid objtype",                       0xc0140009 },
        { "ACPI invalid targettype",                    0xc014000a },
        { "ACPI incorrect argument count",              0xc014000b },
        { "ACPI address not mapped",                    0xc014000c },
        { "ACPI invalid eventtype",                     0xc014000d },
        { "ACPI handler collision",                     0xc014000e },
        { "ACPI invalid data",                          0xc014000f },
        { "ACPI invalid region",                        0xc0140010 },
        { "ACPI invalid access size",                   0xc0140011 },
        { "ACPI acquire global lock",                   0xc0140012 },
        { "ACPI already initialized",                   0xc0140013 },
        { "ACPI not initialized",                       0xc0140014 },
        { "ACPI invalid mutex level",                   0xc0140015 },
        { "ACPI mutex not owned",                       0xc0140016 },
        { "ACPI mutex not owner",                       0xc0140017 },
        { "ACPI rs access",                             0xc0140018 },
        { "ACPI invalid table",                         0xc0140019 },
        { "ACPI reg handler failed",                    0xc0140020 },
        { "ACPI power request failed",                  0xc0140021 },
        { "SXS section not found",                      0xc0150001 },
        { "SXS cant gen actctx",                        0xc0150002 },
        { "SXS invalid actctx data format",             0xc0150003 },
        { "SXS assembly not found",                     0xc0150004 },
        { "SXS manifest format error",                  0xc0150005 },
        { "SXS manifest parse error",                   0xc0150006 },
        { "SXS activation context disabled",            0xc0150007 },
        { "SXS key not found",                          0xc0150008 },
        { "SXS version conflict",                       0xc0150009 },
        { "SXS wrong section type",                     0xc015000a },
        { "SXS thread queries disabled",                0xc015000b },
        { "SXS assembly missing",                       0xc015000c },
        { "SXS process default already set",            0xc015000e },
        { "SXS early deactivation",                     0xc015000f },
        { "SXS invalid deactivation",                   0xc0150010 },
        { "SXS multiple deactivation",                  0xc0150011 },
        { "SXS system default activation context empty",0xc0150012 },
        { "SXS process termination requested",          0xc0150013 },
};

char *
nterrstr(uint err)
{
        int i, f, match;
        char *why, *facility, tmp[32];
        static char buf[0xff];

        f = (err >> 16) & 0x7ff;
        switch(f){
        case 0:
                facility = "";
                break;
        case 1:
                facility = " (hardware), ";
                break;
        case 2:
                facility = " (dispatch), ";
                break;
        case 3:
                facility = " (storage), ";
                break;
        case 4:
                facility = " (itf), ";
                break;
        case 7:
                facility = " (win32), ";
                break;
        case 8:
                facility = " (windows), ";
                break;
        case 0x0a:
                facility = " (control), ";
                break;
        default:
                snprint(tmp, sizeof(tmp), " (facility=%d), ", f);
                facility = tmp;
                break;
        }

        match = -1;
        for(i = 0; i < nelem(NTerrs); i++)
                if(NTerrs[i].err == err)
                        match = i;

        why = "";
        if(!(err & 0x80000000))
                why = "warning, ";

        if(match != -1)
                snprint(buf, sizeof buf, "%s%s%s", why, facility,
                        NTerrs[match].msg);
        else
                snprint(buf, sizeof buf, "%s%s%d/0x%ux - unknown NT error",
                        why, facility, err, err);
        return buf;
}