CIFX_NO_ERROR = 0x00000000

# Generic Errors
CIFX_INVALID_POINTER = 0x800A0001
CIFX_INVALID_BOARD = 0x800A0002
CIFX_INVALID_CHANNEL = 0x800A0003
CIFX_INVALID_HANDLE = 0x800A0004
CIFX_INVALID_PARAMETER = 0x800A0005
CIFX_INVALID_COMMAND = 0x800A0006
CIFX_INVALID_BUFFERSIZE = 0x800A0007
CIFX_INVALID_ACCESS_SIZE = 0x800A0008
CIFX_FUNCTION_FAILED = 0x800A0009
CIFX_FILE_OPEN_FAILED = 0x800A000A
CIFX_FILE_SIZE_ZERO = 0x800A000B
CIFX_FILE_LOAD_INSUFF_MEM = 0x800A000C
CIFX_FILE_CHECKSUM_ERROR = 0x800A000D
CIFX_FILE_READ_ERROR = 0x800A000E
CIFX_FILE_TYPE_INVALID = 0x800A000F
CIFX_FILE_NAME_INVALID = 0x800A0010
CIFX_FUNCTION_NOT_AVAILABLE = 0x800A0011
CIFX_BUFFER_TOO_SHORT = 0x800A0012
CIFX_MEMORY_MAPPING_FAILED = 0x800A0013
CIFX_NO_MORE_ENTRIES = 0x800A0014
CIFX_CALLBACK_MODE_UNKNOWN = 0x800A0015
CIFX_CALLBACK_CREATE_EVENT_FAILED = 0x800A0016
CIFX_CALLBACK_CREATE_RECV_BUFFER = 0x800A0017
CIFX_CALLBACK_ALREADY_USED = 0x800A0018
CIFX_CALLBACK_NOT_REGISTERED = 0x800A0019
CIFX_INTERRUPT_DISABLED = 0x800A001A

# Generic Driver Errors
CIFX_DRV_NOT_INITIALIZED = 0x800B0001
CIFX_DRV_INIT_STATE_ERROR = 0x800B0002
CIFX_DRV_READ_STATE_ERROR = 0x800B0003
CIFX_DRV_CMD_ACTIVE = 0x800B0004
CIFX_DRV_DOWNLOAD_FAILED = 0x800B0005
CIFX_DRV_WRONG_DRIVER_VERSION = 0x800B0006
CIFX_DRV_DRIVER_NOT_LOADED = 0x800B0030
CIFX_DRV_INIT_ERROR = 0x800B0031
CIFX_DRV_CHANNEL_NOT_INITIALIZED = 0x800B0032
CIFX_DRV_IO_CONTROL_FAILED = 0x800B0033
CIFX_DRV_NOT_OPENED = 0x800B0034
CIFX_DRV_DOWNLOAD_STORAGE_UNKNOWN = 0x800B0040
CIFX_DRV_DOWNLOAD_FW_WRONG_CHANNEL = 0x800B0041
CIFX_DRV_DOWNLOAD_MODULE_NO_BASEOS = 0x800B0042

# Generic Device Errors
CIFX_DEV_DPM_ACCESS_ERROR = 0x800C0010
CIFX_DEV_NOT_READY = 0x800C0011
CIFX_DEV_NOT_RUNNING = 0x800C0012
CIFX_DEV_WATCHDOG_FAILED = 0x800C0013
CIFX_DEV_SYSERR = 0x800C0015

