xref: /phasta/phSolver/common/phIO.h (revision ab645d527a403248f92b1511f47c35aaadb4947d)
1d1293ce9SCameron Smith #ifndef PHSOLVER_PHIO_H
2d1293ce9SCameron Smith #define PHSOLVER_PHIO_H
3d1293ce9SCameron Smith 
4d1293ce9SCameron Smith #include <FCMangle.h>
5d1293ce9SCameron Smith 
6d1293ce9SCameron Smith #ifdef __cplusplus
7d1293ce9SCameron Smith extern "C" {
8d1293ce9SCameron Smith #endif
9064bab1dSCameron Smith   typedef struct phio_file* phio_fp;
10*ab645d52SCameron Smith   void phio_openfile(
11*ab645d52SCameron Smith       const char filename[],
12*ab645d52SCameron Smith       phio_fp fileDescriptor);
13*ab645d52SCameron Smith   void phio_closefile(phio_fp fileDescriptor);
14d1293ce9SCameron Smith   void phio_readheader(
15064bab1dSCameron Smith       phio_fp fileDescriptor,
16d1293ce9SCameron Smith       const  char keyphrase[],
17d1293ce9SCameron Smith       void* valueArray,
18d1293ce9SCameron Smith       int*  nItems,
19d1293ce9SCameron Smith       const char  datatype[],
20d1293ce9SCameron Smith       const char  iotype[] );
21fa18c524SCameron Smith   void phio_writeheader(
2257517afcSCameron Smith       phio_fp fileDescriptor,
23fa18c524SCameron Smith       const char keyphrase[],
24fa18c524SCameron Smith       const void* valueArray,
25fa18c524SCameron Smith       const int* nItems,
26fa18c524SCameron Smith       const int* ndataItems,
27fa18c524SCameron Smith       const char datatype[],
28fa18c524SCameron Smith       const char iotype[] );
29f262839cSCameron Smith   void phio_readdatablock(
30064bab1dSCameron Smith       phio_fp fileDescriptor,
31f262839cSCameron Smith       const  char keyphrase[],
32f262839cSCameron Smith       void* valueArray,
33f262839cSCameron Smith       int*  nItems,
34f262839cSCameron Smith       const char  datatype[],
35f262839cSCameron Smith       const char  iotype[] );
3666a3fa2cSCameron Smith   void phio_writedatablock(
379ec3dd51SCameron Smith       phio_fp fileDescriptor,
3866a3fa2cSCameron Smith       const char keyphrase[],
3966a3fa2cSCameron Smith       const void* valueArray,
4066a3fa2cSCameron Smith       const int* nItems,
4166a3fa2cSCameron Smith       const char datatype[],
4266a3fa2cSCameron Smith       const char iotype[]);
43*ab645d52SCameron Smith   typedef enum {PHIO_SYNC,PHIO_POSIX,PHIO_STREAM} phio_format;
44*ab645d52SCameron Smith   void phio_constructName(
45*ab645d52SCameron Smith       phio_format format,
46*ab645d52SCameron Smith       const char* inName,
47*ab645d52SCameron Smith       const char* outName);
4836adee64SCameron Smith   void phio_appendStep(char* dest, int v);
49d1293ce9SCameron Smith #ifdef __cplusplus
50d1293ce9SCameron Smith }
51d1293ce9SCameron Smith #endif
52d1293ce9SCameron Smith 
53d1293ce9SCameron Smith #endif
54d1293ce9SCameron Smith 
55