void SendMessagetoMasterTyp(char* message,int typ){ struct timeval tv ; pvm_initsend(PvmDataDefault); pvm_pkint(&typ, 1, 1); gettimeofday(&tv,NULL); pvm_pklong(&tv.tv_sec,1,1); pvm_pklong(&tv.tv_usec,1,1); pvm_pkstr(message); pvm_send(tid_master, MSG_DBG); }
void SendBorderTime(BOOL leftest, BOOL rightest) { BorderTimeDesc *bt; int nbt = 0, i, dff; for (bt = bordertime; bt; bt = bt->next) nbt += (bt->section != WEST_BORDER || leftest) && (bt->section != EAST_BORDER || rightest); pvm_pkint(&nbt, 1, 1); for (bt = bordertime; bt; bt = bt->next) { if ((bt->section == WEST_BORDER && !leftest) || (bt->section == EAST_BORDER && !rightest)) continue; pvm_pkint((int *)&bt->vartype, 1, 1); pvm_pkint((int *)&bt->section, 1, 1); pvm_pkint(&bt->bigdim, 1, 1); pvm_pkint(&bt->ntime, 1, 1); pvm_pkint(&bt->itime, 1, 1); pvm_pkint(&bt->cdfid, 1, 1); pvm_pkint(&bt->vid, 1, 1); pvm_pkstr((char *)bt->actualvar.name); pvm_pkint((int *)&bt->actualvar.v.et, 1, 1); pvm_pkushort(&bt->actualvar.dims, 1, 1); pvm_pkint((int *)&bt->actualvar.storetype, 1, 1); pvm_pkint(&bt->actualvar.id, 1, 1); pvm_pkint(&bt->actualvar.ncoord, 1, 1); pvm_pkint((int *)&bt->nextvar.v.et, 1, 1); pvm_pkushort(&bt->nextvar.dims, 1, 1); pvm_pkint((int *)&bt->nextvar.storetype, 1, 1); pvm_pklong(bt->timetable, bt->ntime, 1); pvm_pkuint((unsigned *)bt->coords, 4, 1); for (i = 0; i < 4; i++) { dff = bt->dimptr[i] - bt->coords; pvm_pkint(&dff, 1, 1); } } }