fdds_lseek - seek position in DDS binary stream


SYNOPSIS

#include <fdds.h> (fixed-format sources)
#include <f90dds.h> (free-format sources)

integer function fdds_lseek(bin, tag, offset, whence)

integer bin
integer tag
integer offset
integer whence

DESCRIPTION

This function seeks a new position in a binary stream. Pipe media only supports forward seeks.

INPUT

Bin is a binary tag, previously obtained from fdds_open. It specifies a particular binary stream.

tag is a field tag which specifies a tag associated with bin. This provides an offset from an origin defined by whence. If tag is zero (nominal), it defaults to the target (trace type) associated with bin.

Offset is a position, measured relative to the whence origin. The offset should be an integral multiple of type relative to the absolute origin. Note that if bin was opened with the convenience routine fddx_in, offset will be in terms of traces. If bin was opened with the api routine fdds_in, offset will be in terms of bytes.

whence     seek origin
SEEK_SET   beginning of the file
SEEK_CUR   current file position
SEEK_END   end of the file
    

OUTPUT

The current binary stream position may be changed.

The return value is the new offset, or -1 if an error occurred.

EXAMPLES

	 integer :: bin, j
	 ...
	 ! Assuming bin was opened with fddx_in, skips next 10 target types (traces)
	 j = fdds_lseek(bin, 0, 10, SEEK_CUR)
       

AUTHOR

R. L. Selzler, EPTG (May, 1994)