smberr.h 7.47 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1 2 3 4 5 6
/*
 *   fs/cifs/smberr.h
 *
 *   Copyright (c) International Business Machines  Corp., 2002,2004
 *   Author(s): Steve French (sfrench@us.ibm.com)
 *
Steve French's avatar
Steve French committed
7 8
 *   See Error Codes section of the SNIA CIFS Specification
 *   for more information
Linus Torvalds's avatar
Linus Torvalds committed
9 10 11 12 13 14 15 16 17 18 19 20 21
 *
 *   This library is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU Lesser General Public License as published
 *   by the Free Software Foundation; either version 2.1 of the License, or
 *   (at your option) any later version.
 *
 *   This library is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
 *   the GNU Lesser General Public License for more details.
 *
 *   You should have received a copy of the GNU Lesser General Public License
 *   along with this library; if not, write to the Free Software
Steve French's avatar
Steve French committed
22
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Linus Torvalds's avatar
Linus Torvalds committed
23 24
 */

25 26 27 28 29
#define SUCCESS	0x00	/* The request was successful. */
#define ERRDOS	0x01	/* Error is from the core DOS operating system set */
#define ERRSRV	0x02	/* Error is generated by the file server daemon */
#define ERRHRD	0x03	/* Error is a hardware error. */
#define ERRCMD	0xFF	/* Command was not in the "SMB" format. */
Linus Torvalds's avatar
Linus Torvalds committed
30 31 32

/* The following error codes may be generated with the SUCCESS error class.*/

33
/*#define SUCCESS	0	The request was successful. */
Linus Torvalds's avatar
Linus Torvalds committed
34 35 36

/* The following error codes may be generated with the ERRDOS error class.*/

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
#define ERRbadfunc		1	/* Invalid function. The server did not
					   recognize or could not perform a
					   system call generated by the server,
					   e.g., set the DIRECTORY attribute on
					   a data file, invalid seek mode. */
#define ERRbadfile		2	/* File not found. The last component
					   of a file's pathname could not be
					   found. */
#define ERRbadpath		3	/* Directory invalid. A directory
					   component in a pathname could not be
					   found. */
#define ERRnofids		4	/* Too many open files. The server has
					   no file handles available. */
#define ERRnoaccess		5	/* Access denied, the client's context
					   does not permit the requested
					   function. This includes the
					   following conditions: invalid rename
					   command, write to Fid open for read
					   only, read on Fid open for write
					   only, attempt to delete a non-empty
					   directory */
#define ERRbadfid		6	/* Invalid file handle. The file handle
					   specified was not recognized by the
					   server. */
#define ERRbadmcb		7	/* Memory control blocks destroyed. */
#define ERRnomem		8	/* Insufficient server memory to
					   perform the requested function. */
#define ERRbadmem		9	/* Invalid memory block address. */
#define ERRbadenv		10	/* Invalid environment. */
#define ERRbadformat		11	/* Invalid format. */
#define ERRbadaccess		12	/* Invalid open mode. */
#define ERRbaddata		13	/* Invalid data (generated only by
					   IOCTL calls within the server). */
#define ERRbaddrive		15	/* Invalid drive specified. */
#define ERRremcd		16	/* A Delete Directory request attempted
					   to remove the server's current
					   directory. */
#define ERRdiffdevice		17	/* Not same device (e.g., a cross
					   volume rename was attempted */
#define ERRnofiles		18	/* A File Search command can find no
					   more files matching the specified
					   criteria. */
79
#define ERRwriteprot		19	/* media is write protected */
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
#define ERRgeneral		31
#define ERRbadshare		32	/* The sharing mode specified for an
					   Open conflicts with existing FIDs on
					   the file. */
#define ERRlock			33	/* A Lock request conflicted with an
					   existing lock or specified an
					   invalid mode, or an Unlock requested
					   attempted to remove a lock held by
					   another process. */
#define ERRunsup		50
#define ERRnosuchshare		67
#define ERRfilexists		80	/* The file named in the request
					   already exists. */
