#include "sharedmemory.h" struct statusdata *stdata; int inism(int clsv) { static int scansmid; if (clsv==SMSV) { if ( (scansmid=shmget(SMKEY,1024,IPC_CREAT | 0666 ))==-1 ) { return -1; } if ( (stdata=shmat(scansmid,NULL,0))==(void*)-1) { return -2; } } if (clsv==SMCL) { if ( (scansmid=shmget(SMKEY,0,0) )==-1 ) { return -3; } if ( (stdata=shmat(scansmid,NULL,0))==(void*)-1) { return -4; } } return 1; } void write_status_sm(char *status) { strcpy(stdata->status,status); } void write_stop_sm(int v) { stdata->stop=v; } void write_runnumber_sm(int v) { stdata->runnumber=v; }