;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Copyright (c) 2001-2002 TIMEX Corporation.
; 
; This document is the property of, and contains information proprietary to
; TIMEX Corporation.  It is to be returned upon request.  Reproduction by any
; means, disclosure, or use of its contents for other than the expressed
; purpose for which it is loaned, without the written consent of TIMEX
; Corporation, is strictly prohibited.
;
; File Name:    db.h
;
; Purpose:      Data Base Header File
;
; File Change History:
;
;               11/23/2001 NLS Modified for M851
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


DBNULLRECORDADDRESS             EQU 0000H
DBNULLRECORDOFFSET              EQU 0000H


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; DATABASE HEADER BLOCK DEFINITIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DBHEADERALLOCATIONSIZEOFFSET    EQU 0
DBHEADERDATABASESIZEOFFSET      EQU 2
DBHEADERAPPSPECIFICSIZEOFFSET   EQU 4
DBHEADERNUMBEROFRECORDSOFFSET   EQU 5
DBHEADERRECORDSIZEOFFSET        EQU 7

DBHEADERBLOCKSIZE               EQU 8


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; CODE BLOCK RECORD HEADER DEFINITION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Size of code block record header
DBCODEBLOCKHEADERSIZE           EQU 2

; Offset for size of the code in the record
DBCODERECORDHEADERSIZEOFFSET    EQU 0

; Offset for the type of code stored in the record
DBCODERECORDHEADERTYPEOFFSET    EQU 2

; Offset where the actual code is stored in the record
DBCODERECORDHEADERCODEOFFSET    EQU 3


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; DOUBLE LINKED LIST RECORD HEADER DEFINITION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DBLINKLISTNEXTRECORDOFFSET      EQU 0
DBLINKLISTPREVIOUSRECORDOFFSET  EQU 2
DBLINKLISTSIZEOFRECORDOFFSET    EQU 4

DBLINKLISTRECORDHEADERSIZE      EQU 5


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; TEMPORARY VARIABLES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Temp location to store the offset address from eeprom (16-bit)
DBOffsetAddress:                EQU CORESystemCommonBuffer+0

; Temp location to store the search criteria for locating the record address to insert
DBRecordSize:                   EQU CORESystemCommonBuffer+2

; Temp location to 
DBLinkListRecordHeader:         EQU CORESystemCommonBuffer+3

DBLinkListRecordOffset:         EQU CORESystemCommonBuffer+8

; Temp location to store the previous and next pointers when adding or deleting a record from a link list db
DBPreviousRecordOffset:         EQU CORESystemCommonBuffer+10
DBNextRecordOffset:             EQU CORESystemCommonBuffer+12


; Variable usage of database module
DBRAMSIZE:                      EQU (DBEND-DBSTART)



