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