/************************************************************************************ * msgBuff.h * * synopsis: Contains prototypes of routines which are in msgBuff.c. Contains the * structure tags which describe the primitive list buffer. * * related files: * listManager.c: Routines which manage the execution of a primitive list and * writing the reply data. * msgBuff.c: Contains some routines involved in reading a primitive list. * * Damon Fasching, UW Madison/LBNL fasching@wisconsin.cern.ch * Douglas Ferguson, UW Madison/LBNL (510) 486-5230 dpferguson@lbl.gov ************************************************************************************/ #ifndef MSG_BUFF #define MSG_BUFF #include "processor.h" /* Orig definitions: */ struct MSG_LIST_HEAD { /* header for message (primitive and reply) lists */ UINT32 length; /* total number of words in the list */ UINT32 index; /* list index */ UINT32 numMsgs; /* number of primitives */ UINT32 primListRevision; /* revision number of available primitives */ }; struct MSG_LIST_TAIL { /* trailer for message (primitive and reply) lists */ UINT32 length; /* should = length in the header, a check */ UINT32 checksum; /* checksum */ }; struct MSG_LIST { UINT32 *base; /* base address of the buffer */ UINT32 buffSize; /* size of the buffer in words */ UINT32 *rwPtr; /* current address */ UINT32 msgCounter; /* primitive or reply message counter */ UINT32 checksumWC; /* number of words to use in checksum calculation */ UINT32 checksum; /* locally calculated value of checksum */ struct MSG_LIST_HEAD head; /* holds list header */ struct MSG_LIST_TAIL tail; /* holds list trailer */ }; struct MSG_HEAD { UINT32 length; UINT32 index; UINT32 id; UINT32 primRevision; }; #endif