#include "../h/rci.h"
#include "shmemDemo.h"

startupFxn(td)
RCI_DESC *td;
{
	td->tcb->sharedMem = getSharedMemory("SMEM");
	td->tcb->globalMem = getGlobalMemory("GMEM");
}

taskFxn(td)
RCI_DESC *td;
{
	SMEM *smem = (SMEM*)td->tcb->sharedMem;	
	GMEM *gmem = (GMEM*)td->tcb->globalMem;
	LMEM *lmem = (LMEM*)smem->lmem;

	if (strcmp(rciTaskName(td), "task1") == 0)
	 { if (smem->ready)
	    { strcpy (gmem->buf, smem->buf);
	      strcpy (lmem->buf, smem->buf);
	      gmem->ready = 1;
	      smem->ready = 0;
	    }
	 }
	else
	 { if (gmem->ready)
	    { strcpy (smem->buf, gmem->buf);
	      strcpy (lmem->buf, gmem->buf);
	      smem->ready = 1;
	      gmem->ready = 0;
	    }
	 }
}

