xref: /phasta/phSolver/common/phIO.h (revision ab645d527a403248f92b1511f47c35aaadb4947d)
1 #ifndef PHSOLVER_PHIO_H
2 #define PHSOLVER_PHIO_H
3 
4 #include <FCMangle.h>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9   typedef struct phio_file* phio_fp;
10   void phio_openfile(
11       const char filename[],
12       phio_fp fileDescriptor);
13   void phio_closefile(phio_fp fileDescriptor);
14   void phio_readheader(
15       phio_fp fileDescriptor,
16       const  char keyphrase[],
17       void* valueArray,
18       int*  nItems,
19       const char  datatype[],
20       const char  iotype[] );
21   void phio_writeheader(
22       phio_fp fileDescriptor,
23       const char keyphrase[],
24       const void* valueArray,
25       const int* nItems,
26       const int* ndataItems,
27       const char datatype[],
28       const char iotype[] );
29   void phio_readdatablock(
30       phio_fp fileDescriptor,
31       const  char keyphrase[],
32       void* valueArray,
33       int*  nItems,
34       const char  datatype[],
35       const char  iotype[] );
36   void phio_writedatablock(
37       phio_fp fileDescriptor,
38       const char keyphrase[],
39       const void* valueArray,
40       const int* nItems,
41       const char datatype[],
42       const char iotype[]);
43   typedef enum {PHIO_SYNC,PHIO_POSIX,PHIO_STREAM} phio_format;
44   void phio_constructName(
45       phio_format format,
46       const char* inName,
47       const char* outName);
48   void phio_appendStep(char* dest, int v);
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif
54 
55