#define ERRinvparm		87
#define ERRdiskfull		112
#define ERRinvname		123
#define ERRinvlevel		124
#define ERRdirnotempty		145
#define ERRnotlocked		158
Jeremy Allison's avatar
Jeremy Allison committed
99
#define ERRcancelviolation	173
100 101 102 103 104 105 106 107 108 109 110
#define ERRalreadyexists	183
#define ERRbadpipe		230
#define ERRpipebusy		231
#define ERRpipeclosing		232
#define ERRnotconnected		233
#define ERRmoredata		234
#define ERReasnotsupported	282
#define ErrQuota		0x200	/* The operation would cause a quota
					   limit to be exceeded. */
#define ErrNotALink		0x201	/* A link operation was performed on a
					   pathname that was not a link. */
Linus Torvalds's avatar
Linus Torvalds committed
111

112 113
/* Below errors are used internally (do not come over the wire) for passthrough
   from STATUS codes to POSIX only  */
114
#define ERRsymlink              0xFFFD
Steve French's avatar
Steve French committed
115
#define ErrTooManyLinks         0xFFFE
116

117
/* Following error codes may be generated with the ERRSRV error class.*/
Linus Torvalds's avatar
Linus Torvalds committed
118

119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
#define ERRerror		1	/* Non-specific error code. It is
					   returned under the following
					   conditions: resource other than disk
					   space exhausted (e.g. TIDs), first
					   SMB command was not negotiate,
					   multiple negotiates attempted, and
					   internal server error. */
#define ERRbadpw		2	/* Bad password - name/password pair in
					   a TreeConnect or Session Setup are
					   invalid. */
#define ERRbadtype		3	/* used for indicating DFS referral
					   needed */
#define ERRaccess		4	/* The client does not have the
					   necessary access rights within the
					   specified context for requested
					   function. */
#define ERRinvtid		5	/* The Tid specified in a command was
					   invalid. */
#define ERRinvnetname		6	/* Invalid network name in tree
					   connect. */
#define ERRinvdevice		7	/* Invalid device - printer request
					   made to non-printer connection or
					   non-printer request made to printer
					   connection. */
#define ERRqfull		49	/* Print queue full (files) -- returned
					   by open print file. */
#define ERRqtoobig		50	/* Print queue full -- no space. */
#define ERRqeof			51	/* EOF on print queue dump */
#define ERRinvpfid		52	/* Invalid print file FID. */
#define ERRsmbcmd		64	/* The server did not recognize the
					   command received. */
#define ERRsrverror		65	/* The server encountered an internal
					   error, e.g., system file
					   unavailable. */
#define ERRbadBID		66	/* (obsolete) */
#define ERRfilespecs		67	/* The Fid and pathname parameters
					   contained an invalid combination of
					   values. */
#define ERRbadLink		68	/* (obsolete) */
#define ERRbadpermits		69	/* The access permissions specified for
					   a file or directory are not a valid
					   combination. */
#define ERRbadPID		70
#define ERRsetattrmode		71	/* attribute (mode) is invalid */
#define ERRpaused		81	/* Server is paused */
#define ERRmsgoff		82	/* reserved - messaging off */
#define ERRnoroom		83	/* reserved - no room for message */
#define ERRrmuns		87	/* reserved - too many remote names */
#define ERRtimeout		88	/* operation timed out */
#define ERRnoresource		89	/* No resources available for request
					   */
#define ERRtoomanyuids		90	/* Too many UIDs active on this session
					   */
#define ERRbaduid		91	/* The UID is not known as a valid user
					   */
#define ERRusempx		250	/* temporarily unable to use raw */
#define ERRusestd		251	/* temporarily unable to use either raw
					   or mpx */
#define ERR_NOTIFY_ENUM_DIR	1024
178
#define ERRnoSuchUser		2238	/* user account does not exist */
179
#define ERRaccountexpired	2239
180 181
#define ERRbadclient		2240	/* can not logon from this client */
#define ERRbadLogonTime		2241	/* logon hours do not allow this */
182 183 184
#define ERRpasswordExpired	2242
#define ERRnetlogonNotStarted	2455
#define ERRnosupport		0xFFFF