blob: aeffdad829e2e4289f97328e0d6cc1c22dc30a85 [file] [log] [blame]
Steve French929be902021-06-18 00:31:49 -05001/* SPDX-License-Identifier: LGPL-2.1 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
4 * Copyright (c) International Business Machines Corp., 2002,2004
5 * Author(s): Steve French (sfrench@us.ibm.com)
6 *
Steve French79a58d12007-07-06 22:44:50 +00007 * See Error Codes section of the SNIA CIFS Specification
8 * for more information
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 *
Linus Torvalds1da177e2005-04-16 15:20:36 -070010 */
11
Steve Frenchd14537f12005-04-28 22:41:05 -070012#define SUCCESS 0x00 /* The request was successful. */
13#define ERRDOS 0x01 /* Error is from the core DOS operating system set */
14#define ERRSRV 0x02 /* Error is generated by the file server daemon */
15#define ERRHRD 0x03 /* Error is a hardware error. */
16#define ERRCMD 0xFF /* Command was not in the "SMB" format. */
Linus Torvalds1da177e2005-04-16 15:20:36 -070017
18/* The following error codes may be generated with the SUCCESS error class.*/
19
Steve Frenchd14537f12005-04-28 22:41:05 -070020/*#define SUCCESS 0 The request was successful. */
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22/* The following error codes may be generated with the ERRDOS error class.*/
23
Steve Frenchd14537f12005-04-28 22:41:05 -070024#define ERRbadfunc 1 /* Invalid function. The server did not
25 recognize or could not perform a
26 system call generated by the server,
27 e.g., set the DIRECTORY attribute on
28 a data file, invalid seek mode. */
29#define ERRbadfile 2 /* File not found. The last component
30 of a file's pathname could not be
31 found. */
32#define ERRbadpath 3 /* Directory invalid. A directory
33 component in a pathname could not be
34 found. */
35#define ERRnofids 4 /* Too many open files. The server has
36 no file handles available. */
37#define ERRnoaccess 5 /* Access denied, the client's context
38 does not permit the requested
39 function. This includes the
40 following conditions: invalid rename
41 command, write to Fid open for read
42 only, read on Fid open for write
43 only, attempt to delete a non-empty
44 directory */
45#define ERRbadfid 6 /* Invalid file handle. The file handle
46 specified was not recognized by the
47 server. */
48#define ERRbadmcb 7 /* Memory control blocks destroyed. */
49#define ERRnomem 8 /* Insufficient server memory to
50 perform the requested function. */
51#define ERRbadmem 9 /* Invalid memory block address. */
52#define ERRbadenv 10 /* Invalid environment. */
53#define ERRbadformat 11 /* Invalid format. */
54#define ERRbadaccess 12 /* Invalid open mode. */
55#define ERRbaddata 13 /* Invalid data (generated only by
56 IOCTL calls within the server). */
57#define ERRbaddrive 15 /* Invalid drive specified. */
58#define ERRremcd 16 /* A Delete Directory request attempted
59 to remove the server's current
60 directory. */
61#define ERRdiffdevice 17 /* Not same device (e.g., a cross
62 volume rename was attempted */
63#define ERRnofiles 18 /* A File Search command can find no
64 more files matching the specified
65 criteria. */
Jeff Layton3572d282010-07-26 10:29:57 -040066#define ERRwriteprot 19 /* media is write protected */
Steve Frenchd14537f12005-04-28 22:41:05 -070067#define ERRgeneral 31
68#define ERRbadshare 32 /* The sharing mode specified for an
69 Open conflicts with existing FIDs on
70 the file. */
71#define ERRlock 33 /* A Lock request conflicted with an
72 existing lock or specified an
73 invalid mode, or an Unlock requested
74 attempted to remove a lock held by
75 another process. */
76#define ERRunsup 50
77#define ERRnosuchshare 67
78#define ERRfilexists 80 /* The file named in the request
79 already exists. */
80#define ERRinvparm 87
81#define ERRdiskfull 112
82#define ERRinvname 123
83#define ERRinvlevel 124
84#define ERRdirnotempty 145
85#define ERRnotlocked 158
Jeremy Allison7ee1af72006-08-02 21:56:33 +000086#define ERRcancelviolation 173
Steve Frenchd14537f12005-04-28 22:41:05 -070087#define ERRalreadyexists 183
88#define ERRbadpipe 230
89#define ERRpipebusy 231
90#define ERRpipeclosing 232
91#define ERRnotconnected 233
92#define ERRmoredata 234
93#define ERReasnotsupported 282
94#define ErrQuota 0x200 /* The operation would cause a quota
95 limit to be exceeded. */
96#define ErrNotALink 0x201 /* A link operation was performed on a
97 pathname that was not a link. */
Linus Torvalds1da177e2005-04-16 15:20:36 -070098
Steve French11aa0142005-04-28 22:41:10 -070099/* Below errors are used internally (do not come over the wire) for passthrough
100 from STATUS codes to POSIX only */
Steve French9e39b0a2009-04-30 21:31:15 +0000101#define ERRsymlink 0xFFFD
Steve French6dc0f872007-07-06 23:13:06 +0000102#define ErrTooManyLinks 0xFFFE
Steve French11aa0142005-04-28 22:41:10 -0700103
Steve Frenchd14537f12005-04-28 22:41:05 -0700104/* Following error codes may be generated with the ERRSRV error class.*/
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105
Steve Frenchd14537f12005-04-28 22:41:05 -0700106#define ERRerror 1 /* Non-specific error code. It is
107 returned under the following
108 conditions: resource other than disk
109 space exhausted (e.g. TIDs), first
110 SMB command was not negotiate,
111 multiple negotiates attempted, and
112 internal server error. */
113#define ERRbadpw 2 /* Bad password - name/password pair in
114 a TreeConnect or Session Setup are
115 invalid. */
116#define ERRbadtype 3 /* used for indicating DFS referral
117 needed */
118#define ERRaccess 4 /* The client does not have the
119 necessary access rights within the
120 specified context for requested
121 function. */
122#define ERRinvtid 5 /* The Tid specified in a command was
123 invalid. */
124#define ERRinvnetname 6 /* Invalid network name in tree
125 connect. */
126#define ERRinvdevice 7 /* Invalid device - printer request
127 made to non-printer connection or
128 non-printer request made to printer
129 connection. */
130#define ERRqfull 49 /* Print queue full (files) -- returned
131 by open print file. */
132#define ERRqtoobig 50 /* Print queue full -- no space. */
133#define ERRqeof 51 /* EOF on print queue dump */
134#define ERRinvpfid 52 /* Invalid print file FID. */
135#define ERRsmbcmd 64 /* The server did not recognize the
136 command received. */
137#define ERRsrverror 65 /* The server encountered an internal
138 error, e.g., system file
139 unavailable. */
140#define ERRbadBID 66 /* (obsolete) */
141#define ERRfilespecs 67 /* The Fid and pathname parameters
142 contained an invalid combination of
143 values. */
144#define ERRbadLink 68 /* (obsolete) */
145#define ERRbadpermits 69 /* The access permissions specified for
146 a file or directory are not a valid
147 combination. */
148#define ERRbadPID 70
149#define ERRsetattrmode 71 /* attribute (mode) is invalid */
150#define ERRpaused 81 /* Server is paused */
151#define ERRmsgoff 82 /* reserved - messaging off */
152#define ERRnoroom 83 /* reserved - no room for message */
153#define ERRrmuns 87 /* reserved - too many remote names */
154#define ERRtimeout 88 /* operation timed out */
155#define ERRnoresource 89 /* No resources available for request
156 */
157#define ERRtoomanyuids 90 /* Too many UIDs active on this session
158 */
159#define ERRbaduid 91 /* The UID is not known as a valid user
160 */
161#define ERRusempx 250 /* temporarily unable to use raw */
162#define ERRusestd 251 /* temporarily unable to use either raw
163 or mpx */
164#define ERR_NOTIFY_ENUM_DIR 1024
Steve Frencha761ac52007-10-18 21:45:27 +0000165#define ERRnoSuchUser 2238 /* user account does not exist */
Steve Frenchd14537f12005-04-28 22:41:05 -0700166#define ERRaccountexpired 2239
Steve Frencha761ac52007-10-18 21:45:27 +0000167#define ERRbadclient 2240 /* can not logon from this client */
168#define ERRbadLogonTime 2241 /* logon hours do not allow this */
Steve Frenchd14537f12005-04-28 22:41:05 -0700169#define ERRpasswordExpired 2242
170#define ERRnetlogonNotStarted 2455
171#define ERRnosupport 0xFFFF