1d1293ce9SCameron Smith #include "phIO.h" 2d1293ce9SCameron Smith #include "phComm.h" 3*f262839cSCameron Smith #include <stdio.h> 4d1293ce9SCameron Smith #include <phastaIO.h> 5d1293ce9SCameron Smith #include <sstream> 6d1293ce9SCameron Smith #include <string> 7d1293ce9SCameron Smith 8*f262839cSCameron Smith namespace { 9*f262839cSCameron Smith std::string appendSync(const char* phrase) { 10*f262839cSCameron Smith std::stringstream ss; 11*f262839cSCameron Smith ss << phrase << "@" << phcomm_rank()+1 << "?"; 12*f262839cSCameron Smith std::string s = ss.str(); 13*f262839cSCameron Smith return s; 14*f262839cSCameron Smith } 15*f262839cSCameron Smith } 16*f262839cSCameron Smith 17d1293ce9SCameron Smith void phio_readheader( int* fileDescriptor, 18d1293ce9SCameron Smith const char keyphrase[], 19d1293ce9SCameron Smith void* valueArray, 20d1293ce9SCameron Smith int* nItems, 21d1293ce9SCameron Smith const char datatype[], 22d1293ce9SCameron Smith const char iotype[] ) { 23*f262839cSCameron Smith std::string syncPhrase = appendSync(keyphrase); 24*f262839cSCameron Smith readheader(fileDescriptor, syncPhrase.c_str(), 25d1293ce9SCameron Smith valueArray, nItems, datatype, iotype); 26d1293ce9SCameron Smith } 27d1293ce9SCameron Smith 28*f262839cSCameron Smith void phio_readdatablock( 29*f262839cSCameron Smith int* fileDescriptor, 30*f262839cSCameron Smith const char keyphrase[], 31*f262839cSCameron Smith void* valueArray, 32*f262839cSCameron Smith int* nItems, 33*f262839cSCameron Smith const char datatype[], 34*f262839cSCameron Smith const char iotype[] ) { 35*f262839cSCameron Smith std::string syncPhrase = appendSync(keyphrase); 36*f262839cSCameron Smith readdatablock(fileDescriptor, syncPhrase.c_str(), 37*f262839cSCameron Smith valueArray, nItems, datatype, iotype); 38*f262839cSCameron Smith } 39*f262839cSCameron Smith 40*f262839cSCameron Smith 41