00001 #ifndef __IWAVE_GRIDIO
00002 #define __IWAVE_GRIDIO
00003
00004
00005 #define IWAVE_USE_FMGR
00006
00007 #ifdef SUXDR
00008 #include <rpc/rpc.h>
00009 #endif
00010 #include "grid.h"
00011 #include "offsets.h"
00012 #include "parser.h"
00013 #ifdef IWAVE_USE_FMGR
00014 #include "iwave_fopen.h"
00015 #endif
00016
00017 extern int fseeko(FILE *stream, off_t offset, int whence);
00018 extern off_t ftello (FILE *stream);
00019
00026 int read_grid(grid * g, const char * fname, FILE * fp);
00027
00034 int par_grid(grid * g, PARARRAY par, FILE * fp);
00035
00056 int extend_array(ireal * a,
00057 const IPNT rags,
00058 const IPNT ran,
00059 const IPNT gs,
00060 const IPNT n,
00061 int dim,
00062 int ax);
00063
00084 int adj_extend_array(ireal * a,
00085 const IPNT rags,
00086 const IPNT ran,
00087 const IPNT gs,
00088 const IPNT n,
00089 int dim,
00090 int ax);
00091
00120 int rsfread(ireal * a,
00121 const IPNT gs,
00122 const IPNT n,
00123 const char * fname,
00124 float scale,
00125 FILE * fp,
00126 int panelindex
00127 );
00128
00158 int rsfwrite_proto(ireal * a,
00159 const IPNT rags,
00160 const IPNT ran,
00161 const char * fname,
00162 const char * dname,
00163 const char * type,
00164 float scale,
00165 const char * protohdr,
00166 const char * protodata,
00167 const grid * protog,
00168 int extend,
00169 FILE * fp,
00170 int panelindex
00171 );
00172
00173 int rsfwrite(ireal * a,
00174 const IPNT gs,
00175 const IPNT n,
00176 const char * fname,
00177 float scale,
00178 FILE * fp,
00179 int panelindex
00180 );
00181
00182 #endif