hc
2024-08-16 a24a44ff9ca902811b99aa9663d697cf452e08ef
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
/*
 *   fs/cifs/smberr.h
 *
 *   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
 *
 *   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
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */
 
#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 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