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