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