# Device Errors
CIFX_DEV_MAILBOX_FULL = 0x800C0016
CIFX_DEV_PUT_TIMEOUT = 0x800C0017
CIFX_DEV_GET_TIMEOUT = 0x800C0018
CIFX_DEV_GET_NO_PACKET = 0x800C0019
CIFX_DEV_MAILBOX_TOO_SHORT = 0x800C001A
CIFX_DEV_RESET_TIMEOUT = 0x800C0020
CIFX_DEV_NO_COM_FLAG = 0x800C0021
CIFX_DEV_EXCHANGE_FAILED = 0x800C0022
CIFX_DEV_EXCHANGE_TIMEOUT = 0x800C0023
CIFX_DEV_COM_MODE_UNKNOWN = 0x800C0024
CIFX_DEV_FUNCTION_FAILED = 0x800C0025
CIFX_DEV_DPMSIZE_MISMATCH = 0x800C0026
CIFX_DEV_STATE_MODE_UNKNOWN = 0x800C0027
CIFX_DEV_HW_PORT_IS_USED = 0x800C0028
CIFX_DEV_CONFIG_LOCK_TIMEOUT = 0x800C0029
CIFX_DEV_CONFIG_UNLOCK_TIMEOUT = 0x800C002A
CIFX_DEV_HOST_STATE_SET_TIMEOUT = 0x800C002B
CIFX_DEV_HOST_STATE_CLEAR_TIMEOUT = 0x800C002C
CIFX_DEV_INITIALIZATION_TIMEOUT = 0x800C002D
CIFX_DEV_BUS_STATE_ON_TIMEOUT = 0x800C002E
CIFX_DEV_BUS_STATE_OFF_TIMEOUT = 0x800C002F
CIFX_DEV_MODULE_ALREADY_RUNNING = 0x800C0040
CIFX_DEV_MODULE_ALREADY_EXISTS = 0x800C0041
CIFX_DEV_DMA_INSUFF_BUFFER_COUNT = 0x800C0050
CIFX_DEV_DMA_BUFFER_TOO_SMALL = 0x800C0051
CIFX_DEV_DMA_BUFFER_TOO_BIG = 0x800C0052

# Device Errors related to DMA
CIFX_DEV_DMA_BUFFER_NOT_ALIGNED = 0x800C0053
CIFX_DEV_DMA_HANSHAKEMODE_NOT_SUPPORTED = 0x800C0054
CIFX_DEV_DMA_IO_AREA_NOT_SUPPORTED = 0x800C0055
CIFX_DEV_DMA_STATE_ON_TIMEOUT = 0x800C0056
CIFX_DEV_DMA_STATE_OFF_TIMEOUT = 0x800C0057
CIFX_DEV_SYNC_STATE_INVALID_MODE = 0x800C0058
CIFX_DEV_SYNC_STATE_TIMEOUT = 0x800C0059

# CIFX API Transport Errors
CIFX_TRANSPORT_SEND_TIMEOUT = 0x800D0001
CIFX_TRANSPORT_RECV_TIMEOUT = 0x800D0002
CIFX_TRANSPORT_CONNECT = 0x800D0003
CIFX_TRANSPORT_ABORTED = 0x800D0004
CIFX_TRANSPORT_INVALID_RESPONSE = 0x800D0005
CIFX_TRANSPORT_UNKNOWN_DATALAYER = 0x800D0006
CIFX_CONNECTOR_FUNCTIONS_READ_ERROR = 0x800D0010
CIFX_CONNECTOR_IDENTIFIER_TOO_LONG = 0x800D0011
CIFX_CONNECTOR_IDENTIFIER_EMPTY = 0x800D0012
CIFX_CONNECTOR_DUPLICATE_IDENTIFIER = 0x800D0013

# CIFX API Transport Header State Errors
CIFX_TRANSPORT_ERROR_UNKNOWN = 0x800E0001
CIFX_TRANSPORT_CHECKSUM_ERROR = 0x800E0002

# CIFX API Transport Errors
CIFX_TRANSPORT_LENGTH_INCOMPLETE = 0x800E0003
CIFX_TRANSPORT_DATA_TYPE_UNKOWN = 0x800E0004
CIFX_TRANSPORT_DEVICE_UNKNOWN = 0x800E0005
CIFX_TRANSPORT_CHANNEL_UNKNOWN = 0x800E0006
CIFX_TRANSPORT_SEQUENCE = 0x800E0007
CIFX_TRANSPORT_BUFFEROVERFLOW = 0x800E0008
CIFX_TRANSPORT_RESOURCE = 0x800E0009
CIFX_TRANSPORT_KEEPALIVE = 0x800E000A
CIFX_TRANSPORT_DATA_TOO_SHORT = 0x800E000B

