Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

IOS_$PUT                          Domain/OS                           IOS_$PUT


NAME
     ios_$put - write to an object

SYNOPSIS (C)
     #include <apollo/base.h>
     #include <apollo/ios.h>

     void ios_$put(
          ios_$id_t &stream_id,
          ios_$put_get_opts_t &put_options,
          char *put_buffer,
          long &buffer_size,
          status_$t *status)

SYNOPSIS (Pascal)
     %include '/sys/ins/base.ins.pas';
     %include '/sys/ins/ios.ins.pas';

     procedure ios_$put(
          in stream_id: ios_$id_t;
          in put_options: ios_$put_get_opts_t;
          in put_buffer: univ string;
          in buffer_size: integer32;
          out status: status_$t);

SYNOPSIS (FORTRAN)
     %include '/sys/ins/base.ins.ftn'
     %include '/sys/ins/ios.ins.ftn'

           integer*2 nbytes
           parameter (nbytes = 128)

           integer*2 stream_id, put_options
           integer*4 buffer_size, status
           character put_buffer*(nbytes)

           call ios_$put(stream_id, put_options, put_buffer, buffer_size, status)

DESCRIPTION
     Ios_$put writes buffer_size bytes from put_buffer to the object open on
     stream_id.

     stream_id
          The ID of the stream on which the object is open.

     put_options
          This is a small set of options to use when writing to an object.
          Specify a combination of the following:

          ios_$cond_opt
               Write only if the stream can accept the data immediately.  If
               the stream is full and the call would be blocked, ios_$put
               returns with the ios_$put_conditional_failed error code in
               status.

          ios_$no_put_get_opts
               Write the next record.  If the stream cannot accept the next
               record, then wait until it can.  This is the default and is
               included for languages that lack Pascal set types.  It is
               equivalent to specifying [] in Pascal.

          ios_$partial_record_opt
               The contents of put_buffer is a partial record.  Unless this
               option is specified, ios_$put assumes that the data in
               put_buffer completes the current record and terminates the
               record before returning.  With ios_$partial_record_opt speci-
               fied, ios_$put writes the contents of put_buffer to the object
               but leaves the current record unterminated.  If the object open
               on stream_id is not record oriented ios_$put ignores this
               option.

          ios_$preview_opt
               Write the data but do not update the stream marker.

     put_buffer
          The data to write to the object.

     buffer_size
          The number of bytes in put_buffer.

     status
          The completion status.

SEE ALSO
     ec2_$wait_slow_io, ios_$get_ec.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026