summaryrefslogtreecommitdiff
path: root/fs/cifsd/smberr.h
blob: ce842303ae1f97824f98b65ccf32242997f820a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
/* SPDX-License-Identifier: LGPL-2.1+ */
/*
 *   Copyright (c) International Business Machines  Corp., 2002,2004
 *   Author(s): Steve French (sfrench@us.ibm.com)
 *
 *   See Error Codes section of the SNIA CIFS Specification
 *   for more information
 */
#ifndef __KSMBD_SMBERR_H
#define __KSMBD_SMBERR_H

#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. */

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

/*#define SUCCESS	0	The request was successful. */

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

#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.
					 */
#define ERRwriteprot		19	/* media is write protected */
#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
#define ERRcancelviolation	173
#define ERRnoatomiclocks	174
#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.
					 */

/*
 * Below errors are used internally (do not come over the wire) for passthrough
 * from STATUS codes to POSIX only
 */
#define ERRsymlink              0xFFFD
#define ErrTooManyLinks         0xFFFE

/* Following error codes may be generated with the ERRSRV error class.*/

#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
#define ERRnoSuchUser		2238	/* user account does not exist */
#define ERRaccountexpired	2239
#define ERRbadclient		2240	/* can not logon from this client */
#define ERRbadLogonTime		2241	/* logon hours do not allow this */
#define ERRpasswordExpired	2242
#define ERRnetlogonNotStarted	2455
#define ERRnosupport		0xFFFF

#endif /* __KSMBD_SMBERR_H */