Common C type definitions
To better indicate their use and ensure code portability, some common C types have been redefined.
Typedef char aat_ascii;
Typedef unsigned char aat_byte;
Typedef short int aat_int16;
Typedef long int aat_int32;
Typedef unsigned short int aat_uint16;
Typedef unsigned long int aat_word32;
Typedef short int aat_bool;
enum aat_bool
{
aat_false False=0,
aat_true True=1
};HashDataBlock (structure)
HashDataBlock is the logical hash data block structure. The size of the block may vary.
/* HashDataBlock */
{
aat_byte SerialNumber[22], /* ASCII */
aat_byte DataBlockSize[4],
aat_byte DataBlockVersion[2],
aat_byte MaxRandomDiv[4],
aat_byte StartWindows[4], /* (Can be an event value or time expressed in number of seconds). */
aat_byte HashNb[4]=X,
aat_byte Data[X][20],
aat_byte CRC[4]
}StateDataBlock (structure)
StateDataBlock is the logical state data block structure.
/* StateDataBlock */
{
aat_byte SerialNumber[22], /* ASCII */
aat_byte DataBlockSize[4],
aat_byte DataBlockVersion[2],
aat_byte Status[1],
aat_byte StaticPINLen[1],
aat_byte OTPLen[1],
aat_byte OTPFormat[1],
aat_byte CodeWord[4],
aat_byte LastUsedValue[4], /* (Can be an event value or time expressed in number of seconds). */
aat_byte LastTimeShift[4],
aat_byte ErrorCount[4],
aat_byte UseCount[4],
aat_byte StaticPINDelta[8],
aat_byte CRC[4]
}