/* ILC Data Device Corp.
 *
 *        MIL-STD-1553 Simulator/Tester
 *        'C' Software Library
 *
 *        BUS-69068 rel 2.0
 *
 *        Copyright (c) 1997 by ILC Data Device Corp.
 *        All Rights Reserved.
 *
 * ERR.H (ERROR CONTROL MODULE)
 *
 * ILC Data Device Corp.
 * 105 Wilbur Place
 * Bohemia N.Y. 11716
 * (516) 567-5600
 *
 * Revision History for ERR.H (HEADER FILE)
 *
 *   Release   Date           Description
 *
 *   1.0       01-DEC-1997    initial release
 *   4.1.1     04-SEP-2001    Updated Linux support
 *
 */

#ifndef ERR_H
#define ERR_H
/* ERROR TYPE DEFINITIONS AND STRUCTURES ----------------------------------*/



/* ERROR CONSTANTS --------------------------------------------------------*/
#undef NO_ERROR

#define NO_ERROR                    000
#define NO_SPACE_FOR_TABLE          101
#define ILLEGAL_TABLE_ID            102
#define ILLEGAL_TABLE_SIZE          103
#define FRAME_OVERFLOW              121
#define MINOR_FRAME_OVERFLOW        122
#define ILLEGAL_FRAME_LENGTH        123
#define ILLEGAL_FRAME_POSITION      141
#define ILLEGAL_RUN_TIMES           142
#define ILLEGAL_MINOR_FRAME_TIME    161
#define LOCK_BIT_TIME_OUT           181
#define ILLEGAL_GAP_ERROR           201
#define ILLEGAL_RESPONSE_TIME       202
#define ILLEGAL_ALTER_TADR          203
#define ILLEGAL_LENGTH_ERROR        204
#define ILLEGAL_STATUS_ENC_ERR      205
#define ILLEGAL_WORD_ENC_ERR        206
#define ILLEGAL_ERROR_TYPE          207
#define ILLEGAL_DBC_DELAY           208
#define ILLEGAL_BUFFERING_MODE      221
#define NOT_INIT_STATE              241
#define NOT_HALT_STATE              242
#define NOT_RUN_STATE               243
#define NOT_HALT_OR_RUN_STATE       244
#define NOT_BCRT_HALT_STATE         245
#define NOT_MON_HALT_STATE          246
#define NOT_BCRT_RUN_STATE          247
#define NOT_MON_RUN_STATE           248
#define RUN_STATE                   249
#define CARD_NOT_ACTIVE             250
#define CARD_IS_NOT_READY           251
#define RESET_IN_PROGRESS           252
#define NOT_ENOUGH_MEMORY           253
#define UNSUPPORTED_OS              254
#define IOCTL_FAILED                255
#define MMAP_FAILED             256
#define MUNMAP_FAILED               257
#define INVALID_HANDLE              258
#define SYMBOL_CHECK_SUM_1          261
#define SYMBOL_CHECK_SUM_2          262
#define SYMBOL_CHECK_SUM_3          263
#define SYMBOL_CHECK_SUM_4          264
#define SYMBOL_CHECK_SUM_5          265
#define SYMBOL_CHECK_SUM_6          266
#define SYMBOL_CHECK_SUM_7          267
#define SYMBOL_CHECK_SUM_8          268
#define CANNOT_OPEN_IDEA_SYM        269
#define ILLEGAL_LEGALITY            281
#define ILLEGAL_MODE_CODE           282
#define ILLEGAL_FIRST_MC_IMR        283
#define ILLEGAL_SECOND_MC_IMR       284
#define ILLEGAL_EMUL_TADR           301
#define ILLEGAL_EMULATE_BC          302
#define ILLEGAL_EMULATE_RT          303
#define NO_SUCH_CODE_FILE           321
#define NO_BCRT_CODE_FILE           322
#define NO_IMRLIB_CODE_FILE         323
#define NO_MON_CODE_FILE            324
#define ILLEGAL_MESSAGE_ID          341
#define ILLEGAL_CMD_TYPE            342
#define ILLEGAL_MSG_ERR_TYPE        343
#define ILL_MSG_BIT_WORD_ERR        344
#define ILL_MSG_BIT_IN_WRD_ERR      345
#define ILLEGAL_ENCODE_ERR_TYPE     346
#define ILLEGAL_GAP_TIME_ERROR      347
#define ILLEGAL_GAP_WORD_ERROR      348
#define ILL_MSG_EN_BEGIN_WRD        349
#define ILL_MSG_EN_WIDTH_ERR        350
#define ILLEGAL_MESSAGE_BUS         351
#define ILLEGAL_FIRST_MSG_IMR       353
#define ILLEGAL_SECOND_MSG_IMR      354
#define ILLEGAL_TADDRESS            355
#define ILLEGAL_SUBADDRESS          356
#define ERROR_IN_COMMAND        382
#define COMMAND_DID_NOT_START   383
#define COMMAND_DID_NOT_END     384
#define CARD_SELF_TEST_FAILED   413
#define ILLEGAL_BCST            431
#define ILLEGAL_AMPLITUDE       441
#define ILLEGAL_AMPLITUDE_PCI   442
#define ILLEGAL_RESP_TIMEOUT    451
#define ILLEGAL_LAST_STATUS_TADR 461
#define ILLEGAL_MAP_TADR        471
#define ILLEGAL_MAP_SADR        472
#define ILLEGAL_MAP_TR_BIT      473
#define ILLEGAL_MAP_TABLE_ID    474
#define ILLEGAL_WR_ID           481
#define ILLEGAL_WR_COUNT        483
#define ILLEGAL_WR_POS          484
#define ILLEGAL_WR_MC_TADR      491
#define ILLEGAL_WR_MODE_CODE    492
#define ILLEGAL_RD_MC_TADR      501
#define ILLEGAL_RD_MODE_CODE    502
#define NO_NEW_MESSAGES         511
#define THIRD_BUFF_INT_ENABLED  512
#define INSUFFICIENT_MEMORY     522
#define ILLEGAL_IDEA_SYM        523
#define ILLEGAL_SET_BIT_TADR    531
#define ILLEGAL_SET_BIT_NO      532
#define NOT_READY               533
#define ILLEGAL_IMMEDIATE       534
#define ILLEGAL_SELECT_TADR     541
#define ILLEGAL_SELECT_TR       542
#define ILLEGAL_SELECT_SADR     543
#define ILLEGAL_CAPTURE_TYPE    551
#define ILLEGAL_CAPTURE_EXCEPTION 552
#define ILLEGAL_CAPTURE_TRIGGER 553
#define ILLEGAL_EXCEPTION_BITS  561
#define ILLEGAL_STACK_TYPE      571
#define CANNOT_READ_STACK       572
#define UNDEFINED_CARD_STATE    581
#define ILLEGAL_FIRST_DTAB_IMR  591
#define ILLEGAL_SECOND_DTAB_IMR 592
#define ILLEGAL_IN_MSG_POS      601
#define IN_MSG_NOT_READY        602
#define IN_MSG_BC_NOT_EMULATED  603
#define ILLEGAL_CARD_NUMBER     611
#define CANNOT_OPEN_STORE_FILE  621
#define CANNOT_WR_TO_STORE_FILE 622
#define CANNOT_CLOSE_STORE_FILE 623
#define CANNOT_OPEN_VARS_FILE   631
#define CANNOT_READ_VARS_FILE   632
#define CANNOT_CLOSE_VARS_FILE  633
#define RESET_BEFORE_LOAD_FAILED 641
#define NO_INIT_MK2_CODE_FILE   642
#define MON_SHARED_MEM_ADR_ERR  643
#define BCRT_SHARED_MEM_ADR_ERR 644
#define MON_SHARED_MEM_DATA_ERR 645
#define BCRT_SHARED_MEM_DATA_ERR 646
#define NOT_MARK2_HW            647
#define MK2_SELF_TEST_FAILED    648
#define UNDEFINED_PART_NUMBER   671
#define ILLEGAL_BUS_STATE       683
#define STP_CANNOT_OPEN_FILE    742
#define WRONG_RBF_VERSION       800
#define WRONG_EMBEDDED_VERSION  801
#define WRONG_DRIVER_VERSION    802
#define CANNOT_ENABLE_CARD      803
#define CANNOT_REGISTER_CARD    804
#define LOG_DEV_NOT_FOUND       805
#define LOG_DEV_NOT_TESTSIM     806
#define NO_NT40_MULTIPLE_CARDS  807
#define DMA_NOT_SUPPORTED       808
#define DMA_TOO_SMALL           809
#define AMPLITUDE_NOT_SUPPORTED 810
#define IRIG_NOT_SUPPORTED      811
#define COUPLING_NOT_SUPPORTED  812
#define INVALID_COUPLING        813
#define INVALID_TERMINATION     814
#define INVALID_BUS_CONFIG      815
#define INVALID_IRIG_TIME       816
#define IRIG_ALREADY_PRESENT    817
#define VXI_LIBRARY_NOT_INSTALLED 818
#define VXI_REG_COMMUNICATION_ERROR 819
#define VXI_MEM_COMMUNICATION_ERROR 820
#define VXI_A16_ONLY            830
#define IRQ_INSTALL_FAILED      824
#define SELF_BOOT_NOT_SUPPORTED 825
#define MON_STACK_OVERFLOW      826
#define CARD_NOT_READY_READ_RTC                 827
#define CARD_NOT_READY_WRITE_RTC                828
#define CARD_NOT_READY_IRIG                     829
#define CARD_NOT_READY_SYNCHRONIZE              831
#define CARD_NOT_READY_DEF_BC_EXCEPTION_STATUS  832
#define CARD_NOT_READY_DEF_EMULATE_BC           833
#define CARD_NOT_READY_DEF_MINOR_FRAME_TIME     834
#define CARD_NOT_READY_RUN_BC                   835
#define CARD_NOT_READY_RUN_CONTINUE             836
#define CARD_NOT_READY_SKIP_NEXT_MESSAGE        837
#define CARD_NOT_READY_INIT                     838
#define CARD_NOT_READY_SET_RESP_TIMEOUT         839
#define CARD_NOT_READY_CAPTURE_EVENT            840
#define CARD_NOT_READY_DEF_MON_EXCEPTION        841
#define CARD_NOT_READY_DEF_MON_STACK            842
#define CARD_NOT_READY_RUN_MON                  843
#define CARD_NOT_READY_SELECT_BUS               844
#define CARD_NOT_READY_REPLAY_RUN_BC            845
#define CARD_NOT_READY_REPLAY_RUN_RTS           846
#define CARD_NOT_READY_RUN_RT                   847
#define CARD_NOT_READY_DEF_LEG_BCST             848
#define CARD_NOT_READY_DEF_LEG_DET              849
#define CARD_NOT_READY_DEF_INT_CMD_TEMPL        850
#define LOG_DEV_IN_USE                          851

