User`s manual

Rabbit 4000 Designer’s Handbook rabbit.com 59
typedef struct {
int tableVersion; // version number for this table layout**
int productID; // Rabbit part #
int vendorID; // 1 = Rabbit
char timestamp[7]; // YY/M/D H:M:S
long flashID; // Manufacturer ID/ Product ID, 1st flash
*
int flashType; // Write method
int flashSize; // in 1000h pages
int sectorSize; // size of flash sector in bytes
int numSectors; // number of sectors
int flashSpeed; // in nanoseconds *
long flash2ID; // Manufacturer ID/ Product ID, 2nd flash
*
int flash2Type; // Write method, 2nd flash
int flash2Size; // in 1000h pages, 2nd flash
int sector2Size; // byte size of 2nd flash's sectors
int num2Sectors; // number of sectors
int flash2Speed; // in nanoseconds, 2nd flash *
long ramID; // Rabbit part #
int ramSize; // in 1000h pages *
int ramSpeed; // in nanoseconds *
int cpuID; // CPU type ID *
long crystalFreq; // in Hertz *
char macAddr[6]; // Media Access Control (MAC) address **
char serialNumber[24]; // device serial number
char productName[30]; // NULL-terminated string
// Begin new version 5 System ID block member structure.
SysIDBlockType2 idBlock2; // idblock
// End new version 5 System ID block member structure.
char reserved[1]; // reserved for later use - size can grow
long idBlockSize; // number of bytes in the SysIDBlock
struct **
unsigned userBlockSize; // User block size, in bytes (right below
ID block)**
unsigned userBlockLoc; // offset in bytes of start of User block
from this one**
int idBlockCRC; // CRC of this block (when this field is
set to 0) **
char marker[6]; // should be 0x55 0xAA 0x55 0xAA 0x55
0xAA**
} SysIDBlock;