#ifndef PHSOLVER_PHIO_BASE_H #define PHSOLVER_PHIO_BASE_H struct phio_file { struct phio_ops const* ops; int* file; }; typedef struct phio_file* phio_fp; struct phio_ops { void (*readheader)( int* fileDescriptor, const char keyphrase[], void* valueArray, int* nItems, const char datatype[], const char iotype[] ); void (*writeheader)( const int* fileDescriptor, const char keyphrase[], const void* valueArray, const int* nItems, const int* ndataItems, const char datatype[], const char iotype[] ); void (*readdatablock)( int* fileDescriptor, const char keyphrase[], void* valueArray, int* nItems, const char datatype[], const char iotype[] ); void (*writedatablock)( const int* fileDescriptor, const char keyphrase[], const void* valueArray, const int* nItems, const char datatype[], const char iotype[]); void (*closefile_read)(phio_fp fileDescriptor); void (*closefile_write)(phio_fp fileDescriptor); }; #endif