.TH WFDBF 3 "3 November 2017" "WFDB 10.6.0" "WFDB Applications Guide" .SH NAME wfdbf \- Waveform Database library wrappers for Fortran .SH SYNOPSIS implicit integer(a-z) .br real aduphys, getbasecount, getcfreq, getifreq, sampfreq, getafreq, getiafreq, getiaorigfreq .br character aux(256), desc(80), filetype(32), fname(40), name(20), pathname(80), record(16), string(32), units(20), prolog(1000), version(80), options(80) .br integer a, adcres, adczero, ampl, anntyp, baseline, bsize, caltype, chan, cksum, date, dummy, fmt, group, initval, microvolts, mode, nann, nsamp, nsig, num, s, spf, stat, subtyp, time, v(32), value, bytes .br real gain, frequency, high, low, scale .PP setanninfo(a, name, stat) .br getsiginfo(s, fname, desc, units, gain, initval, group, fmt, spf, bsize, adcres, adczero, baseline, nsamp, cksum) .br setsiginfo(s, fname, desc, units, gain, initval, group, fmt, spf, bsize, adcres, adczero, baseline, nsamp, cksum) .br annopen(record, nann) .br isigopen(record, nsig) .br osigopen(record, nsig) .br osigfopen(nsig) .br wfdbinit(record, nann, nsig) .br findsig(desc) .br setgvmode(mode) .br getgvmode(dummy) .br getspf(dummy) .br getvec(v) .br getframe(v) .br putvec(v) .br getann(a, time, anntyp, subtyp, chan, num, aux) .br ungetann(a, time, anntyp, subtyp, chan, num, aux) .br putann(a, time, anntyp, subtyp, chan, num, aux) .br isigsettime(time) .br isgsettime(group, time) .br tnextvec(s, time) .br iannsettime(time) .br ecgstr(code, string) .br strecg(string) .br setecgstr(code, string) .br annstr(code, string) .br strann(string) .br setannstr(code, string) .br anndesc(code, string) .br setanndesc(code, string) .br setafreq(frequency) .br getafreq(dummy) .br setiafreq(a, frequency) .br getiafreq(a) .br getiaorigfreq(a) .br iannclose(a) .br oannclose(a) .br timstr(time, string) .br mstimstr(time, string) .br strtim(string) .br datstr(date, string) .br strdat(string) .br adumuv(s, ampl) .br muvadu(s, microvolts) .br aduphys(s, ampl) .br physadu(s, value) .br sample(s, time) .br sample_valid(dummy) .br calopen(fname) .br getcal(desc, units, low, high, scale, caltype) .br putcal(desc, units, low, high, scale, caltype) .br newcal(fname) .br flushcal(dummy) .br getinfo(record, string) .br putinfo(string) .br setinfo(record) .br wfdb_freeinfo(dummy) .br newheader(record) .br setheader(record, nsig) .br wfdbgetskew(s) .br wfdbsetiskew(s, value) .br wfdbsetskew(s, value) .br wfdbgetstart(s) .br wfdbsetstart(s, value) .br wfdbputprolog(prolog, bytes, s) .br wfdbquit(dummy) .br sampfreq(record) .br setsampfreq(frequency) .br getcfreq(dummy) .br setcfreq(frequency) .br getifreq(dummy) .br setifreq(frequency) .br getbasecount(dummy) .br setbasecount(frequency) .br setbasetime(string) .br wfdbquiet(dummy) .br wfdbverbose(dummy) .br wfdberror(string) .br setwfdb(string) .br getwfdb(string) .br resetwfdb(dummy) .br setibsize(value) .br setobsize(value) .br wfdbfile(filetype, record, pathname) .br wfdbflush(dummy) .br wfdbmemerr(mode) .br wfdbversion(version) .br wfdbldflags(options) .br wfdbcflags(options) .br wfdbdefwfdb(string) .br wfdbdefwfdbcal(fname) .br isann(anntyp) .br isqrs(anntyp) .br setisqrs(anntyp, value) .br map1(anntyp) .br setmap1(anntyp, value) .br map2(anntyp) .br setmap2(anntyp, value) .br ammap(anntyp) .br mamap(anntyp, subtyp) .br annpos(anntyp) .br setannpos(anntyp, value) .br .SH DESCRIPTION Fortran programs can use the WFDB library to read and write waveform database files. Differences in argument-passing conventions between Fortran and C (the language of the WFDB library) require the use of a set of wrappers as an interface between the library and Fortran code that invokes its functions. These wrappers are contained within 'wfdbf.c', provided in the 'fortran' directory of the WFDB software package. When the WFDB Software Package is installed, a copy of 'wfdbf.c' is placed in the same directory as 'wfdb.h' (normally, /usr/include/wfdb). .PP Most of these wrapper subroutines behave like their similarly-named counterparts in the WFDB library. The functions setanninfo, setsiginfo, and getsiginfo do not have direct equivalents in the WFDB library; they are provided in order to permit Fortran programs to read and write data structures passed to and from several of the WFDB library functions. Since the contents of these structures are directly accessible by C programs, these functions are not needed in the C library. .PP Before using annopen, set up the annotation information structures using setanninfo. After using isigopen or osigopen, use getsiginfo to obtain the contents of the signal information structures if necessary. Before using osigfopen or setheader, use setsiginfo to set the contents of the signal information structures. Before using wfdbinit, use setanninfo and setsiginfo to set the contents of the annotation and signal information structures. .PP To use these wrappers, call them as shown above, then compile your code together with wfdbf.c and link to the WFDB library. If you are using the GNU g77 compiler (recommended), do so using a command such as: .br \fBg77 -o foo foo.f -DFIXSTRINGS /usr/include/wfdb/wfdbf.c -lwfdb\fR .br The wrappers include optionally compiled code that converts traditional space-terminated Fortran strings to null-terminated C strings and vice versa. This code is compiled if the symbol FIXSTRINGS is defined, as in the g77 command above. If you use a different Fortran compiler, this code may not be necessary. See 'fortran/README' for further information about using the WFDB Fortran wrappers. .SH SEE ALSO .TP \fIWFDB Programmer's Guide\fR On systems that support GNU emacs, the \fIGuide\fR may be available on-line using emacs \fIinfo\fR; from within \fBemacs\fR, type control-H followed by \fIi\fR to find out. An HTML version may be installed on your system (in \fI/usr/help/html/wpg\fP); the most recent version can be viewed on-line at \fBhttp://www.physionet.org/physiotools/wpg/\fP. .SH AUTHOR George B. Moody (george@mit.edu) .SH SOURCES http://www.physionet.org/physiotools/wfdb/fortran/wfdbf.c