mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
235 lines
8.2 KiB
235 lines
8.2 KiB
/***
|
|
*error.h - DOS error codes
|
|
*
|
|
* Copyright (c) 1987-1995, Microsoft Corporation. All rights reserved.
|
|
*
|
|
*Purpose:
|
|
* DOS calls all return error codes through AX. If an error occurred then
|
|
* the carry bit will be set and the error code is in AX. If no error occurred
|
|
* then the carry bit is reset and AX contains returned info.
|
|
*
|
|
* Since the set of error codes is being extended as we extend the operating
|
|
* system, we have provided a means for applications to ask the system for a
|
|
* recommended course of action when they receive an error.
|
|
*
|
|
* The GetExtendedError system call returns a universal error, an error
|
|
* location and a recommended course of action. The universal error code is
|
|
* a symptom of the error REGARDLESS of the context in which GetExtendedError
|
|
* is issued.
|
|
*
|
|
* [Internal]
|
|
*
|
|
*Revision History:
|
|
* 10-25-87 SKS Updated from final OS/2 v1.0 sources as of 10-25-87
|
|
* 06-06-89 PHG Added network related errors from error.inc
|
|
* 08-03-89 GJF Fixed copyright
|
|
* 10-30-89 GJF Fixed copyright (again)
|
|
* 02-28-90 GJF Added #ifndef _INC_ERROR stuff
|
|
* 02-14-95 CFW Clean up Mac merge.
|
|
* 03-29-95 CFW Add error message to internal headers.
|
|
* 12-14-95 JWM Add "#pragma once".
|
|
*
|
|
****/
|
|
|
|
#if _MSC_VER > 1000 /*IFSTRIP=IGN*/
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifndef _INC_ERROR
|
|
|
|
#ifndef _CRTBLD
|
|
/*
|
|
* This is an internal C runtime header file. It is used when building
|
|
* the C runtimes only. It is not to be used as a public header file.
|
|
*/
|
|
#error ERROR: Use of C runtime library internal header file.
|
|
#endif /* _CRTBLD */
|
|
|
|
#define NO_ERROR 0
|
|
#define ERROR_INVALID_FUNCTION 1
|
|
#define ERROR_FILE_NOT_FOUND 2
|
|
#define ERROR_PATH_NOT_FOUND 3
|
|
#define ERROR_TOO_MANY_OPEN_FILES 4
|
|
#define ERROR_ACCESS_DENIED 5
|
|
#define ERROR_INVALID_HANDLE 6
|
|
#define ERROR_ARENA_TRASHED 7
|
|
#define ERROR_NOT_ENOUGH_MEMORY 8
|
|
#define ERROR_INVALID_BLOCK 9
|
|
#define ERROR_BAD_ENVIRONMENT 10
|
|
#define ERROR_BAD_FORMAT 11
|
|
#define ERROR_INVALID_ACCESS 12
|
|
#define ERROR_INVALID_DATA 13
|
|
/* **** reserved 14 ; ***** */
|
|
#define ERROR_INVALID_DRIVE 15
|
|
#define ERROR_CURRENT_DIRECTORY 16
|
|
#define ERROR_NOT_SAME_DEVICE 17
|
|
#define ERROR_NO_MORE_FILES 18
|
|
|
|
/* These are the universal int 24 mappings for the old INT 24 set of errors */
|
|
|
|
#define ERROR_WRITE_PROTECT 19
|
|
#define ERROR_BAD_UNIT 20
|
|
#define ERROR_NOT_READY 21
|
|
#define ERROR_BAD_COMMAND 22
|
|
#define ERROR_CRC 23
|
|
#define ERROR_BAD_LENGTH 24
|
|
#define ERROR_SEEK 25
|
|
#define ERROR_NOT_DOS_DISK 26
|
|
#define ERROR_SECTOR_NOT_FOUND 27
|
|
#define ERROR_OUT_OF_PAPER 28
|
|
#define ERROR_WRITE_FAULT 29
|
|
#define ERROR_READ_FAULT 30
|
|
#define ERROR_GEN_FAILURE 31
|
|
|
|
/* These are the new 3.0 error codes reported through INT 24 */
|
|
|
|
#define ERROR_SHARING_VIOLATION 32
|
|
#define ERROR_LOCK_VIOLATION 33
|
|
#define ERROR_WRONG_DISK 34
|
|
#define ERROR_FCB_UNAVAILABLE 35
|
|
#define ERROR_SHARING_BUFFER_EXCEEDED 36
|
|
|
|
/* New OEM network-related errors are 50-79 */
|
|
|
|
#define ERROR_NOT_SUPPORTED 50
|
|
|
|
/* End of INT 24 reportable errors */
|
|
|
|
|
|
/* Network related errors */
|
|
#define ERROR_NOT_SUPPORTED 50 /* Network request not supported */
|
|
#define ERROR_REM_NOT_LIST 51 /* Remote computer not listening */
|
|
#define ERROR_DUP_NAME 52 /* Duplicate name on network */
|
|
#define ERROR_BAD_NETPATH 53 /* Network path not found */
|
|
#define ERROR_NETWORK_BUSY 54 /* Network busy */
|
|
#define ERROR_DEV_NOT_EXIST 55 /* Network device no longer exists */
|
|
#define ERROR_TOO_MANY_CMDS 56 /* Net BIOS command limit exceeded */
|
|
#define ERROR_ADAP_HDW_ERR 57 /* Network adapter hardware error */
|
|
#define ERROR_BAD_NET_RESP 58 /* Incorrect response from network */
|
|
#define ERROR_UNEXP_NET_ERR 59 /* Unexpected network error */
|
|
#define ERROR_BAD_REM_ADAP 60 /* Incompatible remote adapter */
|
|
#define ERROR_PRINTQ_FULL 61 /* Print queue full */
|
|
#define ERROR_NO_SPOOL_SPACE 62 /* Not enough space for print file */
|
|
#define ERROR_PRINT_CANCELLED 63 /* Print file was cancelled */
|
|
#define ERROR_NETNAME_DELETED 64 /* Network name was deleted */
|
|
#define ERROR_NETWORK_ACCESS_DENIED 65 /* Access denied */
|
|
#define ERROR_BAD_DEV_TYPE 66 /* Network device type incorrect */
|
|
#define ERROR_BAD_NET_NAME 67 /* Network name not found */
|
|
#define ERROR_TOO_MANY_NAMES 68 /* Network name limit exceeded */
|
|
#define ERROR_TOO_MANY_SESS 69 /* Net BIOS session limit exceeded */
|
|
#define ERROR_SHARING_PAUSED 70 /* Sharing temporarily paused */
|
|
#define ERROR_REQ_NOT_ACCEP 71 /* Network request not accepted */
|
|
#define ERROR_REDIR_PAUSED 72 /* Print or disk redirection is paused */
|
|
|
|
#define ERROR_FILE_EXISTS 80
|
|
#define ERROR_DUP_FCB 81 /* ***** */
|
|
#define ERROR_CANNOT_MAKE 82
|
|
#define ERROR_FAIL_I24 83
|
|
|
|
/* New 3.0 network related error codes */
|
|
|
|
#define ERROR_OUT_OF_STRUCTURES 84
|
|
#define ERROR_ALREADY_ASSIGNED 85
|
|
#define ERROR_INVALID_PASSWORD 86
|
|
#define ERROR_INVALID_PARAMETER 87
|
|
#define ERROR_NET_WRITE_FAULT 88
|
|
|
|
/* New error codes for 4.0 */
|
|
|
|
#define ERROR_NO_PROC_SLOTS 89 /* no process slots available */
|
|
#define ERROR_NOT_FROZEN 90
|
|
#define ERR_TSTOVFL 91 /* timer service table overflow */
|
|
#define ERR_TSTDUP 92 /* timer service table duplicate */
|
|
#define ERROR_NO_ITEMS 93 /* There were no items to operate upon */
|
|
#define ERROR_INTERRUPT 95 /* interrupted system call */
|
|
|
|
#define ERROR_TOO_MANY_SEMAPHORES 100
|
|
#define ERROR_EXCL_SEM_ALREADY_OWNED 101
|
|
#define ERROR_SEM_IS_SET 102
|
|
#define ERROR_TOO_MANY_SEM_REQUESTS 103
|
|
#define ERROR_INVALID_AT_INTERRUPT_TIME 104
|
|
|
|
#define ERROR_SEM_OWNER_DIED 105 /* waitsem found owner died */
|
|
#define ERROR_SEM_USER_LIMIT 106 /* too many procs have this sem */
|
|
#define ERROR_DISK_CHANGE 107 /* insert disk b into drive a */
|
|
#define ERROR_DRIVE_LOCKED 108 /* drive locked by another process */
|
|
#define ERROR_BROKEN_PIPE 109 /* write on pipe with no reader */
|
|
|
|
#define ERROR_I24_WRITE_PROTECT 0
|
|
#define ERROR_I24_BAD_UNIT 1
|
|
#define ERROR_I24_NOT_READY 2
|
|
#define ERROR_I24_BAD_COMMAND 3
|
|
#define ERROR_I24_CRC 4
|
|
#define ERROR_I24_BAD_LENGTH 5
|
|
#define ERROR_I24_SEEK 6
|
|
#define ERROR_I24_NOT_DOS_DISK 7
|
|
#define ERROR_I24_SECTOR_NOT_FOUND 8
|
|
#define ERROR_I24_OUT_OF_PAPER 9
|
|
#define ERROR_I24_WRITE_FAULT 0x0A
|
|
#define ERROR_I24_READ_FAULT 0x0B
|
|
#define ERROR_I24_GEN_FAILURE 0x0C
|
|
#define ERROR_I24_DISK_CHANGE 0x0D
|
|
#define ERROR_I24_WRONG_DISK 0x0F
|
|
#define ERROR_I24_UNCERTAIN_MEDIA 0x10
|
|
#define ERROR_I24_CHAR_CALL_INTERRUPTED 0x11
|
|
#define ERROR_I24_NO_MONITOR_SUPPORT 0x12
|
|
#define ERROR_I24_INVALID_PARAMETER 0x13
|
|
|
|
#define ALLOWED_FAIL 0x0001
|
|
#define ALLOWED_ABORT 0x0002
|
|
#define ALLOWED_RETRY 0x0004
|
|
#define ALLOWED_IGNORE 0x0008
|
|
|
|
#define I24_OPERATION 0x1
|
|
#define I24_AREA 0x6
|
|
/* 01 if FAT */
|
|
/* 10 if root DIR */
|
|
/* 11 if DATA */
|
|
#define I24_CLASS 0x80
|
|
|
|
|
|
/* Values for error CLASS */
|
|
|
|
#define ERRCLASS_OUTRES 1 /* Out of Resource */
|
|
#define ERRCLASS_TEMPSIT 2 /* Temporary Situation */
|
|
#define ERRCLASS_AUTH 3 /* Permission problem */
|
|
#define ERRCLASS_INTRN 4 /* Internal System Error */
|
|
#define ERRCLASS_HRDFAIL 5 /* Hardware Failure */
|
|
#define ERRCLASS_SYSFAIL 6 /* System Failure */
|
|
#define ERRCLASS_APPERR 7 /* Application Error */
|
|
#define ERRCLASS_NOTFND 8 /* Not Found */
|
|
#define ERRCLASS_BADFMT 9 /* Bad Format */
|
|
#define ERRCLASS_LOCKED 10 /* Locked */
|
|
#define ERRCLASS_MEDIA 11 /* Media Failure */
|
|
#define ERRCLASS_ALREADY 12 /* Collision with Existing Item */
|
|
#define ERRCLASS_UNK 13 /* Unknown/other */
|
|
#define ERRCLASS_CANT 14
|
|
#define ERRCLASS_TIME 15
|
|
|
|
/* Values for error ACTION */
|
|
|
|
#define ERRACT_RETRY 1 /* Retry */
|
|
#define ERRACT_DLYRET 2 /* Delay Retry, retry after pause */
|
|
#define ERRACT_USER 3 /* Ask user to regive info */
|
|
#define ERRACT_ABORT 4 /* abort with clean up */
|
|
#define ERRACT_PANIC 5 /* abort immediately */
|
|
#define ERRACT_IGNORE 6 /* ignore */
|
|
#define ERRACT_INTRET 7 /* Retry after User Intervention */
|
|
|
|
/* Values for error LOCUS */
|
|
|
|
#define ERRLOC_UNK 1 /* No appropriate value */
|
|
#define ERRLOC_DISK 2 /* Random Access Mass Storage */
|
|
#define ERRLOC_NET 3 /* Network */
|
|
#define ERRLOC_SERDEV 4 /* Serial Device */
|
|
#define ERRLOC_MEM 5 /* Memory */
|
|
|
|
/* Abnormal termination codes */
|
|
|
|
#define TC_NORMAL 0
|
|
#define TC_HARDERR 1
|
|
#define TC_GP_TRAP 2
|
|
#define TC_SIGNAL 3
|
|
|
|
#define _INC_ERROR
|
|
#endif /* _INC_ERROR */
|