Windows NT 4.0 source code leak
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.

547 lines
12 KiB

4 years ago
  1. /*****************************************************************************/
  2. /** Microsoft LAN Manager **/
  3. /** Copyright(c) Microsoft Corp., 1987-1990 **/
  4. /*****************************************************************************/
  5. /*****************************************************************************
  6. File : errors.hxx
  7. Title : error include file
  8. Description : This file contains the definitions of errors generated
  9. By the MIDL compiler.
  10. History :
  11. VibhasC 23-Jul-1990 Created
  12. NateO 20-Sep-1990 Safeguards against double inclusion
  13. *****************************************************************************/
  14. /****************************************************************************
  15. *** D errors range :
  16. *** 1000-1999
  17. *** C errors range :
  18. *** 2000-9999
  19. ****************************************************************************/
  20. #ifndef __ERRORS_HXX__
  21. #define __ERRORS_HXX__
  22. // define the data structures needed for the error handler
  23. typedef struct _e_mask
  24. {
  25. unsigned char ucSwitchConfig;
  26. unsigned char ucWarningLevel;
  27. unsigned char ucErrorClass;
  28. char cMessageType;
  29. } E_MASK;
  30. // definition of mode switch configuration combinations
  31. #define ZZZ (0)
  32. #define ZZM (1 << 1)
  33. #define ZCZ (1 << 2)
  34. #define ZCM (1 << 3)
  35. #define AZZ (1 << 4)
  36. #define AZM (1 << 5)
  37. #define ACZ (1 << 6)
  38. #define ACM (1 << 7)
  39. // message type
  40. #define C_MSG ('C')
  41. #define D_MSG ('D')
  42. #define A_MSG ('A')
  43. // error class
  44. #define CLASS_ERROR (0)
  45. #define CLASS_WARN (1)
  46. #define CLASS_ADVICE (2)
  47. // extraction macros
  48. #define GET_ECLASS(x) ((x).ucErrorClass)
  49. #define GET_WL(x) ((x).ucWarningLevel)
  50. #define GET_SC(x) ((x).ucSwitchConfig)
  51. #define GET_MT(x) ((x).cMessageType)
  52. #define MAKE_E_MASK( sc, mt, ec, wl ) \
  53. { sc, wl, ec, mt }
  54. #define D_ERROR_BASE 1000
  55. #define C_ERROR_BASE 2000
  56. #define A_ERROR_BASE 3000
  57. #define I_ERROR_BASE 9000
  58. enum _status_t
  59. {
  60. STATUS_OK
  61. ,D_ERR_START = D_ERROR_BASE
  62. ,NO_INPUT_FILE = D_ERR_START // no input file specified
  63. ,INPUT_OPEN // error in opening file
  64. ,INPUT_READ // error in positioning file
  65. ,PREPROCESSOR_ERROR // error in preprocessing
  66. ,PREPROCESSOR_EXEC // cant exec preprocessor
  67. ,NO_PREPROCESSOR
  68. ,PREPROCESSOR_INVALID
  69. ,SWITCH_REDEFINED // redef of switch
  70. ,UNKNOWN_SWITCH
  71. ,UNKNOWN_ARGUMENT
  72. ,UNIMPLEMENTED_SWITCH
  73. ,MISSING_ARG
  74. ,ILLEGAL_ARGUMENT
  75. ,BAD_SWITCH_SYNTAX
  76. ,NO_CPP_OVERRIDES
  77. ,NO_WARN_OVERRIDES
  78. ,INTERMEDIATE_FILE_CREATE
  79. ,SERVER_AUX_FILE_NOT_SPECIFIED
  80. ,OUT_OF_SYSTEM_FILE_HANDLES
  81. ,BOTH_CSWTCH_SSWTCH
  82. ,CANNOT_OPEN_RESP_FILE
  83. ,ILLEGAL_CHAR_IN_RESP_FILE
  84. ,MISMATCHED_PREFIX_PAIR
  85. ,NESTED_RESP_FILE
  86. ,D_ERR_MAX
  87. ,C_ERR_START = C_ERROR_BASE
  88. // general errors. The ones which are hard to pin down into any category.
  89. ,ABSTRACT_DECL = C_ERR_START
  90. ,ACTUAL_DECLARATION
  91. ,C_STACK_OVERFLOW
  92. ,DUPLICATE_DEFINITION
  93. ,NO_HANDLE_DEFINED_FOR_PROC
  94. ,OUT_OF_MEMORY
  95. ,RECURSIVE_DEF
  96. ,REDUNDANT_IMPORT
  97. ,SPARSE_ENUM
  98. ,UNDEFINED_SYMBOL
  99. ,UNDEFINED_TYPE
  100. ,UNRESOLVED_TYPE
  101. ,WCHAR_CONSTANT_NOT_OSF
  102. ,WCHAR_STRING_NOT_OSF
  103. ,WCHAR_T_ILLEGAL
  104. ,TYPELIB_NOT_LOADED
  105. ,TWO_LIBRARIES
  106. ,NO_IDISPATCH
  107. ,ERR_TYPELIB
  108. ,ERR_TYPEINFO
  109. ,ERR_TYPELIB_GENERATION
  110. ,DUPLICATE_IID
  111. ,BAD_ENTRY_VALUE
  112. // syntax related errors
  113. ,ASSUMING_CHAR
  114. ,DISCARDING_CHAR
  115. ,BENIGN_SYNTAX_ERROR
  116. ,SYNTAX_ERROR
  117. // pragma related errors
  118. ,UNKNOWN_PRAGMA_OPTION
  119. // unimplemented messages
  120. ,UNIMPLEMENTED_FEATURE
  121. ,UNIMPLEMENTED_TYPE
  122. // expression errors
  123. ,EXPR_DEREF_ON_NON_POINTER
  124. ,EXPR_DIV_BY_ZERO
  125. ,EXPR_INCOMPATIBLE_TYPES
  126. ,EXPR_INDEXING_NON_ARRAY
  127. ,EXPR_LHS_NON_COMPOSITE
  128. ,EXPR_NOT_CONSTANT
  129. ,EXPR_NOT_EVALUATABLE
  130. ,EXPR_NOT_IMPLEMENTED
  131. // interface errors
  132. ,NO_PTR_DEFAULT_ON_INTERFACE
  133. // parameter related errors
  134. ,DERIVES_FROM_PTR_TO_CONF
  135. ,DERIVES_FROM_UNSIZED_STRING
  136. ,NON_PTR_OUT
  137. ,OPEN_STRUCT_AS_PARAM
  138. ,OUT_CONTEXT_GENERIC_HANDLE
  139. ,CTXT_HDL_TRANSMIT_AS
  140. ,PARAM_IS_ELIPSIS
  141. ,VOID_PARAM_WITH_NAME
  142. // procedure related semantic errors
  143. ,HANDLE_NOT_FIRST
  144. ,PROC_PARAM_COMM_STATUS
  145. ,LOCAL_ATTR_ON_PROC
  146. ,ILLEGAL_USE_OF_PROPERTY_ATTRIBUTE
  147. ,MULTIPLE_PROPERTY_ATTRIBUTES
  148. // structure semantic errors
  149. ,CONFORMANT_ARRAY_NOT_LAST
  150. // union semantic errors
  151. ,DUPLICATE_CASE
  152. ,NO_UNION_DEFAULT
  153. // attribute semantic errors
  154. ,ATTRIBUTE_ID_UNRESOLVED
  155. ,ATTR_MUST_BE_INT
  156. ,BYTE_COUNT_INVALID
  157. ,BYTE_COUNT_NOT_OUT_PTR
  158. ,BYTE_COUNT_ON_CONF
  159. ,BYTE_COUNT_PARAM_NOT_IN
  160. ,BYTE_COUNT_PARAM_NOT_INTEGRAL
  161. ,BYTE_COUNT_WITH_SIZE_ATTR
  162. ,CASE_EXPR_NOT_CONST
  163. ,CASE_EXPR_NOT_INT
  164. ,CONTEXT_HANDLE_VOID_PTR
  165. ,ERROR_STATUS_T_REPEATED
  166. ,E_STAT_T_MUST_BE_PTR_TO_E
  167. ,ENDPOINT_SYNTAX
  168. ,INAPPLICABLE_ATTRIBUTE
  169. ,ALLOCATE_INVALID
  170. ,INVALID_ALLOCATE_MODE
  171. ,INVALID_SIZE_ATTR_ON_STRING
  172. ,LAST_AND_LENGTH
  173. ,MAX_AND_SIZE
  174. ,NO_SWITCH_IS
  175. ,NO_UUID_SPECIFIED
  176. ,UUID_LOCAL_BOTH_SPECIFIED
  177. ,SIZE_LENGTH_TYPE_MISMATCH
  178. ,STRING_NOT_ON_BYTE_CHAR
  179. ,SWITCH_TYPE_MISMATCH
  180. ,TRANSMIT_AS_CTXT_HANDLE
  181. ,TRANSMIT_AS_NON_RPCABLE
  182. ,TRANSMIT_AS_POINTER
  183. ,TRANSMIT_TYPE_CONF
  184. ,UUID_FORMAT
  185. ,UUID_NOT_HEX
  186. ,OPTIONAL_PARAMS_MUST_BE_LAST
  187. ,DLLNAME_REQUIRED
  188. ,INVALID_USE_OF_BINDABLE
  189. // acf semantic errors
  190. ,ACF_INTERFACE_MISMATCH
  191. ,CONFLICTING_ATTR
  192. ,INVALID_COMM_STATUS_PARAM
  193. ,LOCAL_PROC_IN_ACF
  194. ,TYPE_HAS_NO_HANDLE
  195. ,UNDEFINED_PROC
  196. ,UNDEF_PARAM_IN_IDL
  197. // array and pointer semantic errors
  198. ,ARRAY_BOUNDS_CONSTRUCT_BAD
  199. ,ILLEGAL_ARRAY_BOUNDS
  200. ,ILLEGAL_CONFORMANT_ARRAY
  201. ,UNSIZED_ARRAY
  202. ,NOT_FIXED_ARRAY
  203. ,SAFEARRAY_USE
  204. // lex errors
  205. ,CHAR_CONST_NOT_TERMINATED
  206. ,EOF_IN_COMMENT
  207. ,EOF_IN_STRING
  208. ,ID_TRUNCATED
  209. ,NEWLINE_IN_STRING
  210. ,STRING_TOO_LONG
  211. ,IDENTIFIER_TOO_LONG
  212. ,CONSTANT_TOO_BIG
  213. // backend related errors
  214. ,ERROR_OPENING_FILE
  215. ,ERR_BIND // couldn't bind to a function
  216. ,ERR_INIT // couldn't initialize OLE
  217. ,ERR_LOAD // couldn't load a library
  218. // more errors
  219. ,UNIQUE_FULL_PTR_OUT_ONLY
  220. ,BAD_ATTR_NON_RPC_UNION
  221. ,SIZE_SPECIFIER_CANT_BE_OUT
  222. ,LENGTH_SPECIFIER_CANT_BE_OUT
  223. // errors placed here because of the compiler mode switch changes.
  224. ,BAD_CON_INT
  225. ,BAD_CON_FIELD_VOID
  226. ,BAD_CON_ARRAY_VOID
  227. ,BAD_CON_MSC_CDECL
  228. ,BAD_CON_FIELD_FUNC
  229. ,BAD_CON_ARRAY_FUNC
  230. ,BAD_CON_PARAM_FUNC
  231. ,BAD_CON_BIT_FIELDS
  232. ,BAD_CON_BIT_FIELD_NON_ANSI
  233. ,BAD_CON_BIT_FIELD_NOT_INTEGRAL
  234. ,BAD_CON_CTXT_HDL_FIELD
  235. ,BAD_CON_CTXT_HDL_ARRAY
  236. ,BAD_CON_NON_RPC_UNION
  237. ,NON_RPC_PARAM_INT
  238. ,NON_RPC_PARAM_VOID
  239. ,NON_RPC_PARAM_BIT_FIELDS
  240. ,NON_RPC_PARAM_CDECL
  241. ,NON_RPC_PARAM_FUNC_PTR
  242. ,NON_RPC_UNION
  243. ,NON_RPC_RTYPE_INT
  244. ,NON_RPC_RTYPE_VOID
  245. ,NON_RPC_RTYPE_BIT_FIELDS
  246. ,NON_RPC_RTYPE_UNION
  247. ,NON_RPC_RTYPE_FUNC_PTR
  248. ,COMPOUND_INITS_NOT_SUPPORTED
  249. ,ACF_IN_IDL_NEEDS_APP_CONFIG
  250. ,SINGLE_LINE_COMMENT
  251. ,VERSION_FORMAT
  252. ,SIGNED_ILLEGAL
  253. ,ASSIGNMENT_TYPE_MISMATCH
  254. ,ILLEGAL_OSF_MODE_DECL
  255. ,OSF_DECL_NEEDS_CONST
  256. ,COMP_DEF_IN_PARAM_LIST
  257. ,ALLOCATE_NOT_ON_PTR_TYPE
  258. ,ARRAY_OF_UNIONS_ILLEGAL
  259. ,BAD_CON_E_STAT_T_FIELD
  260. ,CASE_LABELS_MISSING_IN_UNION
  261. ,BAD_CON_PARAM_RT_IGNORE
  262. ,MORE_THAN_ONE_PTR_ATTR
  263. ,RECURSION_THRU_REF
  264. ,BAD_CON_FIELD_VOID_PTR
  265. ,INVALID_OSF_ATTRIBUTE
  266. ,INVALID_NEWTLB_ATTRIBUTE
  267. ,WCHAR_T_INVALID_OSF
  268. ,BAD_CON_UNNAMED_FIELD
  269. ,BAD_CON_UNNAMED_FIELD_NO_STRUCT
  270. ,BAD_CON_UNION_FIELD_CONF
  271. ,PTR_WITH_NO_DEFAULT
  272. ,RHS_OF_ASSIGN_NOT_CONST
  273. ,SWITCH_IS_TYPE_IS_WRONG
  274. ,ILLEGAL_CONSTANT
  275. ,IGNORE_UNIMPLEMENTED_ATTRIBUTE
  276. ,BAD_CON_REF_RT
  277. ,ATTRIBUTE_ID_MUST_BE_VAR
  278. ,RECURSIVE_UNION
  279. ,BINDING_HANDLE_IS_OUT_ONLY
  280. ,PTR_TO_HDL_UNIQUE_OR_FULL
  281. ,HANDLE_T_NO_TRANSMIT
  282. ,UNEXPECTED_END_OF_FILE
  283. ,HANDLE_T_XMIT
  284. ,CTXT_HDL_GENERIC_HDL
  285. ,GENERIC_HDL_VOID
  286. ,NO_EXPLICIT_IN_OUT_ON_PARAM
  287. ,TRANSMIT_AS_VOID
  288. ,VOID_NON_FIRST_PARAM
  289. ,SWITCH_IS_ON_NON_UNION
  290. ,STRINGABLE_STRUCT_NOT_SUPPORTED
  291. ,SWITCH_TYPE_TYPE_BAD
  292. ,GENERIC_HDL_HANDLE_T
  293. ,HANDLE_T_CANNOT_BE_OUT
  294. ,SIZE_LENGTH_SW_UNIQUE_OR_FULL
  295. ,CPP_QUOTE_NOT_OSF
  296. ,QUOTED_UUID_NOT_OSF
  297. ,RETURN_OF_UNIONS_ILLEGAL
  298. ,RETURN_OF_CONF_STRUCT
  299. ,XMIT_AS_GENERIC_HANDLE
  300. ,GENERIC_HANDLE_XMIT_AS
  301. ,INVALID_CONST_TYPE
  302. ,INVALID_SIZEOF_OPERAND
  303. ,NAME_ALREADY_USED
  304. ,ERROR_STATUS_T_ILLEGAL
  305. ,CASE_VALUE_OUT_OF_RANGE
  306. ,WCHAR_T_NEEDS_MS_EXT_TO_RPC
  307. ,INTERFACE_ONLY_CALLBACKS
  308. ,REDUNDANT_ATTRIBUTE
  309. ,CTXT_HANDLE_USED_AS_IMPLICIT
  310. ,CONFLICTING_ALLOCATE_OPTIONS
  311. ,ERROR_WRITING_FILE
  312. ,NO_SWITCH_TYPE_AT_DEF
  313. ,ERRORS_PASS1_NO_PASS2
  314. ,HANDLES_WITH_CALLBACK
  315. ,PTR_NOT_FULLY_IMPLEMENTED
  316. ,PARAM_ALREADY_CTXT_HDL
  317. ,CTXT_HDL_HANDLE_T
  318. ,ARRAY_SIZE_EXCEEDS_64K
  319. ,STRUCT_SIZE_EXCEEDS_64K
  320. ,NE_UNION_FIELD_NE_UNION
  321. ,PTR_ATTRS_ON_EMBEDDED_ARRAY
  322. ,ALLOCATE_ON_TRANSMIT_AS
  323. ,SWITCH_TYPE_REQD_THIS_IMP_MODE
  324. ,IMPLICIT_HDL_ASSUMED_GENERIC
  325. ,E_STAT_T_ARRAY_ELEMENT
  326. ,ALLOCATE_ON_HANDLE
  327. ,TRANSMIT_AS_ON_E_STAT_T
  328. ,IGNORE_ON_DISCRIMINANT
  329. ,NOCODE_WITH_SERVER_STUBS
  330. ,NO_REMOTE_PROCS_NO_STUBS
  331. ,TWO_DEFAULT_CASES
  332. ,TWO_DEFAULT_INTERFACES
  333. ,DEFAULTVTABLE_REQUIRES_SOURCE
  334. ,UNION_NO_FIELDS
  335. ,VALUE_OUT_OF_RANGE
  336. ,CTXT_HDL_NON_PTR
  337. ,NON_RPC_RTYPE_HANDLE_T
  338. ,GEN_HDL_CTXT_HDL
  339. ,NON_RPC_FIELD_INT
  340. ,NON_RPC_FIELD_PTR_TO_VOID
  341. ,NON_RPC_FIELD_BIT_FIELDS
  342. ,NON_RPC_FIELD_NON_RPC_UNION
  343. ,NON_RPC_FIELD_FUNC_PTR
  344. ,PROC_PARAM_FAULT_STATUS
  345. ,NON_OI_BIG_RETURN
  346. ,NON_OI_BIG_GEN_HDL
  347. ,ALLOCATE_IN_OUT_PTR
  348. ,REF_PTR_IN_UNION
  349. ,NON_OI_CTXT_HDL
  350. ,NON_OI_ERR_STATS
  351. ,NON_OI_UNK_REP_AS
  352. ,NON_OI_XXX_AS_ON_RETURN
  353. ,NON_OI_XXX_AS_BY_VALUE
  354. ,CALLBACK_NOT_OSF
  355. ,CIRCULAR_INTERFACE_DEPENDENCY
  356. ,NOT_VALID_AS_BASE_INTF
  357. ,IID_IS_NON_POINTER
  358. ,INTF_NON_POINTER
  359. ,PTR_INTF_NO_GUID
  360. ,OUTSIDE_OF_INTERFACE
  361. ,MULTIPLE_INTF_NON_OSF
  362. ,CONFLICTING_INTF_HANDLES
  363. ,IMPLICIT_HANDLE_NON_HANDLE
  364. ,OBJECT_PROC_MUST_BE_WIN32
  365. ,NON_OI_16BIT_CALLBACK
  366. ,NON_OI_TOPLEVEL_FLOAT
  367. ,CTXT_HDL_MUST_BE_DIRECT_RETURN
  368. ,OBJECT_PROC_NON_HRESULT_RETURN
  369. ,DUPLICATE_UUID
  370. ,ILLEGAL_INTERFACE_DERIVATION
  371. ,ILLEGAL_BASE_INTERFACE
  372. ,IID_IS_EXPR_NON_POINTER
  373. ,CALL_AS_NON_LOCAL_PROC
  374. ,CALL_AS_UNSPEC_IN_OBJECT
  375. ,ENCODE_AUTO_HANDLE
  376. ,RPC_PROC_IN_ENCODE
  377. ,ENCODE_CONF_OR_VAR
  378. ,CONST_ON_OUT_PARAM
  379. ,CONST_ON_RETVAL
  380. ,INVALID_USE_OF_RETVAL
  381. ,MULTIPLE_CALLING_CONVENTIONS
  382. ,INAPPROPRIATE_ON_OBJECT_PROC
  383. ,NON_INTF_PTR_PTR_OUT
  384. ,CALL_AS_USED_MULTIPLE_TIMES
  385. ,OBJECT_CALL_AS_LOCAL
  386. ,CODE_NOCODE_CONFLICT
  387. ,MAYBE_NO_OUT_RETVALS
  388. ,FUNC_NON_POINTER
  389. ,FUNC_NON_RPC
  390. ,NON_OI_RETVAL_64BIT
  391. ,MISMATCHED_PRAGMA_POP
  392. ,WRONG_TYPE_IN_STRING_STRUCT
  393. ,NON_OI_NOTIFY
  394. ,HANDLES_WITH_OBJECT
  395. ,NON_ANSI_MULTI_CONF_ARRAY
  396. ,NON_OI_UNION_PARM
  397. ,OBJECT_WITH_VERSION
  398. ,SIZING_ON_FIXED_ARRAYS
  399. ,PICKLING_INVALID_IN_OBJECT
  400. ,TYPE_PICKLING_INVALID_IN_OSF
  401. ,INT_NOT_SUPPORTED_ON_INT16
  402. ,BSTRING_NOT_ON_PLAIN_PTR
  403. ,INVALID_ON_OBJECT_PROC
  404. ,INVALID_ON_OBJECT_INTF
  405. ,STACK_TOO_BIG
  406. ,NO_ATTRS_ON_ACF_TYPEDEF
  407. ,NON_OI_WRONG_CALL_CONV
  408. ,TOO_MANY_DELEGATED_PROCS
  409. ,NO_MAC_AUTO_HANDLES
  410. ,ILLEGAL_IN_MKTYPLIB_MODE
  411. ,ILLEGAL_USE_OF_MKTYPLIB_SYNTAX
  412. ,ILLEGAL_SU_DEFINITION
  413. ,INTF_EXPLICIT_PTR_ATTR
  414. ,NO_OI_ON_MPPC
  415. ,ILLEGAL_EXPRESSION_TYPE
  416. ,ILLEGAL_PIPE_TYPE
  417. ,REQUIRES_OI2
  418. ,CONFLICTING_OPTIMIZATION_REQUIREMENTS
  419. ,ILLEGAL_PIPE_EMBEDDING
  420. ,ILLEGAL_PIPE_CONTEXT
  421. ,CMD_REQUIRES_I2
  422. ,REQUIRES_I2
  423. #if defined(TARGET_RKK)
  424. ,CMD_REQUIRES_NT40
  425. ,CMD_REQUIRES_NT351
  426. ,REQUIRES_NT40
  427. ,REQUIRES_NT351
  428. #endif
  429. ,CMD_OI1_PHASED_OUT
  430. ,CMD_OI2_OBSOLETE
  431. ,OI1_PHASED_OUT
  432. ,OI2_OBSOLETE
  433. ,ILLEGAL_ARG_VALUE
  434. ,CONSTANT_TYPE_MISMATCH
  435. ,ENUM_TYPE_MISMATCH
  436. ,UNSATISFIED_FORWARD
  437. ,CONTRADICTORY_SWITCHES
  438. ,NO_SWITCH_IS_HOOKOLE
  439. ,NO_CASE_EXPR
  440. ,USER_MARSHAL_IN_OI
  441. ,PIPES_WITH_PICKLING
  442. ,C_ERR_MAX
  443. // advice messages
  444. ,A_ERR_START = A_ERROR_BASE
  445. ,A_ERR_MAX
  446. // internal errors
  447. ,I_ERR_START = I_ERROR_BASE
  448. ,I_ERR_NO_PEER = I_ERR_START // no more peers(siblings)
  449. ,I_ERR_NO_MEMBER // no more members(children)
  450. ,I_ERR_SYMTABLE_UNDERFLOW // symbol table underflow
  451. ,I_ERR_NULL_OUT_PARAM
  452. ,I_ERR_SYMBOL_NOT_FOUND
  453. ,I_ERR_NO_NEXT_SCOPE
  454. ,I_ERR_NO_PREV_SCOPE
  455. ,I_ERR_INVALID_NODE_TYPE
  456. };
  457. typedef enum _status_t STATUS_T;
  458. #define NOWARN (0)
  459. #define WARN_LEVEL_MAX (4)
  460. #ifdef RPCDEBUG
  461. #define CHECK_ERR(n) n,
  462. #else // RPCDEBUG
  463. #define CHECK_ERR(n)
  464. #endif // RPCDEBUG
  465. extern void RpcError(char *, short, STATUS_T , char *);
  466. extern void ParseError( STATUS_T , char *);
  467. // semi-digested error information
  468. class ErrorInfo
  469. {
  470. public:
  471. struct errdb * pErrorRecord;
  472. STATUS_T ErrVal;
  473. ErrorInfo( STATUS_T ErrVal );
  474. int IsRelevant();
  475. void ReportError( char * pszFileName, short Line, char * suffix );
  476. };
  477. #endif // __ERRORS_HXX__