Leaked source code of windows server 2003
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.

186 lines
6.4 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. exterr.h
  5. Abstract:
  6. Taken from mvdm\dos\v86\inc\error.inc
  7. Author:
  8. Richard L Firth (rfirth) 17-Oct-1992
  9. Revision History:
  10. --*/
  11. /** ERROR.INC - DOS Error Codes
  12. ;
  13. ; The newer (DOS 2.0 and above) "XENIX-style" calls
  14. ; return error codes through AX. If an error occurred then
  15. ; the carry bit will be set and the error code is in AX. If no error
  16. ; occurred then the carry bit is reset and AX contains returned info.
  17. ;
  18. ; Since the set of error codes is being extended as we extend the operating
  19. ; system, we have provided a means for applications to ask the system for a
  20. ; recommended course of action when they receive an error.
  21. ;
  22. ; The GetExtendedError system call returns a universal error, an error
  23. ; location and a recommended course of action. The universal error code is
  24. ; a symptom of the error REGARDLESS of the context in which GetExtendedError
  25. ; is issued.
  26. */
  27. // 2.0 error codes
  28. #define error_invalid_function 1
  29. #define error_file_not_found 2
  30. #define error_path_not_found 3
  31. #define error_too_many_open_files 4
  32. #define error_access_denied 5
  33. #define error_invalid_handle 6
  34. #define error_arena_trashed 7
  35. #define error_not_enough_memory 8
  36. #define error_invalid_block 9
  37. #define error_bad_environment 10
  38. #define error_bad_format 11
  39. #define error_invalid_access 12
  40. #define error_invalid_data 13
  41. /**** reserved EQU 14 ; *****/
  42. #define error_invalid_drive 15
  43. #define error_current_directory 16
  44. #define error_not_same_device 17
  45. #define error_no_more_files 18
  46. // These are the universal int 24 mappings for the old INT 24 set of errors
  47. #define error_write_protect 19
  48. #define error_bad_unit 20
  49. #define error_not_ready 21
  50. #define error_bad_command 22
  51. #define error_CRC 23
  52. #define error_bad_length 24
  53. #define error_Seek 25
  54. #define error_not_DOS_disk 26
  55. #define error_sector_not_found 27
  56. #define error_out_of_paper 28
  57. #define error_write_fault 29
  58. #define error_read_fault 30
  59. #define error_gen_failure 31
  60. // the new 3.0 error codes reported through INT 24
  61. #define error_sharing_violation 32
  62. #define error_lock_violation 33
  63. #define error_wrong_disk 34
  64. #define error_FCB_unavailable 35
  65. #define error_sharing_buffer_exceeded 36
  66. #define error_Code_Page_Mismatched 37 // DOS 4.00 ;AN000;
  67. #define error_handle_EOF 38 // DOS 4.00 ;AN000;
  68. #define error_handle_Disk_Full 39 // DOS 4.00 ;AN000;
  69. // New OEM network-related errors are 50-79
  70. #define error_not_supported 50
  71. #define error_net_access_denied 65 //M028
  72. // End of INT 24 reportable errors
  73. #define error_file_exists 80
  74. #define error_DUP_FCB 81 // *****
  75. #define error_cannot_make 82
  76. #define error_FAIL_I24 83
  77. // New 3.0 network related error codes
  78. #define error_out_of_structures 84
  79. #define error_Already_assigned 85
  80. #define error_invalid_password 86
  81. #define error_invalid_parameter 87
  82. #define error_NET_write_fault 88
  83. #define error_sys_comp_not_loaded 90 // DOS 4.00 ;AN000;
  84. // BREAK <Interrupt 24 error codes>
  85. /** Int24 Error Codes **/
  86. #define error_I24_write_protect 0
  87. #define error_I24_bad_unit 1
  88. #define error_I24_not_ready 2
  89. #define error_I24_bad_command 3
  90. #define error_I24_CRC 4
  91. #define error_I24_bad_length 5
  92. #define error_I24_Seek 6
  93. #define error_I24_not_DOS_disk 7
  94. #define error_I24_sector_not_found 8
  95. #define error_I24_out_of_paper 9
  96. #define error_I24_write_fault 0xA
  97. #define error_I24_read_fault 0xB
  98. #define error_I24_gen_failure 0xC
  99. // NOTE: Code 0DH is used by MT-DOS.
  100. #define error_I24_wrong_disk 0xF
  101. // THE FOLLOWING ARE MASKS FOR THE AH REGISTER ON Int 24
  102. //
  103. // NOTE: ABORT is ALWAYS allowed
  104. #define Allowed_FAIL 0x08 // 00001000B
  105. #define Allowed_RETRY 0x10 // 00010000B
  106. #define Allowed_IGNORE 0x20 // 00100000B
  107. #define I24_operation 0x01 // 00000001B ;Z if READ,NZ if Write
  108. #define I24_area 0x60 // 00000110B ; 00 if DOS
  109. // ; 01 if FAT
  110. // ; 10 if root DIR
  111. // ; 11 if DATA
  112. #define I24_class 0x80 // 10000000B ;Z if DISK, NZ if FAT or char
  113. // BREAK <GetExtendedError CLASSes ACTIONs LOCUSs>
  114. /** The GetExtendedError call takes an error code and returns CLASS,
  115. ; ACTION and LOCUS codes to help programs determine the proper action
  116. ; to take for error codes that they don't explicitly understand.
  117. */
  118. // Values for error CLASS
  119. #define errCLASS_OutRes 1 // Out of Resource
  120. #define errCLASS_TempSit 2 // Temporary Situation
  121. #define errCLASS_Auth 3 // Permission problem
  122. #define errCLASS_Intrn 4 // Internal System Error
  123. #define errCLASS_HrdFail 5 // Hardware Failure
  124. #define errCLASS_SysFail 6 // System Failure
  125. #define errCLASS_Apperr 7 // Application Error
  126. #define errCLASS_NotFnd 8 // Not Found
  127. #define errCLASS_BadFmt 9 // Bad Format
  128. #define errCLASS_Locked 10 // Locked
  129. #define errCLASS_Media 11 // Media Failure
  130. #define errCLASS_Already 12 // Collision with Existing Item
  131. #define errCLASS_Unk 13 // Unknown/other
  132. // Values for error ACTION
  133. #define errACT_Retry 1 // Retry
  134. #define errACT_DlyRet 2 // Delay Retry, retry after pause
  135. #define errACT_User 3 // Ask user to regive info
  136. #define errACT_Abort 4 // abort with clean up
  137. #define errACT_Panic 5 // abort immediately
  138. #define errACT_Ignore 6 // ignore
  139. #define errACT_IntRet 7 // Retry after User Intervention
  140. // Values for error LOCUS
  141. #define errLOC_Unk 1 // No appropriate value
  142. #define errLOC_Disk 2 // Random Access Mass Storage
  143. #define errLOC_Net 3 // Network
  144. #define errLOC_SerDev 4 // Serial Device
  145. #define errLOC_Mem 5 // Memory