/******************************************************************************
 *
 *	NDT Solutions RapiDAQ Software Development Kit v1.0beta
 *
 ******************************************************************************
 *
 *  File:        RQEnums.h.
 *
 *  Description: Secondary header file for RapiDAQ SDK containing enumerated 
 *               types. This file does not need to be explicitly included.
 *
 *	Revision:    07/09/05 - Mark Eastlick (mark.eastlick@ndtsolutions.com).
 *
 ******************************************************************************/

#ifndef RQOFFLINEENUMS_H
#define RQOFFLINEENUMS_H

#include "NDTSEnums.h"
#include "RQConstants.h"




// In the XXX_ReturnCode types we use the following convention:
// low 8 bits = specific error value from this function
// next 8 bits = function returning error
// next 8 bits = SDK number
// top 8 bits reserved, currently always zero
// SDK values are:
// 00 = RQ  - in RQEnums.h
// 01 = pulser/receiver - in RQEnums.h
// 02 = offline (extract) 

// The extract enums were removed from RQEnums.h.  
// The function returning error bits have kept their pervious values so the numbering does not start at zero.


typedef enum
{
	RQOffline_Extract_OK										= 0x00020000,
	RQOffline_ExtractAScan_InvalidBScanIndex					= 0x00025e00,
	RQOffline_ExtractAScan_InvalidAScanIndex					= 0x00025e01,
	RQOffline_ExtractAScan_InternalDataFormatError				= 0x00025e02,
	RQOffline_ExtractAScan_AScanDesynchronisation				= 0x00025e03,
	RQOffline_ExtractAScan_RawScanDoesNotContainAScanData		= 0x00025e07,

	RQOffline_ExtractBScan_InvalidBScanIndex					= 0x00025e04,
	RQOffline_ExtractBScan_InternalDataFormatError				= 0x00025e05,
	RQOffline_ExtractBScan_AScanDesynchronisation				= 0x00025e06,
	RQOffline_ExtractBScan_RawScanDoesNotContainBScanData		= 0x00025e08,

	RQOffline_ExtractCScan_InvalidBScanBounds					= 0x00025f00,
	RQOffline_ExtractCScan_MissingCScan						= 0x00025f01,
	RQOffline_ExtractCScan_InvalidGate							= 0x00025f02,
	RQOffline_ExtractCScan_InvalidRPNSequence					= 0x00025f03,
	RQOffline_ExtractCScan_OutOfMemory						    = 0x00025f04,
	RQOffline_ExtractCScan_RawScanDoesNotContainGateData	    = 0x00025f05,
	RQOffline_ExtractCScan_CScanDesynchronisation			    = 0x00025f06,
	RQOffline_ExtractCScan_InternalDataFormatError			    = 0x00025f07,
	RQOffline_ExtractCScan_NotCompatibleWithSequencedFPGA      = 0x00025f08,


	RQOffline_ExtractGateValues_InvalidBScanIndex			    = 0x00026100,
	RQOffline_ExtractGateValues_InvalidAScanIndex			    = 0x00026101,
	RQOffline_ExtractGateValues_RawScanDoesNotContainGateData  = 0x00026102,

	RQOffline_ExtractEncoderValue_MissingEncoderValues		    = 0x00026200,
	RQOffline_ExtractEncoderValue_InvalidBScanIndex			= 0x00026201,
	RQOffline_ExtractEncoderValue_InvalidEncoderIndex			= 0x00026202,
	RQOffline_ExtractEncoderValue_RawScanDoesNotContainEncoderData = 0x00026203,
	RQOffline_LastError
} RQOffline_ReturnCode ;

#endif
