
#include <windows.h>
#include <stdio.h>
#include <io.h>

#include "RQInternal.h"

RQOffline_Errors RQOffline_ApiErrors[] = 
{
	{RQOffline_Extract_OK,														"OK"},
	{RQOffline_ExtractAScan_InvalidBScanIndex,									"RQ_ExtractAScan fail: invalid B-scan index (use RQ_GetNumberOfBScansPerBank to query maximum)"},
	{RQOffline_ExtractAScan_InvalidAScanIndex,									"RQ_ExtractAScan fail: invalid A-scan index (use RQ_GetNumberOfAScansPerBScan to query maximum)"},
	{RQOffline_ExtractAScan_InternalDataFormatError,							"RQ_ExtractAScan fail: internal data format error"},
	{RQOffline_ExtractAScan_AScanDesynchronisation,							"RQ_ExtractAScan fail: A-scan desynchronisation"},
	{RQOffline_ExtractAScan_RawScanDoesNotContainAScanData,					"RQ_ExtractAScan fail: pRawScan does not contain A-scan data"},
	{RQOffline_ExtractBScan_InvalidBScanIndex,									"RQ_ExtractBScan fail: invalid B-scan index (use RQ_GetNumberOfBScansPerBank to query maximum)"},
	{RQOffline_ExtractBScan_InternalDataFormatError,							"RQ_ExtractBScan fail: internal data format error"},
	{RQOffline_ExtractBScan_AScanDesynchronisation,							"RQ_ExtractBScan fail: A-scan desynchronisation"},
	{RQOffline_ExtractBScan_RawScanDoesNotContainBScanData,					"RQ_ExtractBScan fail: pRawScan does not contain B-scan data"},
	{RQOffline_ExtractCScan_InvalidBScanBounds,								"RQ_ExtractCScan fail: invalid B-scan bounds (bScanIndex + numberOfBScans must be less than or equal to number of B-scans in pRawScan)"},
	{RQOffline_ExtractCScan_MissingCScan,									"RQ_ExtractCScan fail: raw scan does not contain C-scan data (use RQ_SetScanStorageOptions)"},
	{RQOffline_ExtractCScan_OutOfMemory,									"RQ_ExtractCScan fail: system is low on memory"},
	{RQOffline_ExtractCScan_InvalidGate,									"RQ_ExtractCScan fail: gate in RPN sequence does not exist"},
	{RQOffline_ExtractCScan_InvalidRPNSequence,								"RQ_ExtractCScan fail: invalid RPN sequence (see documentation for details)"},
	{RQOffline_ExtractCScan_RawScanDoesNotContainGateData,					"RQ_ExtractCScan fail: pRawScan does not contain gate data"},
	{RQOffline_ExtractCScan_CScanDesynchronisation,							"RQ_ExtractCScan fail: C-scan desynchronisation"},
	{RQOffline_ExtractCScan_InternalDataFormatError,						"RQ_ExtractCScan fail: Raw data header corrupt"},
	{RQOffline_ExtractCScan_NotCompatibleWithSequencedFPGA,						"RQ_ExtractCScan fail: Not Compatible With Sequenced FPGA"},
	{RQOffline_ExtractGateValues_InvalidBScanIndex,							"RQ_ExtractGateValues fail: invalid B-scan index (insufficient B-scans in memory)"},
	{RQOffline_ExtractGateValues_InvalidAScanIndex,							"RQ_ExtractGateValues fail: invalid A-scan index (insufficient A-scans per B-scan"},
	{RQOffline_ExtractGateValues_RawScanDoesNotContainGateData,				"RQ_ExtractGateValues fail: pRawScan does not contain gate data"},
	{RQOffline_ExtractEncoderValue_MissingEncoderValues,					"RQ_ExtractEncoderValue fail: missing encoder values (trigger must be set to RQ_TEncoder and appropriate hardware connected)"},
	{RQOffline_ExtractEncoderValue_InvalidBScanIndex,						"RQ_ExtractEncoderValue fail: invalid B-scan index (insufficient B-scans in memory)"},
	{RQOffline_ExtractEncoderValue_InvalidEncoderIndex,						"RQ_ExtractEncoderValue fail: invalid encoder index (must be 0 to RQ_NUMBER_OF_ENCODERS - 1)"},
	{RQOffline_ExtractEncoderValue_RawScanDoesNotContainEncoderData,		"RQ_ExtractEncoderValue fail: pRawScan does not contain encoder data"},
	{RQOffline_LastError,													"Unknown"}
} ;

