xref: /phasta/phSolver/common/phIO.h (revision 064bab1d5bdf3aea43bbb2384c828c3c38ab8501)
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