^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) // SPDX-License-Identifier: GPL-2.0-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * fs/cifs/netmisc.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright (c) International Business Machines Corp., 2002,2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Author(s): Steve French (sfrench@us.ibm.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * Error mapping routines from Samba libsmb/errormap.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) * Copyright (C) Andrew Tridgell 2001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #include <linux/net.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/string.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/in.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #include <linux/ctype.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #include <linux/fs.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #include <asm/div64.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #include <asm/byteorder.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #include <linux/inet.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #include "cifsfs.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #include "cifspdu.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #include "cifsglob.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #include "cifsproto.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #include "smberr.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #include "cifs_debug.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #include "nterr.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) struct smb_to_posix_error {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) __u16 smb_err;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) int posix_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) static const struct smb_to_posix_error mapping_table_ERRDOS[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) {ERRbadfunc, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) {ERRbadfile, -ENOENT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) {ERRbadpath, -ENOTDIR},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) {ERRnofids, -EMFILE},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) {ERRnoaccess, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) {ERRbadfid, -EBADF},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) {ERRbadmcb, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) {ERRnomem, -EREMOTEIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) {ERRbadmem, -EFAULT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) {ERRbadenv, -EFAULT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) {ERRbadformat, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) {ERRbadaccess, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) {ERRbaddata, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) {ERRbaddrive, -ENXIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) {ERRremcd, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) {ERRdiffdevice, -EXDEV},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) {ERRnofiles, -ENOENT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) {ERRwriteprot, -EROFS},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) {ERRbadshare, -EBUSY},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) {ERRlock, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) {ERRunsup, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) {ERRnosuchshare, -ENXIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) {ERRfilexists, -EEXIST},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) {ERRinvparm, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) {ERRdiskfull, -ENOSPC},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) {ERRinvname, -ENOENT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) {ERRinvlevel, -EOPNOTSUPP},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) {ERRdirnotempty, -ENOTEMPTY},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) {ERRnotlocked, -ENOLCK},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) {ERRcancelviolation, -ENOLCK},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) {ERRalreadyexists, -EEXIST},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) {ERRmoredata, -EOVERFLOW},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) {ERReasnotsupported, -EOPNOTSUPP},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) {ErrQuota, -EDQUOT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) {ErrNotALink, -ENOLINK},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) {ERRnetlogonNotStarted, -ENOPROTOOPT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) {ERRsymlink, -EOPNOTSUPP},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) {ErrTooManyLinks, -EMLINK},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) {0, 0}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) static const struct smb_to_posix_error mapping_table_ERRSRV[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) {ERRerror, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) {ERRbadpw, -EACCES}, /* was EPERM */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) {ERRbadtype, -EREMOTE},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) {ERRaccess, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) {ERRinvtid, -ENXIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) {ERRinvnetname, -ENXIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) {ERRinvdevice, -ENXIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) {ERRqfull, -ENOSPC},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) {ERRqtoobig, -ENOSPC},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) {ERRqeof, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) {ERRinvpfid, -EBADF},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) {ERRsmbcmd, -EBADRQC},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) {ERRsrverror, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) {ERRbadBID, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) {ERRfilespecs, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) {ERRbadLink, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) {ERRbadpermits, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) {ERRbadPID, -ESRCH},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) {ERRsetattrmode, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) {ERRpaused, -EHOSTDOWN},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) {ERRmsgoff, -EHOSTDOWN},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) {ERRnoroom, -ENOSPC},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) {ERRrmuns, -EUSERS},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) {ERRtimeout, -ETIME},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) {ERRnoresource, -EREMOTEIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) {ERRtoomanyuids, -EUSERS},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) {ERRbaduid, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) {ERRusempx, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) {ERRusestd, -EIO},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) {ERR_NOTIFY_ENUM_DIR, -ENOBUFS},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) {ERRnoSuchUser, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) /* {ERRaccountexpired, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) {ERRbadclient, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) {ERRbadLogonTime, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) {ERRpasswordExpired, -EACCES},*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) {ERRaccountexpired, -EKEYEXPIRED},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) {ERRbadclient, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) {ERRbadLogonTime, -EACCES},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) {ERRpasswordExpired, -EKEYEXPIRED},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) {ERRnosupport, -EINVAL},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) {0, 0}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) * Convert a string containing text IPv4 or IPv6 address to binary form.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) * Returns 0 on failure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) static int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) cifs_inet_pton(const int address_family, const char *cp, int len, void *dst)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) int ret = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) /* calculate length by finding first slash or NULL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) if (address_family == AF_INET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) ret = in4_pton(cp, len, dst, '\\', NULL);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) else if (address_family == AF_INET6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) ret = in6_pton(cp, len, dst , '\\', NULL);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) cifs_dbg(NOISY, "address conversion returned %d for %*.*s\n",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) ret, len, len, cp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) if (ret > 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) ret = 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) return ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) * Try to convert a string to an IPv4 address and then attempt to convert
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) * it to an IPv6 address if that fails. Set the family field if either
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) * succeeds. If it's an IPv6 address and it has a '%' sign in it, try to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) * treat the part following it as a numeric sin6_scope_id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) * Returns 0 on failure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) cifs_convert_address(struct sockaddr *dst, const char *src, int len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) int rc, alen, slen;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) const char *pct;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) char scope_id[13];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) struct sockaddr_in *s4 = (struct sockaddr_in *) dst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) struct sockaddr_in6 *s6 = (struct sockaddr_in6 *) dst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) /* IPv4 address */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) if (cifs_inet_pton(AF_INET, src, len, &s4->sin_addr.s_addr)) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) s4->sin_family = AF_INET;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) return 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) /* attempt to exclude the scope ID from the address part */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) pct = memchr(src, '%', len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) alen = pct ? pct - src : len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) rc = cifs_inet_pton(AF_INET6, src, alen, &s6->sin6_addr.s6_addr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) if (!rc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) return rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) s6->sin6_family = AF_INET6;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) if (pct) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) /* grab the scope ID */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) slen = len - (alen + 1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) if (slen <= 0 || slen > 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) memcpy(scope_id, pct + 1, slen);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) scope_id[slen] = '\0';
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) rc = kstrtouint(scope_id, 0, &s6->sin6_scope_id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) rc = (rc == 0) ? 1 : 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) return rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) void
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) cifs_set_port(struct sockaddr *addr, const unsigned short int port)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) switch (addr->sa_family) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) case AF_INET:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) ((struct sockaddr_in *)addr)->sin_port = htons(port);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) case AF_INET6:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) ((struct sockaddr_in6 *)addr)->sin6_port = htons(port);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) /*****************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) convert a NT status code to a dos class/code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) *****************************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) /* NT status -> dos error map */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) static const struct {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) __u8 dos_class;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) __u16 dos_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) __u32 ntstatus;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) } ntstatus_to_dos_map[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) ERRDOS, ERRgeneral, NT_STATUS_UNSUCCESSFUL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) ERRDOS, ERRbadfunc, NT_STATUS_NOT_IMPLEMENTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) ERRDOS, ERRinvlevel, NT_STATUS_INVALID_INFO_CLASS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) ERRDOS, 24, NT_STATUS_INFO_LENGTH_MISMATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) ERRHRD, ERRgeneral, NT_STATUS_ACCESS_VIOLATION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) ERRHRD, ERRgeneral, NT_STATUS_IN_PAGE_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) ERRHRD, ERRgeneral, NT_STATUS_PAGEFILE_QUOTA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) ERRDOS, ERRbadfid, NT_STATUS_INVALID_HANDLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) ERRHRD, ERRgeneral, NT_STATUS_BAD_INITIAL_STACK}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) ERRDOS, 193, NT_STATUS_BAD_INITIAL_PC}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) ERRDOS, 87, NT_STATUS_INVALID_CID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) ERRHRD, ERRgeneral, NT_STATUS_TIMER_NOT_CANCELED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) ERRDOS, ERRbadfile, NT_STATUS_NO_SUCH_DEVICE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) ERRDOS, ERRbadfile, NT_STATUS_NO_SUCH_FILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) ERRDOS, ERRbadfunc, NT_STATUS_INVALID_DEVICE_REQUEST}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) ERRDOS, 38, NT_STATUS_END_OF_FILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) ERRDOS, 34, NT_STATUS_WRONG_VOLUME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) ERRDOS, 21, NT_STATUS_NO_MEDIA_IN_DEVICE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) ERRHRD, ERRgeneral, NT_STATUS_UNRECOGNIZED_MEDIA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) ERRDOS, 27, NT_STATUS_NONEXISTENT_SECTOR},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) from NT_STATUS_MORE_PROCESSING_REQUIRED to NT_STATUS_OK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) ERRDOS, ERRnomem, NT_STATUS_NO_MEMORY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) ERRDOS, 487, NT_STATUS_CONFLICTING_ADDRESSES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) ERRDOS, 487, NT_STATUS_NOT_MAPPED_VIEW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) ERRDOS, 87, NT_STATUS_UNABLE_TO_FREE_VM}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) ERRDOS, 87, NT_STATUS_UNABLE_TO_DELETE_SECTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) ERRDOS, 2142, NT_STATUS_INVALID_SYSTEM_SERVICE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) ERRHRD, ERRgeneral, NT_STATUS_ILLEGAL_INSTRUCTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) ERRDOS, ERRnoaccess, NT_STATUS_INVALID_LOCK_SEQUENCE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) ERRDOS, ERRnoaccess, NT_STATUS_INVALID_VIEW_SIZE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) ERRDOS, 193, NT_STATUS_INVALID_FILE_FOR_SECTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) ERRDOS, ERRnoaccess, NT_STATUS_ALREADY_COMMITTED},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) from NT_STATUS_ACCESS_DENIED to NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) ERRDOS, ERRnoaccess, NT_STATUS_ACCESS_DENIED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) ERRDOS, 111, NT_STATUS_BUFFER_TOO_SMALL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) ERRDOS, ERRbadfid, NT_STATUS_OBJECT_TYPE_MISMATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) ERRHRD, ERRgeneral, NT_STATUS_NONCONTINUABLE_EXCEPTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) ERRHRD, ERRgeneral, NT_STATUS_INVALID_DISPOSITION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) ERRHRD, ERRgeneral, NT_STATUS_UNWIND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) ERRHRD, ERRgeneral, NT_STATUS_BAD_STACK}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) ERRHRD, ERRgeneral, NT_STATUS_INVALID_UNWIND_TARGET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) ERRDOS, 158, NT_STATUS_NOT_LOCKED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) ERRHRD, ERRgeneral, NT_STATUS_PARITY_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) ERRDOS, 487, NT_STATUS_UNABLE_TO_DECOMMIT_VM}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) ERRDOS, 487, NT_STATUS_NOT_COMMITTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) ERRHRD, ERRgeneral, NT_STATUS_INVALID_PORT_ATTRIBUTES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) ERRHRD, ERRgeneral, NT_STATUS_PORT_MESSAGE_TOO_LONG}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_MIX}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) ERRHRD, ERRgeneral, NT_STATUS_INVALID_QUOTA_LOWER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) ERRHRD, ERRgeneral, NT_STATUS_DISK_CORRUPT_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) /* mapping changed since shell does lookup on * expects FileNotFound */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) ERRDOS, ERRbadfile, NT_STATUS_OBJECT_NAME_INVALID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) ERRDOS, ERRbadfile, NT_STATUS_OBJECT_NAME_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) ERRDOS, ERRalreadyexists, NT_STATUS_OBJECT_NAME_COLLISION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) ERRHRD, ERRgeneral, NT_STATUS_HANDLE_NOT_WAITABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) ERRDOS, ERRbadfid, NT_STATUS_PORT_DISCONNECTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) ERRHRD, ERRgeneral, NT_STATUS_DEVICE_ALREADY_ATTACHED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) ERRDOS, 161, NT_STATUS_OBJECT_PATH_INVALID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) ERRDOS, ERRbadpath, NT_STATUS_OBJECT_PATH_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) ERRDOS, 161, NT_STATUS_OBJECT_PATH_SYNTAX_BAD}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) ERRHRD, ERRgeneral, NT_STATUS_DATA_OVERRUN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) ERRHRD, ERRgeneral, NT_STATUS_DATA_LATE_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) ERRDOS, 23, NT_STATUS_DATA_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) ERRDOS, 23, NT_STATUS_CRC_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) ERRDOS, ERRnomem, NT_STATUS_SECTION_TOO_BIG}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) ERRDOS, ERRnoaccess, NT_STATUS_PORT_CONNECTION_REFUSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) ERRDOS, ERRbadfid, NT_STATUS_INVALID_PORT_HANDLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) ERRDOS, ERRbadshare, NT_STATUS_SHARING_VIOLATION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) ERRHRD, ERRgeneral, NT_STATUS_QUOTA_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) ERRDOS, 87, NT_STATUS_INVALID_PAGE_PROTECTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) ERRDOS, 288, NT_STATUS_MUTANT_NOT_OWNED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) ERRDOS, 298, NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) ERRDOS, 87, NT_STATUS_PORT_ALREADY_SET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) ERRDOS, 87, NT_STATUS_SECTION_NOT_IMAGE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) ERRDOS, 156, NT_STATUS_SUSPEND_COUNT_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) ERRDOS, ERRnoaccess, NT_STATUS_THREAD_IS_TERMINATING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) ERRDOS, 87, NT_STATUS_BAD_WORKING_SET_LIMIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) ERRDOS, 87, NT_STATUS_INCOMPATIBLE_FILE_MAP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) ERRDOS, 87, NT_STATUS_SECTION_PROTECTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) ERRDOS, ERReasnotsupported, NT_STATUS_EAS_NOT_SUPPORTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) ERRDOS, 255, NT_STATUS_EA_TOO_LARGE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) ERRHRD, ERRgeneral, NT_STATUS_NONEXISTENT_EA_ENTRY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) ERRHRD, ERRgeneral, NT_STATUS_NO_EAS_ON_FILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) ERRHRD, ERRgeneral, NT_STATUS_EA_CORRUPT_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) ERRDOS, ERRlock, NT_STATUS_FILE_LOCK_CONFLICT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) ERRDOS, ERRlock, NT_STATUS_LOCK_NOT_GRANTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) ERRDOS, ERRbadfile, NT_STATUS_DELETE_PENDING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) ERRDOS, ERRunsup, NT_STATUS_CTL_FILE_NOT_SUPPORTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) ERRHRD, ERRgeneral, NT_STATUS_UNKNOWN_REVISION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) ERRHRD, ERRgeneral, NT_STATUS_REVISION_MISMATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) ERRHRD, ERRgeneral, NT_STATUS_INVALID_OWNER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) ERRHRD, ERRgeneral, NT_STATUS_INVALID_PRIMARY_GROUP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) ERRHRD, ERRgeneral, NT_STATUS_NO_IMPERSONATION_TOKEN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) ERRHRD, ERRgeneral, NT_STATUS_CANT_DISABLE_MANDATORY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) ERRDOS, 2215, NT_STATUS_NO_LOGON_SERVERS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_LOGON_SESSION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_PRIVILEGE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) ERRDOS, ERRnoaccess, NT_STATUS_PRIVILEGE_NOT_HELD}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) ERRHRD, ERRgeneral, NT_STATUS_INVALID_ACCOUNT_NAME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) ERRHRD, ERRgeneral, NT_STATUS_USER_EXISTS},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) from NT_STATUS_NO_SUCH_USER to NT_STATUS_LOGON_FAILURE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) ERRDOS, ERRnoaccess, NT_STATUS_NO_SUCH_USER}, { /* could map to 2238 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) ERRHRD, ERRgeneral, NT_STATUS_GROUP_EXISTS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_GROUP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) ERRHRD, ERRgeneral, NT_STATUS_MEMBER_IN_GROUP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) ERRHRD, ERRgeneral, NT_STATUS_MEMBER_NOT_IN_GROUP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) ERRHRD, ERRgeneral, NT_STATUS_LAST_ADMIN},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) from NT_STATUS_WRONG_PASSWORD to NT_STATUS_LOGON_FAILURE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) ERRSRV, ERRbadpw, NT_STATUS_WRONG_PASSWORD}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) ERRHRD, ERRgeneral, NT_STATUS_ILL_FORMED_PASSWORD}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) ERRHRD, ERRgeneral, NT_STATUS_PASSWORD_RESTRICTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) ERRDOS, ERRnoaccess, NT_STATUS_LOGON_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) ERRHRD, ERRgeneral, NT_STATUS_ACCOUNT_RESTRICTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) ERRSRV, ERRbadLogonTime, NT_STATUS_INVALID_LOGON_HOURS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) ERRSRV, ERRbadclient, NT_STATUS_INVALID_WORKSTATION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) ERRSRV, ERRpasswordExpired, NT_STATUS_PASSWORD_EXPIRED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) ERRSRV, ERRaccountexpired, NT_STATUS_ACCOUNT_DISABLED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) ERRHRD, ERRgeneral, NT_STATUS_NONE_MAPPED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) ERRHRD, ERRgeneral, NT_STATUS_TOO_MANY_LUIDS_REQUESTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) ERRHRD, ERRgeneral, NT_STATUS_LUIDS_EXHAUSTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) ERRHRD, ERRgeneral, NT_STATUS_INVALID_SUB_AUTHORITY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) ERRHRD, ERRgeneral, NT_STATUS_INVALID_ACL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) ERRHRD, ERRgeneral, NT_STATUS_INVALID_SID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) ERRHRD, ERRgeneral, NT_STATUS_INVALID_SECURITY_DESCR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) ERRDOS, 127, NT_STATUS_PROCEDURE_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) ERRDOS, 193, NT_STATUS_INVALID_IMAGE_FORMAT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) ERRHRD, ERRgeneral, NT_STATUS_NO_TOKEN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) ERRHRD, ERRgeneral, NT_STATUS_BAD_INHERITANCE_ACL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) ERRDOS, 158, NT_STATUS_RANGE_NOT_LOCKED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) ERRDOS, 112, NT_STATUS_DISK_FULL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) ERRHRD, ERRgeneral, NT_STATUS_SERVER_DISABLED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) ERRHRD, ERRgeneral, NT_STATUS_SERVER_NOT_DISABLED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) ERRDOS, 68, NT_STATUS_TOO_MANY_GUIDS_REQUESTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) ERRDOS, 259, NT_STATUS_GUIDS_EXHAUSTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) ERRHRD, ERRgeneral, NT_STATUS_INVALID_ID_AUTHORITY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) ERRDOS, 259, NT_STATUS_AGENTS_EXHAUSTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) ERRDOS, 154, NT_STATUS_INVALID_VOLUME_LABEL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) ERRDOS, 14, NT_STATUS_SECTION_NOT_EXTENDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) ERRDOS, 487, NT_STATUS_NOT_MAPPED_DATA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) ERRHRD, ERRgeneral, NT_STATUS_RESOURCE_DATA_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) ERRHRD, ERRgeneral, NT_STATUS_RESOURCE_TYPE_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) ERRHRD, ERRgeneral, NT_STATUS_RESOURCE_NAME_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) ERRHRD, ERRgeneral, NT_STATUS_ARRAY_BOUNDS_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_DENORMAL_OPERAND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_DIVIDE_BY_ZERO}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_INEXACT_RESULT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_INVALID_OPERATION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_OVERFLOW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_STACK_CHECK}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) ERRHRD, ERRgeneral, NT_STATUS_FLOAT_UNDERFLOW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) ERRHRD, ERRgeneral, NT_STATUS_INTEGER_DIVIDE_BY_ZERO}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) ERRDOS, 534, NT_STATUS_INTEGER_OVERFLOW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) ERRHRD, ERRgeneral, NT_STATUS_PRIVILEGED_INSTRUCTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) ERRDOS, ERRnomem, NT_STATUS_TOO_MANY_PAGING_FILES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) ERRHRD, ERRgeneral, NT_STATUS_FILE_INVALID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) ERRHRD, ERRgeneral, NT_STATUS_ALLOTTED_SPACE_EXCEEDED},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) from NT_STATUS_INSUFFICIENT_RESOURCES to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) NT_STATUS_INSUFF_SERVER_RESOURCES during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) ERRDOS, ERRnoresource, NT_STATUS_INSUFFICIENT_RESOURCES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) ERRDOS, ERRbadpath, NT_STATUS_DFS_EXIT_PATH_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) ERRDOS, 23, NT_STATUS_DEVICE_DATA_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) ERRHRD, ERRgeneral, NT_STATUS_DEVICE_NOT_CONNECTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) ERRDOS, 21, NT_STATUS_DEVICE_POWER_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) ERRDOS, 487, NT_STATUS_FREE_VM_NOT_AT_BASE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) ERRDOS, 487, NT_STATUS_MEMORY_NOT_ALLOCATED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) ERRHRD, ERRgeneral, NT_STATUS_WORKING_SET_QUOTA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) ERRDOS, 19, NT_STATUS_MEDIA_WRITE_PROTECTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) ERRDOS, 21, NT_STATUS_DEVICE_NOT_READY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) ERRHRD, ERRgeneral, NT_STATUS_INVALID_GROUP_ATTRIBUTES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) ERRHRD, ERRgeneral, NT_STATUS_BAD_IMPERSONATION_LEVEL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) ERRHRD, ERRgeneral, NT_STATUS_CANT_OPEN_ANONYMOUS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) ERRHRD, ERRgeneral, NT_STATUS_BAD_VALIDATION_CLASS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) ERRHRD, ERRgeneral, NT_STATUS_BAD_TOKEN_TYPE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) ERRDOS, 87, NT_STATUS_BAD_MASTER_BOOT_RECORD}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) ERRHRD, ERRgeneral, NT_STATUS_INSTRUCTION_MISALIGNMENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) ERRDOS, ERRpipebusy, NT_STATUS_INSTANCE_NOT_AVAILABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) ERRDOS, ERRpipebusy, NT_STATUS_PIPE_NOT_AVAILABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) ERRDOS, ERRbadpipe, NT_STATUS_INVALID_PIPE_STATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) ERRDOS, ERRpipebusy, NT_STATUS_PIPE_BUSY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) ERRDOS, ERRbadfunc, NT_STATUS_ILLEGAL_FUNCTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) ERRDOS, ERRnotconnected, NT_STATUS_PIPE_DISCONNECTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) ERRDOS, ERRpipeclosing, NT_STATUS_PIPE_CLOSING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) ERRHRD, ERRgeneral, NT_STATUS_PIPE_CONNECTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) ERRHRD, ERRgeneral, NT_STATUS_PIPE_LISTENING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) ERRDOS, ERRbadpipe, NT_STATUS_INVALID_READ_MODE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) ERRDOS, 121, NT_STATUS_IO_TIMEOUT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) ERRDOS, 38, NT_STATUS_FILE_FORCED_CLOSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) ERRHRD, ERRgeneral, NT_STATUS_PROFILING_NOT_STARTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) ERRHRD, ERRgeneral, NT_STATUS_PROFILING_NOT_STOPPED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) ERRHRD, ERRgeneral, NT_STATUS_COULD_NOT_INTERPRET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) ERRDOS, ERRnoaccess, NT_STATUS_FILE_IS_A_DIRECTORY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) ERRDOS, ERRunsup, NT_STATUS_NOT_SUPPORTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) ERRDOS, 51, NT_STATUS_REMOTE_NOT_LISTENING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) ERRDOS, 52, NT_STATUS_DUPLICATE_NAME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) ERRDOS, 53, NT_STATUS_BAD_NETWORK_PATH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) ERRDOS, 54, NT_STATUS_NETWORK_BUSY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) ERRDOS, 55, NT_STATUS_DEVICE_DOES_NOT_EXIST}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) ERRDOS, 56, NT_STATUS_TOO_MANY_COMMANDS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) ERRDOS, 57, NT_STATUS_ADAPTER_HARDWARE_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) ERRDOS, 58, NT_STATUS_INVALID_NETWORK_RESPONSE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) ERRDOS, 59, NT_STATUS_UNEXPECTED_NETWORK_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) ERRDOS, 60, NT_STATUS_BAD_REMOTE_ADAPTER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) ERRDOS, 61, NT_STATUS_PRINT_QUEUE_FULL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) ERRDOS, 62, NT_STATUS_NO_SPOOL_SPACE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) ERRDOS, 63, NT_STATUS_PRINT_CANCELLED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) ERRDOS, 64, NT_STATUS_NETWORK_NAME_DELETED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) ERRDOS, 65, NT_STATUS_NETWORK_ACCESS_DENIED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) ERRDOS, 66, NT_STATUS_BAD_DEVICE_TYPE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) ERRDOS, ERRnosuchshare, NT_STATUS_BAD_NETWORK_NAME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) ERRDOS, 68, NT_STATUS_TOO_MANY_NAMES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) ERRDOS, 69, NT_STATUS_TOO_MANY_SESSIONS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) ERRDOS, 70, NT_STATUS_SHARING_PAUSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) ERRDOS, 71, NT_STATUS_REQUEST_NOT_ACCEPTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) ERRDOS, 72, NT_STATUS_REDIRECTOR_PAUSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) ERRDOS, 88, NT_STATUS_NET_WRITE_FAULT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) ERRHRD, ERRgeneral, NT_STATUS_PROFILING_AT_LIMIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) ERRDOS, ERRdiffdevice, NT_STATUS_NOT_SAME_DEVICE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) ERRDOS, ERRnoaccess, NT_STATUS_FILE_RENAMED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) ERRDOS, 240, NT_STATUS_VIRTUAL_CIRCUIT_CLOSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) ERRHRD, ERRgeneral, NT_STATUS_NO_SECURITY_ON_OBJECT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) ERRHRD, ERRgeneral, NT_STATUS_CANT_WAIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) ERRDOS, ERRpipeclosing, NT_STATUS_PIPE_EMPTY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) ERRHRD, ERRgeneral, NT_STATUS_CANT_ACCESS_DOMAIN_INFO}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) ERRHRD, ERRgeneral, NT_STATUS_CANT_TERMINATE_SELF}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) ERRHRD, ERRgeneral, NT_STATUS_INVALID_SERVER_STATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) ERRHRD, ERRgeneral, NT_STATUS_INVALID_DOMAIN_STATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) ERRHRD, ERRgeneral, NT_STATUS_INVALID_DOMAIN_ROLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_DOMAIN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) ERRHRD, ERRgeneral, NT_STATUS_DOMAIN_EXISTS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) ERRHRD, ERRgeneral, NT_STATUS_DOMAIN_LIMIT_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) ERRDOS, 300, NT_STATUS_OPLOCK_NOT_GRANTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) ERRDOS, 301, NT_STATUS_INVALID_OPLOCK_PROTOCOL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) ERRHRD, ERRgeneral, NT_STATUS_INTERNAL_DB_CORRUPTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) ERRHRD, ERRgeneral, NT_STATUS_INTERNAL_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) ERRHRD, ERRgeneral, NT_STATUS_GENERIC_NOT_MAPPED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) ERRHRD, ERRgeneral, NT_STATUS_BAD_DESCRIPTOR_FORMAT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) ERRHRD, ERRgeneral, NT_STATUS_INVALID_USER_BUFFER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) ERRHRD, ERRgeneral, NT_STATUS_UNEXPECTED_IO_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) ERRHRD, ERRgeneral, NT_STATUS_UNEXPECTED_MM_CREATE_ERR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) ERRHRD, ERRgeneral, NT_STATUS_UNEXPECTED_MM_MAP_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) ERRHRD, ERRgeneral, NT_STATUS_UNEXPECTED_MM_EXTEND_ERR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) ERRHRD, ERRgeneral, NT_STATUS_NOT_LOGON_PROCESS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) ERRHRD, ERRgeneral, NT_STATUS_LOGON_SESSION_EXISTS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_1}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_2}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_3}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_4}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_5}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_6}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_7}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_8}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_9}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_10}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_11}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) ERRDOS, 87, NT_STATUS_INVALID_PARAMETER_12}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) ERRDOS, ERRbadpath, NT_STATUS_REDIRECTOR_NOT_STARTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) ERRHRD, ERRgeneral, NT_STATUS_REDIRECTOR_STARTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) ERRHRD, ERRgeneral, NT_STATUS_STACK_OVERFLOW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_PACKAGE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) ERRHRD, ERRgeneral, NT_STATUS_BAD_FUNCTION_TABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) ERRDOS, 203, 0xc0000100}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) ERRDOS, 145, NT_STATUS_DIRECTORY_NOT_EMPTY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) ERRHRD, ERRgeneral, NT_STATUS_FILE_CORRUPT_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) ERRDOS, 267, NT_STATUS_NOT_A_DIRECTORY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) ERRHRD, ERRgeneral, NT_STATUS_BAD_LOGON_SESSION_STATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) ERRHRD, ERRgeneral, NT_STATUS_LOGON_SESSION_COLLISION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) ERRDOS, 206, NT_STATUS_NAME_TOO_LONG}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) ERRDOS, 2401, NT_STATUS_FILES_OPEN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) ERRDOS, 2404, NT_STATUS_CONNECTION_IN_USE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) ERRHRD, ERRgeneral, NT_STATUS_MESSAGE_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) ERRDOS, ERRnoaccess, NT_STATUS_PROCESS_IS_TERMINATING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) ERRHRD, ERRgeneral, NT_STATUS_INVALID_LOGON_TYPE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) ERRHRD, ERRgeneral, NT_STATUS_NO_GUID_TRANSLATION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) ERRHRD, ERRgeneral, NT_STATUS_CANNOT_IMPERSONATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) ERRHRD, ERRgeneral, NT_STATUS_IMAGE_ALREADY_LOADED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_NOT_PRESENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_LID_NOT_EXIST}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_LID_ALREADY_OWNED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_NOT_LID_OWNER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_INVALID_COMMAND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_INVALID_LID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) ERRHRD, ERRgeneral, NT_STATUS_ABIOS_INVALID_SELECTOR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) ERRHRD, ERRgeneral, NT_STATUS_NO_LDT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) ERRHRD, ERRgeneral, NT_STATUS_INVALID_LDT_SIZE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) ERRHRD, ERRgeneral, NT_STATUS_INVALID_LDT_OFFSET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) ERRHRD, ERRgeneral, NT_STATUS_INVALID_LDT_DESCRIPTOR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) ERRDOS, 193, NT_STATUS_INVALID_IMAGE_NE_FORMAT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) ERRHRD, ERRgeneral, NT_STATUS_RXACT_INVALID_STATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) ERRHRD, ERRgeneral, NT_STATUS_RXACT_COMMIT_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) ERRHRD, ERRgeneral, NT_STATUS_MAPPED_FILE_SIZE_ZERO}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) ERRDOS, ERRnofids, NT_STATUS_TOO_MANY_OPENED_FILES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) ERRHRD, ERRgeneral, NT_STATUS_CANCELLED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) ERRDOS, ERRnoaccess, NT_STATUS_CANNOT_DELETE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) ERRHRD, ERRgeneral, NT_STATUS_INVALID_COMPUTER_NAME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) ERRDOS, ERRnoaccess, NT_STATUS_FILE_DELETED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) ERRHRD, ERRgeneral, NT_STATUS_SPECIAL_ACCOUNT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) ERRHRD, ERRgeneral, NT_STATUS_SPECIAL_GROUP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) ERRHRD, ERRgeneral, NT_STATUS_SPECIAL_USER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) ERRHRD, ERRgeneral, NT_STATUS_MEMBERS_PRIMARY_GROUP}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) ERRDOS, ERRbadfid, NT_STATUS_FILE_CLOSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) ERRHRD, ERRgeneral, NT_STATUS_TOO_MANY_THREADS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) ERRHRD, ERRgeneral, NT_STATUS_THREAD_NOT_IN_PROCESS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) ERRHRD, ERRgeneral, NT_STATUS_TOKEN_ALREADY_IN_USE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) ERRHRD, ERRgeneral, NT_STATUS_PAGEFILE_QUOTA_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) ERRHRD, ERRgeneral, NT_STATUS_COMMITMENT_LIMIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) ERRDOS, 193, NT_STATUS_INVALID_IMAGE_LE_FORMAT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) ERRDOS, 193, NT_STATUS_INVALID_IMAGE_NOT_MZ}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) ERRDOS, 193, NT_STATUS_INVALID_IMAGE_PROTECT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) ERRDOS, 193, NT_STATUS_INVALID_IMAGE_WIN_16}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) ERRHRD, ERRgeneral, NT_STATUS_LOGON_SERVER_CONFLICT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) ERRHRD, ERRgeneral, NT_STATUS_TIME_DIFFERENCE_AT_DC}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) ERRHRD, ERRgeneral, NT_STATUS_SYNCHRONIZATION_REQUIRED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) ERRDOS, 126, NT_STATUS_DLL_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) ERRHRD, ERRgeneral, NT_STATUS_OPEN_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) ERRHRD, ERRgeneral, NT_STATUS_IO_PRIVILEGE_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) ERRDOS, 182, NT_STATUS_ORDINAL_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) ERRDOS, 127, NT_STATUS_ENTRYPOINT_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) ERRHRD, ERRgeneral, NT_STATUS_CONTROL_C_EXIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) ERRDOS, 64, NT_STATUS_LOCAL_DISCONNECT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) ERRDOS, 64, NT_STATUS_REMOTE_DISCONNECT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) ERRDOS, 51, NT_STATUS_REMOTE_RESOURCES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) ERRDOS, 59, NT_STATUS_LINK_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) ERRDOS, 59, NT_STATUS_LINK_TIMEOUT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) ERRDOS, 59, NT_STATUS_INVALID_CONNECTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) ERRDOS, 59, NT_STATUS_INVALID_ADDRESS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) ERRHRD, ERRgeneral, NT_STATUS_DLL_INIT_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) ERRHRD, ERRgeneral, NT_STATUS_MISSING_SYSTEMFILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) ERRHRD, ERRgeneral, NT_STATUS_UNHANDLED_EXCEPTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) ERRHRD, ERRgeneral, NT_STATUS_APP_INIT_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) ERRHRD, ERRgeneral, NT_STATUS_PAGEFILE_CREATE_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) ERRHRD, ERRgeneral, NT_STATUS_NO_PAGEFILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) ERRDOS, 124, NT_STATUS_INVALID_LEVEL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) ERRDOS, 86, NT_STATUS_WRONG_PASSWORD_CORE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) ERRHRD, ERRgeneral, NT_STATUS_ILLEGAL_FLOAT_CONTEXT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) ERRDOS, 109, NT_STATUS_PIPE_BROKEN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) ERRHRD, ERRgeneral, NT_STATUS_REGISTRY_CORRUPT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) ERRHRD, ERRgeneral, NT_STATUS_REGISTRY_IO_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) ERRHRD, ERRgeneral, NT_STATUS_NO_EVENT_PAIR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) ERRHRD, ERRgeneral, NT_STATUS_UNRECOGNIZED_VOLUME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) ERRHRD, ERRgeneral, NT_STATUS_SERIAL_NO_DEVICE_INITED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_ALIAS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) ERRHRD, ERRgeneral, NT_STATUS_MEMBER_NOT_IN_ALIAS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) ERRHRD, ERRgeneral, NT_STATUS_MEMBER_IN_ALIAS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) ERRHRD, ERRgeneral, NT_STATUS_ALIAS_EXISTS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) ERRHRD, ERRgeneral, NT_STATUS_LOGON_NOT_GRANTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) ERRHRD, ERRgeneral, NT_STATUS_TOO_MANY_SECRETS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) ERRHRD, ERRgeneral, NT_STATUS_SECRET_TOO_LONG}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) ERRHRD, ERRgeneral, NT_STATUS_INTERNAL_DB_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) ERRHRD, ERRgeneral, NT_STATUS_FULLSCREEN_MODE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) ERRHRD, ERRgeneral, NT_STATUS_TOO_MANY_CONTEXT_IDS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) ERRDOS, ERRnoaccess, NT_STATUS_LOGON_TYPE_NOT_GRANTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) ERRHRD, ERRgeneral, NT_STATUS_NOT_REGISTRY_FILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) ERRHRD, ERRgeneral, NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) ERRHRD, ERRgeneral, NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) ERRHRD, ERRgeneral, NT_STATUS_FT_MISSING_MEMBER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) ERRHRD, ERRgeneral, NT_STATUS_ILL_FORMED_SERVICE_ENTRY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) ERRHRD, ERRgeneral, NT_STATUS_ILLEGAL_CHARACTER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) ERRHRD, ERRgeneral, NT_STATUS_UNMAPPABLE_CHARACTER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) ERRHRD, ERRgeneral, NT_STATUS_UNDEFINED_CHARACTER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) ERRHRD, ERRgeneral, NT_STATUS_FLOPPY_VOLUME}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) ERRHRD, ERRgeneral, NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) ERRHRD, ERRgeneral, NT_STATUS_FLOPPY_WRONG_CYLINDER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) ERRHRD, ERRgeneral, NT_STATUS_FLOPPY_UNKNOWN_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) ERRHRD, ERRgeneral, NT_STATUS_FLOPPY_BAD_REGISTERS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) ERRHRD, ERRgeneral, NT_STATUS_DISK_RECALIBRATE_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) ERRHRD, ERRgeneral, NT_STATUS_DISK_OPERATION_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) ERRHRD, ERRgeneral, NT_STATUS_DISK_RESET_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) ERRHRD, ERRgeneral, NT_STATUS_SHARED_IRQ_BUSY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) ERRHRD, ERRgeneral, NT_STATUS_FT_ORPHANING}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) ERRHRD, ERRgeneral, 0xc000016e}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) ERRHRD, ERRgeneral, 0xc000016f}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) ERRHRD, ERRgeneral, 0xc0000170}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) ERRHRD, ERRgeneral, 0xc0000171}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) ERRHRD, ERRgeneral, NT_STATUS_PARTITION_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) ERRHRD, ERRgeneral, NT_STATUS_INVALID_BLOCK_LENGTH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) ERRHRD, ERRgeneral, NT_STATUS_DEVICE_NOT_PARTITIONED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) ERRHRD, ERRgeneral, NT_STATUS_UNABLE_TO_LOCK_MEDIA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) ERRHRD, ERRgeneral, NT_STATUS_UNABLE_TO_UNLOAD_MEDIA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) ERRHRD, ERRgeneral, NT_STATUS_EOM_OVERFLOW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) ERRHRD, ERRgeneral, NT_STATUS_NO_MEDIA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) ERRHRD, ERRgeneral, 0xc0000179}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) ERRHRD, ERRgeneral, NT_STATUS_NO_SUCH_MEMBER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) ERRHRD, ERRgeneral, NT_STATUS_INVALID_MEMBER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) ERRHRD, ERRgeneral, NT_STATUS_KEY_DELETED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) ERRHRD, ERRgeneral, NT_STATUS_NO_LOG_SPACE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) ERRHRD, ERRgeneral, NT_STATUS_TOO_MANY_SIDS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) ERRHRD, ERRgeneral, NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) ERRHRD, ERRgeneral, NT_STATUS_KEY_HAS_CHILDREN}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) ERRHRD, ERRgeneral, NT_STATUS_CHILD_MUST_BE_VOLATILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) ERRDOS, 87, NT_STATUS_DEVICE_CONFIGURATION_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) ERRHRD, ERRgeneral, NT_STATUS_DRIVER_INTERNAL_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) ERRDOS, 22, NT_STATUS_INVALID_DEVICE_STATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) ERRHRD, ERRgeneral, NT_STATUS_IO_DEVICE_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) ERRHRD, ERRgeneral, NT_STATUS_DEVICE_PROTOCOL_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) ERRHRD, ERRgeneral, NT_STATUS_BACKUP_CONTROLLER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) ERRHRD, ERRgeneral, NT_STATUS_LOG_FILE_FULL}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) ERRDOS, 19, NT_STATUS_TOO_LATE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) ERRDOS, ERRnoaccess, NT_STATUS_NO_TRUST_LSA_SECRET},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) from NT_STATUS_NO_TRUST_SAM_ACCOUNT to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) ERRDOS, ERRnoaccess, NT_STATUS_NO_TRUST_SAM_ACCOUNT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) ERRDOS, ERRnoaccess, NT_STATUS_TRUSTED_DOMAIN_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) ERRDOS, ERRnoaccess, NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) ERRHRD, ERRgeneral, NT_STATUS_EVENTLOG_FILE_CORRUPT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) ERRHRD, ERRgeneral, NT_STATUS_EVENTLOG_CANT_START}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) ERRDOS, ERRnoaccess, NT_STATUS_TRUST_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) ERRHRD, ERRgeneral, NT_STATUS_MUTANT_LIMIT_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) ERRDOS, ERRnetlogonNotStarted, NT_STATUS_NETLOGON_NOT_STARTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) ERRSRV, ERRaccountexpired, NT_STATUS_ACCOUNT_EXPIRED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) ERRHRD, ERRgeneral, NT_STATUS_POSSIBLE_DEADLOCK}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) ERRHRD, ERRgeneral, NT_STATUS_NETWORK_CREDENTIAL_CONFLICT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) ERRHRD, ERRgeneral, NT_STATUS_REMOTE_SESSION_LIMIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) ERRHRD, ERRgeneral, NT_STATUS_EVENTLOG_FILE_CHANGED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) ERRDOS, ERRnoaccess, NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) ERRDOS, ERRnoaccess, NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) ERRDOS, ERRnoaccess, NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT},
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) /* { This NT error code was 'sqashed'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) from NT_STATUS_DOMAIN_TRUST_INCONSISTENT to NT_STATUS_LOGON_FAILURE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) during the session setup } */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) ERRDOS, ERRnoaccess, NT_STATUS_DOMAIN_TRUST_INCONSISTENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) ERRHRD, ERRgeneral, NT_STATUS_FS_DRIVER_REQUIRED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) ERRHRD, ERRgeneral, NT_STATUS_NO_USER_SESSION_KEY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) ERRDOS, 59, NT_STATUS_USER_SESSION_DELETED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) ERRHRD, ERRgeneral, NT_STATUS_RESOURCE_LANG_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) ERRDOS, ERRnoresource, NT_STATUS_INSUFF_SERVER_RESOURCES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) ERRHRD, ERRgeneral, NT_STATUS_INVALID_BUFFER_SIZE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) ERRHRD, ERRgeneral, NT_STATUS_INVALID_ADDRESS_COMPONENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) ERRHRD, ERRgeneral, NT_STATUS_INVALID_ADDRESS_WILDCARD}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) ERRDOS, 68, NT_STATUS_TOO_MANY_ADDRESSES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) ERRDOS, 52, NT_STATUS_ADDRESS_ALREADY_EXISTS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) ERRDOS, 64, NT_STATUS_ADDRESS_CLOSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) ERRDOS, 64, NT_STATUS_CONNECTION_DISCONNECTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) ERRDOS, 64, NT_STATUS_CONNECTION_RESET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) ERRDOS, 68, NT_STATUS_TOO_MANY_NODES}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) ERRDOS, 59, NT_STATUS_TRANSACTION_ABORTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) ERRDOS, 59, NT_STATUS_TRANSACTION_TIMED_OUT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) ERRDOS, 59, NT_STATUS_TRANSACTION_NO_RELEASE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) ERRDOS, 59, NT_STATUS_TRANSACTION_NO_MATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) ERRDOS, 59, NT_STATUS_TRANSACTION_RESPONDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) ERRDOS, 59, NT_STATUS_TRANSACTION_INVALID_ID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) ERRDOS, 59, NT_STATUS_TRANSACTION_INVALID_TYPE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) ERRDOS, ERRunsup, NT_STATUS_NOT_SERVER_SESSION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) ERRDOS, ERRunsup, NT_STATUS_NOT_CLIENT_SESSION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) ERRHRD, ERRgeneral, NT_STATUS_CANNOT_LOAD_REGISTRY_FILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) ERRHRD, ERRgeneral, NT_STATUS_DEBUG_ATTACH_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) ERRHRD, ERRgeneral, NT_STATUS_SYSTEM_PROCESS_TERMINATED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) ERRHRD, ERRgeneral, NT_STATUS_DATA_NOT_ACCEPTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) ERRHRD, ERRgeneral, NT_STATUS_NO_BROWSER_SERVERS_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) ERRHRD, ERRgeneral, NT_STATUS_VDM_HARD_ERROR}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) ERRHRD, ERRgeneral, NT_STATUS_DRIVER_CANCEL_TIMEOUT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) ERRHRD, ERRgeneral, NT_STATUS_REPLY_MESSAGE_MISMATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) ERRHRD, ERRgeneral, NT_STATUS_MAPPED_ALIGNMENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) ERRDOS, 193, NT_STATUS_IMAGE_CHECKSUM_MISMATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) ERRHRD, ERRgeneral, NT_STATUS_LOST_WRITEBEHIND_DATA}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) ERRHRD, ERRgeneral, NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) ERRSRV, ERRpasswordExpired, NT_STATUS_PASSWORD_MUST_CHANGE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) ERRHRD, ERRgeneral, NT_STATUS_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) ERRHRD, ERRgeneral, NT_STATUS_NOT_TINY_STREAM}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) ERRHRD, ERRgeneral, NT_STATUS_RECOVERY_FAILURE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) ERRHRD, ERRgeneral, NT_STATUS_STACK_OVERFLOW_READ}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) ERRHRD, ERRgeneral, NT_STATUS_FAIL_CHECK}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) ERRHRD, ERRgeneral, NT_STATUS_DUPLICATE_OBJECTID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) ERRHRD, ERRgeneral, NT_STATUS_OBJECTID_EXISTS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) ERRHRD, ERRgeneral, NT_STATUS_CONVERT_TO_LARGE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) ERRHRD, ERRgeneral, NT_STATUS_RETRY}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) ERRHRD, ERRgeneral, NT_STATUS_FOUND_OUT_OF_SCOPE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) ERRHRD, ERRgeneral, NT_STATUS_ALLOCATE_BUCKET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) ERRHRD, ERRgeneral, NT_STATUS_PROPSET_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) ERRHRD, ERRgeneral, NT_STATUS_MARSHALL_OVERFLOW}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) ERRHRD, ERRgeneral, NT_STATUS_INVALID_VARIANT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) ERRHRD, ERRgeneral, NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) ERRDOS, ERRnoaccess, NT_STATUS_ACCOUNT_LOCKED_OUT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) ERRDOS, ERRbadfid, NT_STATUS_HANDLE_NOT_CLOSABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) ERRHRD, ERRgeneral, NT_STATUS_CONNECTION_REFUSED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) ERRHRD, ERRgeneral, NT_STATUS_GRACEFUL_DISCONNECT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) ERRHRD, ERRgeneral, NT_STATUS_ADDRESS_ALREADY_ASSOCIATED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) ERRHRD, ERRgeneral, NT_STATUS_ADDRESS_NOT_ASSOCIATED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) ERRHRD, ERRgeneral, NT_STATUS_CONNECTION_INVALID}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) ERRHRD, ERRgeneral, NT_STATUS_CONNECTION_ACTIVE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) ERRHRD, ERRgeneral, NT_STATUS_NETWORK_UNREACHABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) ERRHRD, ERRgeneral, NT_STATUS_HOST_UNREACHABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) ERRHRD, ERRgeneral, NT_STATUS_PROTOCOL_UNREACHABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) ERRHRD, ERRgeneral, NT_STATUS_PORT_UNREACHABLE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) ERRHRD, ERRgeneral, NT_STATUS_REQUEST_ABORTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) ERRHRD, ERRgeneral, NT_STATUS_CONNECTION_ABORTED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) ERRHRD, ERRgeneral, NT_STATUS_BAD_COMPRESSION_BUFFER}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) ERRHRD, ERRgeneral, NT_STATUS_USER_MAPPED_FILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) ERRHRD, ERRgeneral, NT_STATUS_AUDIT_FAILED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) ERRHRD, ERRgeneral, NT_STATUS_TIMER_RESOLUTION_NOT_SET}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) ERRHRD, ERRgeneral, NT_STATUS_CONNECTION_COUNT_LIMIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) ERRHRD, ERRgeneral, NT_STATUS_LOGIN_TIME_RESTRICTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) ERRHRD, ERRgeneral, NT_STATUS_LOGIN_WKSTA_RESTRICTION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) ERRDOS, 193, NT_STATUS_IMAGE_MP_UP_MISMATCH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) ERRHRD, ERRgeneral, 0xc000024a}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) ERRHRD, ERRgeneral, 0xc000024b}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) ERRHRD, ERRgeneral, 0xc000024c}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) ERRHRD, ERRgeneral, 0xc000024d}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) ERRHRD, ERRgeneral, 0xc000024e}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) ERRHRD, ERRgeneral, 0xc000024f}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) ERRHRD, ERRgeneral, NT_STATUS_INSUFFICIENT_LOGON_INFO}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) ERRHRD, ERRgeneral, NT_STATUS_BAD_DLL_ENTRYPOINT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) ERRHRD, ERRgeneral, NT_STATUS_BAD_SERVICE_ENTRYPOINT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) ERRHRD, ERRgeneral, NT_STATUS_LPC_REPLY_LOST}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) ERRHRD, ERRgeneral, NT_STATUS_IP_ADDRESS_CONFLICT1}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) ERRHRD, ERRgeneral, NT_STATUS_IP_ADDRESS_CONFLICT2}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) ERRHRD, ERRgeneral, NT_STATUS_REGISTRY_QUOTA_LIMIT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) ERRSRV, 3, NT_STATUS_PATH_NOT_COVERED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) ERRHRD, ERRgeneral, NT_STATUS_NO_CALLBACK_ACTIVE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) ERRHRD, ERRgeneral, NT_STATUS_LICENSE_QUOTA_EXCEEDED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) ERRHRD, ERRgeneral, NT_STATUS_PWD_TOO_SHORT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) ERRHRD, ERRgeneral, NT_STATUS_PWD_TOO_RECENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) ERRHRD, ERRgeneral, NT_STATUS_PWD_HISTORY_CONFLICT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) ERRHRD, ERRgeneral, 0xc000025d}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) ERRHRD, ERRgeneral, NT_STATUS_PLUGPLAY_NO_DEVICE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) ERRHRD, ERRgeneral, NT_STATUS_UNSUPPORTED_COMPRESSION}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) ERRHRD, ERRgeneral, NT_STATUS_INVALID_HW_PROFILE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) ERRHRD, ERRgeneral, NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) ERRDOS, 182, NT_STATUS_DRIVER_ORDINAL_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) ERRDOS, 127, NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) ERRDOS, 288, NT_STATUS_RESOURCE_NOT_OWNED}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) ERRDOS, ErrTooManyLinks, NT_STATUS_TOO_MANY_LINKS}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) ERRHRD, ERRgeneral, NT_STATUS_QUOTA_LIST_INCONSISTENT}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) ERRHRD, ERRgeneral, NT_STATUS_FILE_IS_OFFLINE}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) ERRDOS, 21, 0xc000026e}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) ERRDOS, 161, 0xc0000281}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) ERRDOS, ERRnoaccess, 0xc000028a}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) ERRDOS, ERRnoaccess, 0xc000028b}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) ERRHRD, ERRgeneral, 0xc000028c}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) ERRDOS, ERRnoaccess, 0xc000028d}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) ERRDOS, ERRnoaccess, 0xc000028e}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) ERRDOS, ERRnoaccess, 0xc000028f}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) ERRDOS, ERRnoaccess, 0xc0000290}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) ERRDOS, ERRbadfunc, 0xc000029c}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) ERRDOS, ERRsymlink, NT_STATUS_STOPPED_ON_SYMLINK}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) ERRDOS, ERRinvlevel, 0x007c0001}, {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) 0, 0, 0 }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) /*****************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) Print an error message from the status code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) *****************************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) static void
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) cifs_print_status(__u32 status_code)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) int idx = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) while (nt_errs[idx].nt_errstr != NULL) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) if (((nt_errs[idx].nt_errcode) & 0xFFFFFF) ==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) (status_code & 0xFFFFFF)) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) pr_notice("Status code returned 0x%08x %s\n",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) status_code, nt_errs[idx].nt_errstr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) idx++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) return;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) static void
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) ntstatus_to_dos(__u32 ntstatus, __u8 *eclass, __u16 *ecode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) int i;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) if (ntstatus == 0) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) *eclass = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) *ecode = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) return;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) for (i = 0; ntstatus_to_dos_map[i].ntstatus; i++) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) if (ntstatus == ntstatus_to_dos_map[i].ntstatus) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) *eclass = ntstatus_to_dos_map[i].dos_class;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) *ecode = ntstatus_to_dos_map[i].dos_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) return;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) *eclass = ERRHRD;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) *ecode = ERRgeneral;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) map_smb_to_linux_error(char *buf, bool logErr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) struct smb_hdr *smb = (struct smb_hdr *)buf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) unsigned int i;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) int rc = -EIO; /* if transport error smb error may not be set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) __u8 smberrclass;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) __u16 smberrcode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) /* BB if NT Status codes - map NT BB */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) /* old style smb error codes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) if (smb->Status.CifsError == 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) if (smb->Flags2 & SMBFLG2_ERR_STATUS) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) /* translate the newer STATUS codes to old style SMB errors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) * and then to POSIX errors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) __u32 err = le32_to_cpu(smb->Status.CifsError);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) if (logErr && (err != (NT_STATUS_MORE_PROCESSING_REQUIRED)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) cifs_print_status(err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) else if (cifsFYI & CIFS_RC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) cifs_print_status(err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) ntstatus_to_dos(err, &smberrclass, &smberrcode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) } else {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) smberrclass = smb->Status.DosError.ErrorClass;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) smberrcode = le16_to_cpu(smb->Status.DosError.Error);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) /* old style errors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) /* DOS class smb error codes - map DOS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) if (smberrclass == ERRDOS) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) /* 1 byte field no need to byte reverse */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) for (i = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) i <
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) sizeof(mapping_table_ERRDOS) /
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) sizeof(struct smb_to_posix_error); i++) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) if (mapping_table_ERRDOS[i].smb_err == 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) else if (mapping_table_ERRDOS[i].smb_err ==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) smberrcode) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) rc = mapping_table_ERRDOS[i].posix_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) /* else try next error mapping one to see if match */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) } else if (smberrclass == ERRSRV) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) /* server class of error codes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) for (i = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) i <
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) sizeof(mapping_table_ERRSRV) /
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) sizeof(struct smb_to_posix_error); i++) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) if (mapping_table_ERRSRV[i].smb_err == 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) else if (mapping_table_ERRSRV[i].smb_err ==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) smberrcode) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) rc = mapping_table_ERRSRV[i].posix_code;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) /* else try next error mapping to see if match */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) /* else ERRHRD class errors or junk - return EIO */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) cifs_dbg(FYI, "Mapping smb error code 0x%x to POSIX err %d\n",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) le32_to_cpu(smb->Status.CifsError), rc);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) /* generic corrective action e.g. reconnect SMB session on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) * ERRbaduid could be added */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) return rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885) map_and_check_smb_error(struct mid_q_entry *mid, bool logErr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) int rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) struct smb_hdr *smb = (struct smb_hdr *)mid->resp_buf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) rc = map_smb_to_linux_error((char *)smb, logErr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) if (rc == -EACCES && !(smb->Flags2 & SMBFLG2_ERR_STATUS)) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892) /* possible ERRBaduid */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) __u8 class = smb->Status.DosError.ErrorClass;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) __u16 code = le16_to_cpu(smb->Status.DosError.Error);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) /* switch can be used to handle different errors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) if (class == ERRSRV && code == ERRbaduid) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) cifs_dbg(FYI, "Server returned 0x%x, reconnecting session...\n",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) code);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) spin_lock(&GlobalMid_Lock);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) if (mid->server->tcpStatus != CifsExiting)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) mid->server->tcpStatus = CifsNeedReconnect;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) spin_unlock(&GlobalMid_Lock);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) return rc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) * calculate the size of the SMB message based on the fixed header
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) * portion, the number of word parameters and the data portion of the message
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) unsigned int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) smbCalcSize(void *buf, struct TCP_Server_Info *server)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) struct smb_hdr *ptr = (struct smb_hdr *)buf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) return (sizeof(struct smb_hdr) + (2 * ptr->WordCount) +
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) 2 /* size of the bcc field */ + get_bcc(ptr));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) /* The following are taken from fs/ntfs/util.c */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925) #define NTFS_TIME_OFFSET ((u64)(369*365 + 89) * 24 * 3600 * 10000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) * Convert the NT UTC (based 1601-01-01, in hundred nanosecond units)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) * into Unix UTC (based 1970-01-01, in seconds).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931) struct timespec64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) cifs_NTtimeToUnix(__le64 ntutc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) struct timespec64 ts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) /* BB what about the timezone? BB */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) /* Subtract the NTFS time offset, then convert to 1s intervals. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) s64 t = le64_to_cpu(ntutc) - NTFS_TIME_OFFSET;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939) u64 abs_t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) * Unfortunately can not use normal 64 bit division on 32 bit arch, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) * the alternative, do_div, does not work with negative numbers so have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944) * to special case them
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) if (t < 0) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) abs_t = -t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948) ts.tv_nsec = (time64_t)(do_div(abs_t, 10000000) * 100);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) ts.tv_nsec = -ts.tv_nsec;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) ts.tv_sec = -abs_t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) } else {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) abs_t = t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) ts.tv_nsec = (time64_t)do_div(abs_t, 10000000) * 100;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954) ts.tv_sec = abs_t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) return ts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) /* Convert the Unix UTC into NT UTC. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961) u64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) cifs_UnixTimeToNT(struct timespec64 t)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) /* Convert to 100ns intervals and then add the NTFS time offset. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) return (u64) t.tv_sec * 10000000 + t.tv_nsec/100 + NTFS_TIME_OFFSET;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) static const int total_days_of_prev_months[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) struct timespec64 cnvrtDosUnixTm(__le16 le_date, __le16 le_time, int offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) struct timespec64 ts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) time64_t sec, days;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) int min, day, month, year;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) u16 date = le16_to_cpu(le_date);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) u16 time = le16_to_cpu(le_time);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979) SMB_TIME *st = (SMB_TIME *)&time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) SMB_DATE *sd = (SMB_DATE *)&date;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982) cifs_dbg(FYI, "date %d time %d\n", date, time);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984) sec = 2 * st->TwoSeconds;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) min = st->Minutes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) if ((sec > 59) || (min > 59))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) cifs_dbg(VFS, "Invalid time min %d sec %lld\n", min, sec);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988) sec += (min * 60);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) sec += 60 * 60 * st->Hours;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990) if (st->Hours > 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) cifs_dbg(VFS, "Invalid hours %d\n", st->Hours);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992) day = sd->Day;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993) month = sd->Month;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) if (day < 1 || day > 31 || month < 1 || month > 12) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995) cifs_dbg(VFS, "Invalid date, month %d day: %d\n", month, day);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) day = clamp(day, 1, 31);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) month = clamp(month, 1, 12);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999) month -= 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) days = day + total_days_of_prev_months[month];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) days += 3652; /* account for difference in days between 1980 and 1970 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) year = sd->Year;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) days += year * 365;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) days += (year/4); /* leap year */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) /* generalized leap year calculation is more complex, ie no leap year
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) for years/100 except for years/400, but since the maximum number for DOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) year is 2**7, the last year is 1980+127, which means we need only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) consider 2 special case years, ie the years 2000 and 2100, and only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) adjust for the lack of leap year for the year 2100, as 2000 was a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) leap year (divisable by 400) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) if (year >= 120) /* the year 2100 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) days = days - 1; /* do not count leap year for the year 2100 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) /* adjust for leap year where we are still before leap day */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) if (year != 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) days -= ((year & 0x03) == 0) && (month < 2 ? 1 : 0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) sec += 24 * 60 * 60 * days;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) ts.tv_sec = sec + offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) /* cifs_dbg(FYI, "sec after cnvrt dos to unix time %d\n",sec); */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) ts.tv_nsec = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) return ts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) }