#ifndef RawScanCARDBLOCKDESCRIPTIONSPROTECTED_H
#define RawScanCARDBLOCKDESCRIPTIONSPROTECTED_H

#include "RawScan.h"
#include "RawScan.h"

typedef enum
{
	// These should be integer powers of 2.
	RawScan_CBDIsCRCCheckPresent = 1
} RawScan_CardBlockDescriptionFlags ;

typedef struct
{
	unsigned long size ;	// In bytes: Does not include CRC if present.
	RawScan_CardBlockDescriptionFlags flags ; 
	unsigned long reserved ;
} RawScan_CardBlockDescription ;

RAW_SCAN_API NDTS_Boolean CALL_CONV RawScan_CreateRawScanBScanDescriptions(NDTS_RawScan *pRawScan, RawScan_CardBlockDescription **ppDescriptions, unsigned long *pNumberOfDescriptions) ;
RAW_SCAN_API NDTS_Boolean CALL_CONV RawScan_CreateRawGateValueDescriptions(NDTS_RawScan *pRawScan, RawScan_CardBlockDescription **ppDescriptions, unsigned long *pNumberOfDescriptions) ;
RAW_SCAN_API void CALL_CONV RawScan_FreeRawDescriptions(RawScan_CardBlockDescription *pDescriptions);

#endif