Fortran SFF API to data I/O streams in C++
fapidsff.h File Reference

This is the interface usually expected by Fortran programs linking to libsff.a (prototypes) More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TF_FAPIDSFF_H_VERSION   "TF_FAPIDSFF_H V1.3"
 

Typedefs

typedef double doublereal
 Fortran double real type. More...
 
typedef long int ftnlen
 Fortran string size type. More...
 
typedef long int integer
 Fortran integer type. More...
 
typedef long int logical
 Fortran logical type. More...
 
typedef float real
 Fortran real type (single precision) More...
 

Functions

int sff_checksum__ (integer *nsamp, integer *idata, integer *nchecksum)
 
int sff_close__ (integer *lu, integer *ierr)
 Close SFF file. More...
 
int sff_f2i__ (integer *idata, real *fdata, integer *nsamples, real *ampfac)
 
int sff_getchannel__ (char *wid2line, char *channel, ftnlen wid2line_len, ftnlen channel_len)
 
int sff_getdate__ (char *wid2line, char *date, ftnlen wid2line_len, ftnlen date_len)
 
doublereal sff_getdt__ (char *wid2line, ftnlen wid2line_len)
 
integer sff_getn__ (char *wid2line, ftnlen wid2line_len)
 
int sff_getstation__ (char *wid2line, char *sta, ftnlen wid2line_len, ftnlen sta_len)
 
int sff_gettime__ (char *wid2line, char *time, ftnlen wid2line_len, ftnlen time_len)
 
int sff_help_details__ (void)
 print detailed information about modules in libdatrwxx More...
 
int sff_help_formats__ (void)
 list supported data formats More...
 
int sff_i2f__ (integer *idata, real *fdata, integer *nsamples, real *ampfac)
 
doublereal sff_libversion__ (void)
 
int sff_modwid2date__ (char *wid2line, integer *year, integer *month, integer *day, ftnlen wid2line_len)
 modify date of first sample in WID2 line More...
 
int sff_modwid2samprat__ (char *wid2line, real *samprat, ftnlen wid2line_len)
 modify sampling rate in WID2 line More...
 
int sff_modwid2samps__ (char *wid2line, integer *samps, ftnlen wid2line_len)
 modify number of samples in WID2 line More...
 
int sff_modwid2shift__ (char *wid2line, real *tmin, real *tsec, ftnlen wid2line_len)
 shift time of first sample in WID2 line More...
 
int sff_modwid2time__ (char *wid2line, integer *hour, integer *minute, real *second, ftnlen wid2line_len)
 modify time of first sample in WID2 line More...
 
int sff_new__ (integer *lu, char *filename, integer *ierr, ftnlen filename_len)
 Delete existing file. More...
 
int sff_prepwid2__ (integer *nsamp, real *samprat, char *station, integer *year, integer *month, integer *day, integer *hour, integer *minute, char *comp, char *auxid, char *instyp, real *second, real *calib, real *calper, real *hang, real *vang, char *wid2line, integer *ierr, ftnlen station_len, ftnlen comp_len, ftnlen auxid_len, ftnlen instyp_len, ftnlen wid2line_len)
 Encode WID2 data. More...
 
int sff_quickread__ (integer *lu, char *wid2line, integer *nsamp, real *tanf, real *dt, integer *idata, real *ampfac, integer *ierr, ftnlen wid2line_len)
 
int sff_quickwrite__ (integer *lu, char *wid2line, integer *nsamp, integer *idata, real *ampfac, ftnlen wid2line_len)
 
int sff_rdata2__ (integer *lu, integer *nsamp, integer *idata, char *cbuf, integer *nchar, integer *ierr, ftnlen cbuf_len)
 
int sff_rdata__ (integer *lu, char *wid2line, integer *nsamp, real *tanf, real *dt, integer *idata, real *ampfac, char *code, integer *ierr, ftnlen wid2line_len, ftnlen code_len)
 
int sff_rfree__ (integer *lu, integer *nline, char *lines, integer *lenmax, integer *lindim, integer *ierr, ftnlen lines_len)
 
int sff_rinfo__ (integer *lu, char *cs, real *c1, real *c2, real *c3, integer *nstack, integer *ierr, ftnlen cs_len)
 
