xref: /illumos-gate/usr/src/uts/common/smb/doserror.h (revision 2e0fe3efe5f9d579d4e44b3532d8e342c68b40ca)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 
22 /*
23  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
24  */
25 
26 #ifndef _SMB_DOSERROR_H
27 #define	_SMB_DOSERROR_H
28 
29 /*
30  * This file defines the list of DOS error codes. I think the error
31  * codes are divided into different classes, which is why there are
32  * duplicate values.
33  */
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 
40 /*
41  * Error source or class
42  */
43 #define	ERRDOS		0x01	/* Core DOS operating system error. */
44 #define	ERRSRV		0x02	/* Server network file error */
45 #define	ERRHRD		0x03	/* Hardware error */
46 #define	ERRCMD		0xFF	/* Command was not in the "SMB" format. */
47 
48 
49 /*
50  * ERRDOS error codes
51  */
52 #define	ERRbadfunc	1	/* Invalid function. */
53 #define	ERRbadfile	2	/* File not found (last component) */
54 #define	ERRbadpath	3	/* path not found (directory part) */
55 #define	ERRnofids	4	/* Too many open files. */
56 #define	ERRnoaccess	5	/* Access denied. */
57 #define	ERRbadfid	6	/* Invalid file handle. */
58 #define	ERRbadmcb	7	/* Memory control blocks destroyed. */
59 #define	ERRnomem	8	/* Insufficient memory. */
60 #define	ERRbadmem	9	/* Invalid memory block address. */
61 #define	ERRbadenv	10	/* Invalid environment. */
62 #define	ERRbadformat	11	/* Invalid format. */
63 #define	ERRbadaccess	12	/* Invalid open mode. */
64 #define	ERRbaddata	13	/* Invalid data (from IOCTL calls) */
65 #define	ERRbaddrive	15	/* Invalid drive specified. */
66 #define	ERRremcd	16	/* Attempted to delete current directory. */
67 #define	ERRdiffdevice	17	/* Not same device (cross volume rename) */
68 #define	ERRnofiles	18	/* File search found no more files. */
69 #define	ERRbadshare	32	/* Share mode conflict with existing open. */
70 #define	ERRlock		33	/* Lock conflict with existing lock, etc. */
71 #define	ERRdiskfull	39	/* No space left on device. */
72 #define	ERRfilexists	80	/* Requested file name already exists. */
73 
74 /*
75  * These are compatible with the MS header files, but the
76  * smb/nterror.h names for these are preferred.
77  */
78 #define	ERRbadpipe	230	/* See ERROR_BAD_PIPE (named pipe invalid) */
79 #define	ERRpipebusy	231	/* See ERROR_PIPE_BUSY (all instances busy) */
80 #define	ERRpipeclosing	232	/* See ERROR_NO_DATA (pipe closing) */
81 #define	ERRnotconnected	233	/* See ERROR_PIPE_NOT_CONNECTED */
82 #define	ERRmoredata	234	/* See ERROR_MORE_DATA (pipe has more) */
83 
84 
85 /*
86  * ERRSRV error codes
87  */
88 #define	ERRerror	1	/* Non-specific error code. */
89 #define	ERRbadpw	2	/* Bad password (tree connect, etc) */
90 #define	ERRbadtype	3	/* reserved */
91 #define	ERRaccess	4	/* access denied */
92 #define	ERRinvnid	5	/* Invalid tree ID */
93 #define	ERRinvnetname	6	/* Invalid network name (tree connect) */
94 #define	ERRinvdevice	7	/* Invalid device (print jobs, etc.) */
95 #define	ERRqfull	49	/* Print queue full (files) */
96 #define	ERRqtoobig	50	/* Print queue full (no space) */
97 #define	ERRqeof		51	/* EOF on print queue dump. */
98 #define	ERRinvpfid	52	/* Invalid print file FID. */
99 #define	ERRsmbcmd	64	/* Server did not recognize the command. */
100 #define	ERRsrverror	65	/* Server encountered an internal error. */
101 #define	ERRfilespecs	67	/* FID and path param combination is bad. */
102 #define	ERRbadpermits	69	/* Access permissions invalid (SetF*) */
103 #define	ERRsetattrmode	71	/* Attribute mode invalid (SetF*) */
104 #define	ERRpaused	81	/* Server is paused. */
105 #define	ERRmsgoff	82	/* Not receiving messages. */
106 #define	ERRnoroom	83	/* No room to buffer message. */
107 #define	ERRrmuns	87	/* Too many remote user names (messaging) */
108 #define	ERRtimeout	88	/* Operation timed out. */
109 #define	ERRnoresource	89	/* No resources available for request. */
110 #define	ERRtoomanyuids	90	/* Too many UIDs active on connection. */
111 #define	ERRbaduid	91	/* UID is not valid. */
112 
113 #define	ERRusempx	250	/* Temporarily unable to support Raw, */
114 				/* use MPX mode */
115 #define	ERRusestd	251	/* Temporarily unable to support Raw, */
116 				/* use stdandard r/w */
117 #define	ERRcontmpx	252	/* Continue in MPX mode */
118 
119 #define	ERRnosupport	0xffff	/* Function not supported. */
120 
121 
122 /*
123  * ERRHRD error codes
124  */
125 #define	ERRnowrite	19	/* Attempt to write on write-protected media */
126 #define	ERRbadunit	20	/* Unknown unit. */
127 #define	ERRnotready	21	/* Drive not ready. */
128 #define	ERRbadcmd	22	/* Unknown command. */
129 #define	ERRdata		23	/* Data error (CRC). */
130 #define	ERRbadreq	24	/* Bad request structure length. */
131 #define	ERRseek		25	/* Seek error. */
132 #define	ERRbadmedia	26	/* Unknown media type. */
133 #define	ERRbadsector	27	/* Sector not found. */
134 #define	ERRnopaper	28	/* Printer out of paper. */
135 #define	ERRwrite	29	/* Write fault. */
136 #define	ERRread		30	/* Read fault. */
137 #define	ERRgeneral	31	/* General failure. */
138 /*	ERRbadshare	32	Same as for DOSERR (see above) */
139 /*	ERRlock		33	Same as for DOSERR (see above) */
140 #define	ERRwrongdisk	34	/* The wrong disk was found in a drive. */
141 #define	ERRFCBUnavail	35	/* No FCBs are available to process request. */
142 #define	ERRsharebufexc	36	/* A sharing buffer has been exceeded. */
143 
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif /* _SMB_DOSERROR_H */
150