cdds_readm - read DDS binary stream and map buffer

SYNOPSIS

#include "cdds.h"

int cdds_readm(in_bin, in_tag, out_bin, out_tag, out_buf, count);

BIN_TAG in_bin
FIELD_TAG in_tag
BIN_TAG out_bin
FIELD_TAG out_tag
void *out_buf
int count

[ Input | Output | Examples ]


DESCRIPTION

This function reads data from a binary stream and maps it into a type buffer.

INPUT

In_bin is a binary tag, previously obtained from cdds_open. It specifies an input binary stream.

in_tag is a field tag, previously obtained eg. from cdds_member. It specifies a tag associated with in_bin. This provides a scale factor for count. If in_tag is zero (nominal), it defaults to the SEQUENCE (trace type) associated with in_bin.

Out_bin is a binary tag, previously obtained from cdds_open. It specifies an output binary stream.

out_tag is a field tag, previously obtained eg. from cdds_member. It specifies a tag associated with out_bin. This provides a scale factor for count. If out_tag is zero (nominal), it defaults to the SEQUENCE (trace type) associated with out_bin.

Data is read into out_buf. The minimum size is count times the size of out_tag.

OUTPUT

A byte sequence is copied from in_bin into a temporary buffer. Data is moved from the buffer to out_buf, while converting from in_tag to out_tag. cdds_readm is preferable to executing cdds_readand cdds_mapdirectly.

The return value is the number of types actually read and mapped. EOF is returned, if an error occurred before any transfer.

EXAMPLES

          
            BIN_TAG in_bin, out_bin;
            char *out_buf;
            ...
            /* read 10 traces into type buffer */
            cdds_readm(in_bin, 0, out_bin, 0, out_buf, 10);
          

SEE ALSO

      cdds_read Read binary data
      cdds_map  Convert fields
    

AUTHOR

R. L. Selzler, EPTG (July 1998)