^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) * fs/cifs/smberr.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Copyright (c) International Business Machines Corp., 2002,2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Author(s): Steve French (sfrench@us.ibm.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * See Error Codes section of the SNIA CIFS Specification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * for more information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * This library is free software; you can redistribute it and/or modify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * it under the terms of the GNU Lesser General Public License as published
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) * by the Free Software Foundation; either version 2.1 of the License, or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * (at your option) any later version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * This library is distributed in the hope that it will be useful,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * but WITHOUT ANY WARRANTY; without even the implied warranty of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) * the GNU Lesser General Public License for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) * You should have received a copy of the GNU Lesser General Public License
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) * along with this library; if not, write to the Free Software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define SUCCESS 0x00 /* The request was successful. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define ERRDOS 0x01 /* Error is from the core DOS operating system set */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define ERRSRV 0x02 /* Error is generated by the file server daemon */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define ERRHRD 0x03 /* Error is a hardware error. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define ERRCMD 0xFF /* Command was not in the "SMB" format. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) /* The following error codes may be generated with the SUCCESS error class.*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /*#define SUCCESS 0 The request was successful. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) /* The following error codes may be generated with the ERRDOS error class.*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define ERRbadfunc 1 /* Invalid function. The server did not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) recognize or could not perform a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) system call generated by the server,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) e.g., set the DIRECTORY attribute on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) a data file, invalid seek mode. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define ERRbadfile 2 /* File not found. The last component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) of a file's pathname could not be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) found. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define ERRbadpath 3 /* Directory invalid. A directory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) component in a pathname could not be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) found. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define ERRnofids 4 /* Too many open files. The server has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) no file handles available. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define ERRnoaccess 5 /* Access denied, the client's context
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) does not permit the requested
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) function. This includes the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) following conditions: invalid rename
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) command, write to Fid open for read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) only, read on Fid open for write
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) only, attempt to delete a non-empty
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) directory */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #define ERRbadfid 6 /* Invalid file handle. The file handle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) specified was not recognized by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) server. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #define ERRbadmcb 7 /* Memory control blocks destroyed. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #define ERRnomem 8 /* Insufficient server memory to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) perform the requested function. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) #define ERRbadmem 9 /* Invalid memory block address. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #define ERRbadenv 10 /* Invalid environment. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #define ERRbadformat 11 /* Invalid format. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #define ERRbadaccess 12 /* Invalid open mode. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #define ERRbaddata 13 /* Invalid data (generated only by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) IOCTL calls within the server). */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) #define ERRbaddrive 15 /* Invalid drive specified. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) #define ERRremcd 16 /* A Delete Directory request attempted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) to remove the server's current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) directory. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) #define ERRdiffdevice 17 /* Not same device (e.g., a cross
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) volume rename was attempted */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #define ERRnofiles 18 /* A File Search command can find no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) more files matching the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) criteria. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #define ERRwriteprot 19 /* media is write protected */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) #define ERRgeneral 31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) #define ERRbadshare 32 /* The sharing mode specified for an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Open conflicts with existing FIDs on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) the file. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) #define ERRlock 33 /* A Lock request conflicted with an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) existing lock or specified an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) invalid mode, or an Unlock requested
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) attempted to remove a lock held by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) another process. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) #define ERRunsup 50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) #define ERRnosuchshare 67
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) #define ERRfilexists 80 /* The file named in the request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) already exists. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #define ERRinvparm 87
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) #define ERRdiskfull 112
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) #define ERRinvname 123
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) #define ERRinvlevel 124
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) #define ERRdirnotempty 145
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) #define ERRnotlocked 158
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) #define ERRcancelviolation 173
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define ERRalreadyexists 183
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define ERRbadpipe 230
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define ERRpipebusy 231
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define ERRpipeclosing 232
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #define ERRnotconnected 233
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define ERRmoredata 234
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define ERReasnotsupported 282
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define ErrQuota 0x200 /* The operation would cause a quota
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) limit to be exceeded. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #define ErrNotALink 0x201 /* A link operation was performed on a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) pathname that was not a link. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) /* Below errors are used internally (do not come over the wire) for passthrough
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) from STATUS codes to POSIX only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define ERRsymlink 0xFFFD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define ErrTooManyLinks 0xFFFE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) /* Following error codes may be generated with the ERRSRV error class.*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define ERRerror 1 /* Non-specific error code. It is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) returned under the following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) conditions: resource other than disk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) space exhausted (e.g. TIDs), first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) SMB command was not negotiate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) multiple negotiates attempted, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) internal server error. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define ERRbadpw 2 /* Bad password - name/password pair in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) a TreeConnect or Session Setup are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) invalid. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #define ERRbadtype 3 /* used for indicating DFS referral
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) needed */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define ERRaccess 4 /* The client does not have the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) necessary access rights within the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) specified context for requested
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) function. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define ERRinvtid 5 /* The Tid specified in a command was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) invalid. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define ERRinvnetname 6 /* Invalid network name in tree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) connect. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define ERRinvdevice 7 /* Invalid device - printer request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) made to non-printer connection or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) non-printer request made to printer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) connection. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) #define ERRqfull 49 /* Print queue full (files) -- returned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) by open print file. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define ERRqtoobig 50 /* Print queue full -- no space. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #define ERRqeof 51 /* EOF on print queue dump */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) #define ERRinvpfid 52 /* Invalid print file FID. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) #define ERRsmbcmd 64 /* The server did not recognize the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) command received. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define ERRsrverror 65 /* The server encountered an internal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) error, e.g., system file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) unavailable. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #define ERRbadBID 66 /* (obsolete) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define ERRfilespecs 67 /* The Fid and pathname parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) contained an invalid combination of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) values. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) #define ERRbadLink 68 /* (obsolete) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define ERRbadpermits 69 /* The access permissions specified for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) a file or directory are not a valid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) combination. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) #define ERRbadPID 70
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #define ERRsetattrmode 71 /* attribute (mode) is invalid */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define ERRpaused 81 /* Server is paused */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define ERRmsgoff 82 /* reserved - messaging off */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) #define ERRnoroom 83 /* reserved - no room for message */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) #define ERRrmuns 87 /* reserved - too many remote names */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define ERRtimeout 88 /* operation timed out */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) #define ERRnoresource 89 /* No resources available for request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) #define ERRtoomanyuids 90 /* Too many UIDs active on this session
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) #define ERRbaduid 91 /* The UID is not known as a valid user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) #define ERRusempx 250 /* temporarily unable to use raw */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) #define ERRusestd 251 /* temporarily unable to use either raw
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) or mpx */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) #define ERR_NOTIFY_ENUM_DIR 1024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define ERRnoSuchUser 2238 /* user account does not exist */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) #define ERRaccountexpired 2239
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) #define ERRbadclient 2240 /* can not logon from this client */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define ERRbadLogonTime 2241 /* logon hours do not allow this */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) #define ERRpasswordExpired 2242
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) #define ERRnetlogonNotStarted 2455
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define ERRnosupport 0xFFFF