static aFiledataM *initAFiledataMPINONB ( const char *filename, size_t bs ) { aFiledataM *of = NULL; int iret; MPI_Comm commNode = commInqCommNode (); of = (aFiledataM*) xmalloc(sizeof (*of) + strlen(filename) + 1); strcpy(of->name, filename); of->size = bs; of->db1 = NULL; of->db2 = NULL; /* init output buffer */ iret = dbuffer_init ( &( of->db1 ), of->size ); iret += dbuffer_init ( &( of->db2 ), of->size ); if ( iret > 0 ) xabort ( "dbuffer_init did not succeed" ); of->db = of->db1; of->tsID = CDI_UNDEFID; /* open file */ xmpi(MPI_File_open(commNode, of->name, MPI_MODE_CREATE|MPI_MODE_WRONLY, MPI_INFO_NULL, &( of->fh ))); of->request = MPI_REQUEST_NULL; of->finished = false; return of; }
static void clear_rec (void) { memset (&rec, 0, sizeof (rec)); dbuffer_init (&rec.dbuffer, buffer, sizeof (buffer)); set_msgbuf (NULL, &rec.frames[0].buf); rec.datagram.allowoverflow = true; rec.datagram.maxsize = sizeof (datagram_data); rec.datagram.data = datagram_data; }