1*064bab1dSCameron Smith #ifndef PHSOLVER_PHIO_BASE_H 2*064bab1dSCameron Smith #define PHSOLVER_PHIO_BASE_H 3*064bab1dSCameron Smith struct phio_file { 4*064bab1dSCameron Smith struct phio_ops const* ops; 5*064bab1dSCameron Smith int* file; 6*064bab1dSCameron Smith }; 7*064bab1dSCameron Smith typedef struct phio_file* phio_fp; 8*064bab1dSCameron Smith 9*064bab1dSCameron Smith struct phio_ops { 10*064bab1dSCameron Smith void (*readheader)( 11*064bab1dSCameron Smith int* fileDescriptor, 12*064bab1dSCameron Smith const char keyphrase[], 13*064bab1dSCameron Smith void* valueArray, 14*064bab1dSCameron Smith int* nItems, 15*064bab1dSCameron Smith const char datatype[], 16*064bab1dSCameron Smith const char iotype[] ); 17*064bab1dSCameron Smith void (*writeheader)( 18*064bab1dSCameron Smith const int* fileDescriptor, 19*064bab1dSCameron Smith const char keyphrase[], 20*064bab1dSCameron Smith const void* valueArray, 21*064bab1dSCameron Smith const int* nItems, 22*064bab1dSCameron Smith const int* ndataItems, 23*064bab1dSCameron Smith const char datatype[], 24*064bab1dSCameron Smith const char iotype[] ); 25*064bab1dSCameron Smith void (*readdatablock)( 26*064bab1dSCameron Smith int* fileDescriptor, 27*064bab1dSCameron Smith const char keyphrase[], 28*064bab1dSCameron Smith void* valueArray, 29*064bab1dSCameron Smith int* nItems, 30*064bab1dSCameron Smith const char datatype[], 31*064bab1dSCameron Smith const char iotype[] ); 32*064bab1dSCameron Smith void (*writedatablock)( 33*064bab1dSCameron Smith const int* fileDescriptor, 34*064bab1dSCameron Smith const char keyphrase[], 35*064bab1dSCameron Smith const void* valueArray, 36*064bab1dSCameron Smith const int* nItems, 37*064bab1dSCameron Smith const char datatype[], 38*064bab1dSCameron Smith const char iotype[]); 39*064bab1dSCameron Smith void (*restartname)(int* step, char* filename); 40*064bab1dSCameron Smith void (*closefile_read)(phio_fp fileDescriptor); 41*064bab1dSCameron Smith void (*closefile_write)(int* fileDescriptor); 42*064bab1dSCameron Smith }; 43*064bab1dSCameron Smith 44*064bab1dSCameron Smith #endif 45