#include <wait.h>
#include "libnazgul.h"

int main(void) {
  //	msgSpace mS=0;

  msgSpaceId testId;
  msgSpace * mSPAC;
  msgPool poolInfos[3];
  char * montext;

  poolInfos[0].bufferNb=4;
  poolInfos[0].bufferSize=200;
  
  poolInfos[1].bufferNb=5;
  poolInfos[1].bufferSize=250;
  
  sprintf(testId,"test%d",(int)getuid());
  printf("RequestedId: %s\n",testId);
 printf("Void size: %d\n",sizeof(void)); 
 //creation de l'espace de messages
  mSPAC=msgSpaceCreate(testId,1,2,poolInfos);
  if (mSPAC ==NULL) {
	NZG_ERROR("msgSpaceCreate",testId);
	exit(0);
  }

  printf("CREATION ------------------ ok\n");
pid_t pid=fork();
if (pid==0){
  sleep(2);
  mSPAC=msgSpaceOpen(testId);
  montext=msgAllocate(mSPAC,1,280,0); 
  *montext=42;
  printf("### test Valeur0 %d ###\n",(int)*montext);
  printf("Put1..."); fflush(stdout);
  msgPut(mSPAC,0,montext);
  printf("put1-ok\n");
} else {
  mSPAC=msgSpaceOpen(testId);
  printf("Get..."); fflush(stdout);
  montext=msgGet(mSPAC,0,0);
  printf("get-ok\n");
  printf("### test Reception %d ###\n",(int)*montext);
  msgFree(mSPAC,montext);
  wait(NULL);
  msgSpaceDelete(testId);
}
  return 0;
}