summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/smb/doserror.h
blob: 63e218051914f547ccf4cc5fd7a98647ad19ee95 (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
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef _SMB_DOSERROR_H
#define	_SMB_DOSERROR_H

/*
 * This file defines the list of DOS error codes. I think the error
 * codes are divided into different classes, which is why there are
 * duplicate values.
 */

#ifdef __cplusplus
extern "C" {
#endif


/*
 * Error source or class
 */
#define	ERRDOS		0x01	/* Core DOS operating system error. */
#define	ERRSRV		0x02	/* Server network file error */
#define	ERRHRD		0x03	/* Hardware error */
#define	ERRCMD		0xFF	/* Command was not in the "SMB" format. */


/*
 * ERRDOS error codes
 */
#define	ERRbadfunc	1	/* Invalid function. */
#define	ERRbadfile	2	/* File not found (last component) */
#define	ERRbadpath	3	/* path not found (directory part) */
#define	ERRnofids	4	/* Too many open files. */
#define	ERRnoaccess	5	/* Access denied. */
#define	ERRbadfid	6	/* Invalid file handle. */
#define	ERRbadmcb	7	/* Memory control blocks destroyed. */
#define	ERRnomem	8	/* Insufficient memory. */
#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 (from IOCTL calls) */
#define	ERRbaddrive	15	/* Invalid drive specified. */
#define	ERRremcd	16	/* Attempted to delete current directory. */
#define	ERRdiffdevice	17	/* Not same device (cross volume rename) */
#define	ERRnofiles	18	/* File search found no more files. */
#define	ERRbadshare	32	/* Share mode conflict with existing open. */
#define	ERRlock		33	/* Lock conflict with existing lock, etc. */
#define	ERRdiskfull	39	/* No space left on device. */
#define	ERRfilexists	80	/* Requested file name already exists. */

/*
 * These are compatible with the MS header files, but the
 * smb/nterror.h names for these are preferred.
 */
#define	ERRbadpipe	230	/* See ERROR_BAD_PIPE (named pipe invalid) */
#define	ERRpipebusy	231	/* See ERROR_PIPE_BUSY (all instances busy) */
#define	ERRpipeclosing	232	/* See ERROR_NO_DATA (pipe closing) */
#define	ERRnotconnected	233	/* See ERROR_PIPE_NOT_CONNECTED */
#define	ERRmoredata	234	/* See ERROR_MORE_DATA (pipe has more) */


/*
 * ERRSRV error codes
 */
#define	ERRerror	1	/* Non-specific error code. */
#define	ERRbadpw	2	/* Bad password (tree connect, etc) */
#define	ERRbadtype	3	/* reserved */
#define	ERRaccess	4	/* access denied */
#define	ERRinvnid	5	/* Invalid tree ID */
#define	ERRinvnetname	6	/* Invalid network name (tree connect) */
#define	ERRinvdevice	7	/* Invalid device (print jobs, etc.) */
#define	ERRqfull	49	/* Print queue full (files) */
#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	/* Server did not recognize the command. */
#define	ERRsrverror	65	/* Server encountered an internal error. */
#define	ERRfilespecs	67	/* FID and path param combination is bad. */
#define	ERRbadpermits	69	/* Access permissions invalid (SetF*) */
#define	ERRsetattrmode	71	/* Attribute mode invalid (SetF*) */
#define	ERRpaused	81	/* Server is paused. */
#define	ERRmsgoff	82	/* Not receiving messages. */
#define	ERRnoroom	83	/* No room to buffer message. */
#define	ERRrmuns	87	/* Too many remote user names (messaging) */
#define	ERRtimeout	88	/* Operation timed out. */
#define	ERRnoresource	89	/* No resources available for request. */
#define	ERRtoomanyuids	90	/* Too many UIDs active on connection. */
#define	ERRbaduid	91	/* UID is not valid. */

#define	ERRusempx	250	/* Temporarily unable to support Raw, */
				/* use MPX mode */
#define	ERRusestd	251	/* Temporarily unable to support Raw, */
				/* use stdandard r/w */
#define	ERRcontmpx	252	/* Continue in MPX mode */

#define	ERRnosupport	0xffff	/* Function not supported. */


/*
 * ERRHRD error codes
 */
#define	ERRnowrite	19	/* Attempt to write on write-protected media */
#define	ERRbadunit	20	/* Unknown unit. */
#define	ERRnotready	21	/* Drive not ready. */
#define	ERRbadcmd	22	/* Unknown command. */
#define	ERRdata		23	/* Data error (CRC). */
#define	ERRbadreq	24	/* Bad request structure length. */
#define	ERRseek		25	/* Seek error. */
#define	ERRbadmedia	26	/* Unknown media type. */
#define	ERRbadsector	27	/* Sector not found. */
#define	ERRnopaper	28	/* Printer out of paper. */
#define	ERRwrite	29	/* Write fault. */
#define	ERRread		30	/* Read fault. */
#define	ERRgeneral	31	/* General failure. */
/*	ERRbadshare	32	Same as for DOSERR (see above) */
/*	ERRlock		33	Same as for DOSERR (see above) */
#define	ERRwrongdisk	34	/* The wrong disk was found in a drive. */
#define	ERRFCBUnavail	35	/* No FCBs are available to process request. */
#define	ERRsharebufexc	36	/* A sharing buffer has been exceeded. */


#ifdef __cplusplus
}
#endif

#endif /* _SMB_DOSERROR_H */