/* The next 3 errors were added for 'ddcread_data_part()'. */
#define ILLEGAL_DATA_POS_MAG    900
#define ILLEGAL_DATA_POS        901
#define WARNING_COUNT_READ      902
/* The next errors are added for DOS emulation support */
#define CONFIG_FILE_NOT_FOUND       950
#define DEVICE_MAPPING_ERROR        951
#define HW_NOT_DOS_ENABLED      952
#define HW_DEVICE_NOT_FOUND     953
#define UNSUPPORTED_CARD_TYPE       954

#define ERROR_DRIVERSTART           10000
#define ERROR_DRIVERSTOP            10001

/* TL: - Translation Specific Errors */
#define ERR_TESTSIM_TRANS_NOT_SUPPORTED 10002
#define ERR_TESTSIM_TRANS_BENIGN_WARNING 10003

/* ERROR FUNCTION PROTOTYPES ----------------------------------------------*/

/* convert error value into string */
Error_t __DECL get_error_message(Error_t error_number,char *error_string);
Error_t __DECL ddcGetErrorMessage(Device_p pCrd,Error_t error_number,char *error_string);

/* print RTL error message to the screen for a heads up display of whats wrong */
Error_t __DECL print_error_message(S16BIT errcode,S8BIT *user_string);
Error_t __DECL ddcPrintErrorMessage(Device_p pCrd,Error_t errcode,S8BIT *user_string);

/*
 * END
 * ERR.H (ERROR CONTROL MODULE)
 */
#endif /* ERR_H */