int sff_ropen__ (integer *lu, char *filename, real *version, char *timestamp, char *code, integer *ierr, ftnlen filename_len, ftnlen timestamp_len, ftnlen code_len)
 Open SFF file. More...
 
int sff_ropenf__ (integer *lu, char *filename, real *version, char *timestamp, char *code, integer *nline, char *lines, integer *lenmax, integer *lindim, integer *ierr, ftnlen filename_len, ftnlen timestamp_len, ftnlen code_len, ftnlen lines_len)
 
int sff_ropenfs__ (integer *lu, char *filename, real *version, char *timestamp, char *code, integer *nline, char *lines, integer *lenmax, integer *lindim, char *type__, char *cs, real *c1, real *c2, real *c3, char *date, char *time, integer *ierr, ftnlen filename_len, ftnlen timestamp_len, ftnlen code_len, ftnlen lines_len, ftnlen type_len, ftnlen cs_len, ftnlen date_len, ftnlen time_len)
 Open SFF file and return source line and FREE block. More...
 
int sff_ropens__ (integer *lu, char *filename, real *version, char *timestamp, char *code, char *type__, char *cs, real *c1, real *c2, real *c3, char *date, char *time, integer *ierr, ftnlen filename_len, ftnlen timestamp_len, ftnlen code_len, ftnlen type_len, ftnlen cs_len, ftnlen date_len, ftnlen time_len)
 Open SFF file and return source line. More...
 
int sff_rsource__ (integer *lu, char *typ, char *cs, real *c1, real *c2, real *c3, char *date, char *time, integer *ierr, ftnlen typ_len, ftnlen cs_len, ftnlen date_len, ftnlen time_len)
 
int sff_rstatus__ (integer *lu, real *version, char *timestamp, char *code, integer *ierr, ftnlen timestamp_len, ftnlen code_len)
 
int sff_rtrace__ (integer *lu, real *tanf, real *dt, char *wid2line, integer *nsamp, real *fdata, integer *idata, char *code, logical *last, integer *ierr, ftnlen wid2line_len, ftnlen code_len)
 Read one trace of data. More...
 
int sff_rtracef__ (integer *lu, real *tanf, real *dt, char *wid2line, integer *nsamp, real *fdata, integer *idata, char *code, logical *last, integer *nline, char *lines, integer *lindim, integer *lenmax, integer *ierr, ftnlen wid2line_len, ftnlen code_len, ftnlen lines_len)
 
int sff_rtracefi__ (integer *lu, real *tanf, real *dt, char *wid2line, integer *nsamp, real *fdata, integer *idata, char *code, logical *last, integer *nline, char *lines, integer *lindim, integer *lenmax, char *cs, real *c1, real *c2, real *c3, integer *nstack, integer *ierr, ftnlen wid2line_len, ftnlen code_len, ftnlen lines_len, ftnlen cs_len)
 Read one trace of data and return FREE block and INFO line additionally. More...
 
int sff_rtracei__ (integer *lu, real *tanf, real *dt, char *wid2line, integer *nsamp, real *fdata, integer *idata, char *code, logical *last, char *cs, real *c1, real *c2, real *c3, integer *nstack, integer *ierr, ftnlen wid2line_len, ftnlen code_len, ftnlen cs_len)
 Read one trace of data and return INFO line additionally. More...
 
int sff_rwdata__ (integer *lu, char *wid2line, char *code, real *ampfac, integer *nsamp, integer *idata, logical *rwflag, integer *ierr, ftnlen wid2line_len, ftnlen code_len)
 
int sff_rwid2__ (integer *lu, char *wid2line, integer *nsamp, real *tanf, real *dt, integer *nchar, real *ampfac, char *code, integer *ierr, ftnlen wid2line_len, ftnlen code_len)
 
int sff_select_format__ (char *formatid, integer *ierr, ftnlen formatid_len)
 select format for input and output More...
 
int sff_select_input_format__ (char *formatid, integer *ierr, ftnlen formatid_len)
 select format for input More...
 
int sff_select_output_format__ (char *formatid, integer *ierr, ftnlen formatid_len)
 select format for output More...
 
int sff_skipdata__ (integer *lu, char *code, logical *last, integer *ierr, ftnlen code_len)
 Skip a complete trace. More...
 
int sff_skipfree__ (integer *lu, integer *ierr)
 
