fcml  1.1.3
Classes | Typedefs | Enumerations
fcml_errors.h File Reference

Global error handling related declarations. More...

#include "fcml_lib_export.h"
#include "fcml_types.h"

Go to the source code of this file.

Classes

struct  fcml_st_ceh_error_info
 Information about one particular error/warning. More...
 
struct  fcml_st_ceh_error_container
 Container for all collected errors and warnings. More...
 

Typedefs

typedef fcml_uint16_t fcml_ceh_error
 All error codes should be held in variables of this type. More...
 
typedef enum fcml_en_ceh_error_level fcml_en_ceh_error_level
 Error levels. More...
 
typedef struct fcml_st_ceh_error_info fcml_st_ceh_error_info
 Information about one particular error/warning. More...
 
typedef struct fcml_st_ceh_error_container fcml_st_ceh_error_container
 Container for all collected errors and warnings. More...
 

Enumerations

enum  fcml_en_ceh_error_globals {
  FCML_CEH_GEC_NO_ERROR = 0,
  FCML_CEH_GEC_OUT_OF_MEMORY = 1,
  FCML_CEH_GEC_INVALID_INPUT = 2,
  FCML_CEH_GEC_INTERNAL_ERROR = 3,
  FCML_CEH_GEC_NOT_INITIALIZED = 4,
  FCML_CEH_GEC_EOF = 5,
  FCML_CEH_GEC_VALUE_OUT_OF_RANGE = 6,
  FCML_CEH_GEC_FEATURE_NOT_SUPPORTED = 7,
  FCML_CEH_GEC_INVALID_OPERATING_MODE = 8,
  FCML_CEH_GEC_INVALID_ADDRESSING_FORM = 9,
  FCML_CEH_GEC_INVALID_INSTRUCTION_FORM = 10,
  FCML_CEH_GEC_INVALID_OPPERAND = 11,
  FCML_CEH_GEC_UNKNOWN_MNEMONIC = 12,
  FCML_CEH_GEC_INVALID_OPPERAND_SIZE = 13,
  FCML_CEH_GEC_INVALID_ADDRESS_SIZE = 14,
  FCML_CEH_GEC_UNKNOWN_INSTRUCTION = 15,
  FCML_CEH_GEC_INVALID_PREFIX = 16,
  FCML_CEH_GEC_INVALID_REGISTER_TYPE = 17,
  FCML_CEH_GEC_INVALID_REGISTER = 18,
  FCML_CEH_GEC_UNDEFINED_SYMBOL = 19,
  FCML_CEH_GEC_UNSUPPORTED_LABEL_DECLARATION = 20
}
 All global error codes are placed here. More...
 
enum  fcml_en_ceh_message_errors {
  FCML_CEH_MEC_ERROR_ILLEGAL_SEG_REG_OVERRIDE = 1000,
  FCML_CEH_MEC_ERROR_TO_MANY_OPERANDS = 1001,
  FCML_CEH_MEC_ERROR_INVALID_PSEUDO_OPCODE_VALUE = 1002,
  FCML_CEH_MEC_ERROR_HLE_PREFIX_NOT_ALLOWED = 1003,
  FCML_CEH_MEC_ERROR_HLE_MORE_THAN_ONE_PREFIX = 1004,
  FCML_CEH_MEC_ERROR_DIVISION_BY_0 = 1005,
  FCML_CEH_MEC_ERROR_WRONG_VALUE_FORMAT = 1006,
  FCML_CEH_MEC_ERROR_VALUE_OUT_OF_RANGE = 1007,
  FCML_CEH_MEC_ERROR_INVALID_SYNTAX = 1008,
  FCML_CEH_MEC_ERROR_INVALID_REGISTER_TYPE_SEG = 1009,
  FCML_CEH_MEC_ERROR_SYMBOL_ALREADY_DEFINED = 1010,
  FCML_CEH_MEC_ERROR_UNDEFINED_SYMBOL = 1011,
  FCML_CEH_MEC_ERROR_PARSED_LINE_TOO_LONG = 1012
}
 Error codes dedicated to textual messages. More...
 
enum  fcml_en_ceh_message_warnings {
  FCML_CEH_MEW_WARN_VALUE_OUT_OF_RANGE = 2000,
  FCML_CEH_MEW_WARN_INVALID_ADDRESSING_MODE = 2001
}
 Codes for textual warnings. More...
 
enum  fcml_en_ceh_error_level {
  FCML_EN_CEH_EL_WARN,
  FCML_EN_CEH_EL_ERROR
}
 Error levels. More...
 

Detailed Description

Global error handling related declarations.

Typedef Documentation

typedef fcml_uint16_t fcml_ceh_error

All error codes should be held in variables of this type.

Error levels.

Container for all collected errors and warnings.

Information about one particular error/warning.

Enumeration Type Documentation

Error levels.

Enumerator
FCML_EN_CEH_EL_WARN 

Warnings are reported when processing does not need to be stopped.

FCML_EN_CEH_EL_ERROR 

Errors are reported when something more important happened and processing should be stopped.