1d1293ce9SCameron Smith #ifndef PHSOLVER_PHIO_H 2d1293ce9SCameron Smith #define PHSOLVER_PHIO_H 3d1293ce9SCameron Smith 4d1293ce9SCameron Smith #include <FCMangle.h> 5d1293ce9SCameron Smith 6abb450f3SCameron Smith #define phio_readheader \ 7abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_readheader, PHIO_READHEADER) 8abb450f3SCameron Smith #define phio_writeheader \ 9abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_writeheader, PHIO_WRITEHEADER) 10abb450f3SCameron Smith #define phio_readdatablock \ 11abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_readdatablock, PHIO_READDATABLOCK) 12abb450f3SCameron Smith #define phio_writedatablock \ 13abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_writedatablock, PHIO_WRITEDATABLOCK) 14abb450f3SCameron Smith #define phio_openfile_read \ 15abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_openfile_read, PHIO_OPENFILE_READ) 16abb450f3SCameron Smith #define phio_openfile_write \ 17abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_openfile_write, PHIO_OPENFILE_WRITE) 18abb450f3SCameron Smith #define phio_restartname \ 19abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_restartname, PHIO_RESTARTNAME) 20abb450f3SCameron Smith #define phio_closefile_read \ 21abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_closefile_read, PHIO_CLOSEFILE_READ) 22abb450f3SCameron Smith #define phio_closefile_write \ 23abb450f3SCameron Smith FortranCInterface_GLOBAL_(phio_closefile_write, PHIO_CLOSEFILE_WRITE) 24d1293ce9SCameron Smith 25d1293ce9SCameron Smith #ifdef __cplusplus 26d1293ce9SCameron Smith extern "C" { 27d1293ce9SCameron Smith #endif 28*064bab1dSCameron Smith typedef struct phio_file* phio_fp; 29d1293ce9SCameron Smith void phio_readheader( 30*064bab1dSCameron Smith phio_fp fileDescriptor, 31d1293ce9SCameron Smith const char keyphrase[], 32d1293ce9SCameron Smith void* valueArray, 33d1293ce9SCameron Smith int* nItems, 34d1293ce9SCameron Smith const char datatype[], 35d1293ce9SCameron Smith const char iotype[] ); 36fa18c524SCameron Smith void phio_writeheader( 37fa18c524SCameron Smith const int* fileDescriptor, 38fa18c524SCameron Smith const char keyphrase[], 39fa18c524SCameron Smith const void* valueArray, 40fa18c524SCameron Smith const int* nItems, 41fa18c524SCameron Smith const int* ndataItems, 42fa18c524SCameron Smith const char datatype[], 43fa18c524SCameron Smith const char iotype[] ); 44f262839cSCameron Smith void phio_readdatablock( 45*064bab1dSCameron Smith phio_fp fileDescriptor, 46f262839cSCameron Smith const char keyphrase[], 47f262839cSCameron Smith void* valueArray, 48f262839cSCameron Smith int* nItems, 49f262839cSCameron Smith const char datatype[], 50f262839cSCameron Smith const char iotype[] ); 5166a3fa2cSCameron Smith void phio_writedatablock( 5266a3fa2cSCameron Smith const int* fileDescriptor, 5366a3fa2cSCameron Smith const char keyphrase[], 5466a3fa2cSCameron Smith const void* valueArray, 5566a3fa2cSCameron Smith const int* nItems, 5666a3fa2cSCameron Smith const char datatype[], 5766a3fa2cSCameron Smith const char iotype[]); 5892bfab9aSCameron Smith void phio_openfile_read( 5992bfab9aSCameron Smith const char filename[], 6092bfab9aSCameron Smith int* numFiles, 61*064bab1dSCameron Smith phio_fp* fileDescriptor); 6292bfab9aSCameron Smith void phio_openfile_write( 6392bfab9aSCameron Smith const char filename[], 6482f286aaSCameron Smith int* numFiles, 65ade0e30fSCameron Smith int* numFields, 66ade0e30fSCameron Smith int* numPPF, 6782f286aaSCameron Smith int* fileDescriptor); 6882f286aaSCameron Smith void phio_restartname(int* step, char* filename); 69*064bab1dSCameron Smith void phio_closefile_read(phio_fp fileDescriptor); 70a7c8a483SCameron Smith void phio_closefile_write(int* fileDescriptor); 71d1293ce9SCameron Smith #ifdef __cplusplus 72d1293ce9SCameron Smith } 73d1293ce9SCameron Smith #endif 74d1293ce9SCameron Smith 75d1293ce9SCameron Smith #endif 76d1293ce9SCameron Smith 77