int sff_timeadd__ (integer *year1, integer *doy1, integer *hour1, integer *minute1, real *second1, integer *year2, integer *doy2, integer *hour2, integer *minute2, real *second2, integer *year, integer *doy, integer *hour, integer *minute, real *second)
 
integer sff_timegetdoy__ (integer *year, integer *month, integer *day)
 
logical sff_timeisleapyear__ (integer *year)
 
int sff_timesetdoy__ (integer *doy, integer *year, integer *month, integer *day)
 
int sff_timesplit__ (real *tsec, integer *day, integer *hour, integer *minute, real *second)
 
int sff_trimlen__ (char *string, integer *ntrim, ftnlen string_len)
 
int sff_wdata__ (integer *lu, char *wid2line, integer *nsamp, integer *idata, real *ampfac, char *code, ftnlen wid2line_len, ftnlen code_len)
 
int sff_wfree__ (integer *lu, integer *nline, char *lines, ftnlen lines_len)
 
int sff_winfo__ (integer *lu, char *cs, real *c1, real *c2, real *c3, integer *nstack, ftnlen cs_len)
 
int sff_wopen__ (integer *lu, char *filename, integer *ierr, ftnlen filename_len)
 Open file for writing. More...
 
int sff_wopenf__ (integer *lu, char *filename, char *lines, integer *nline, integer *ierr, ftnlen filename_len, ftnlen lines_len)
 
int sff_wopenfs__ (integer *lu, char *filename, char *lines, integer *nline, char *type__, char *cs, real *c1, real *c2, real *c3, char *date, char *time, integer *ierr, ftnlen filename_len, ftnlen lines_len, ftnlen type_len, ftnlen cs_len, ftnlen date_len, ftnlen time_len)
 Open file for writing and pass FREE block and SRCE line. More...
 
int sff_wopens__ (integer *lu, char *filename, char *type__, char *cs, real *c1, real *c2, real *c3, char *date, char *time, integer *ierr, ftnlen filename_len, ftnlen type_len, ftnlen cs_len, ftnlen date_len, ftnlen time_len)
 Open file for writing and pass SRCE line. More...
 
int sff_wsource__ (integer *lu, char *typh, char *cs, real *c1, real *c2, real *c3, char *date, char *time, ftnlen typh_len, ftnlen cs_len, ftnlen date_len, ftnlen time_len)
 
int sff_wstatus__ (integer *lu, char *code, ftnlen code_len)
 
int sff_wtrace__ (integer *lu, char *wid2line, integer *nsamp, real *fdata, integer *idata, logical *last, integer *ierr, ftnlen wid2line_len)
 Write one trace of data with INFO line. More...
 
int sff_wtracef__ (integer *lu, char *wid2line, integer *nsamp, real *fdata, integer *idata, logical *last, integer *nline, char *lines, integer *ierr, ftnlen wid2line_len, ftnlen lines_len)
 
int sff_wtracefi__ (integer *lu, char *wid2line, integer *nsamp, real *fdata, integer *idata, logical *last, integer *nline, char *lines, char *cs, real *c1, real *c2, real *c3, integer *nstack, integer *ierr, ftnlen wid2line_len, ftnlen lines_len, ftnlen cs_len)
 Write one trace of data with FREE block and INFO line. More...
 
int sff_wtracei__ (integer *lu, char *wid2line, integer *nsamp, real *fdata, integer *idata, logical *last, char *cs, real *c1, real *c2, real *c3, integer *nstack, integer *ierr, ftnlen wid2line_len, ftnlen cs_len)
 Write one trace of data with INFO line. More...
 

Detailed Description

This is the interface usually expected by Fortran programs linking to libsff.a (prototypes)


Author
Thomas Forbriger
Date
17/11/2010

This is the interface usually expected by Fortran programs linking to libsff.a (prototypes)

Copyright (c) 2010 by Thomas Forbriger (BFO Schiltach)


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

REVISIONS and CHANGES

  • 17/11/2010 V1.0 Thomas Forbriger
  • 26/11/2010 V1.1 added multi format control functions
  • 01/12/2010 V1.2 we must not use long int for logical and ftnlen either
  • 23.12.2010 V1.3 distinguish input and output format

Definition in file fapidsff.h.