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