Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ios_inq_mgr_flags(A) — Apollo Domain/OS SR10.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

IOS_$INQ_MGR_FLAGS                Domain/OS                 IOS_$INQ_MGR_FLAGS


NAME
     ios_$inq_mgr_flags - return manager attributes

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

     ios_$mgr_flag_set ios_$inq_mgr_flags(
          ios_$id_t &stream_id,
          status_$t *status)

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

     function ios_$inq_mgr_flags(
          in stream_id: ios_$id_t;
          out status: status_$t): ios_$mgr_flag_set;

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

           integer*2 stream_id
           integer*4 mgr_flags, status

           mgr_flags = ios_$inq_mgr_flags(stream_id, status)

DESCRIPTION
     Ios_$inq_mgr_flags returns the set of attributes for the type manager of
     the object open on stream_id.  The attributes define which operations the
     type manager supports.  A manager usually will not support operations
     that are irrelevant for the object type.  For example, the set returned
     by a call to ios_$inq_mgr_flags specifying a stream open on an serial I/O
     (SIO) line would not contain the ios_$mf_seek attribute, since serial
     lines do not support seeking.

     The value returned by ios_$inq_mgr_flags is a Pascal set with the follow-
     ing elements:

          ios_$mf_create
               The manager supports the creation of objects.

          ios_$mf_create_bak
               The manager supports the creation of backup objects.

          ios_$mf_force_write
               The manager supports file system synchronization via the
               ios_$force_write_file call.

          ios_$mf_fork
               The manager supports the exporting of streams to forked
               processes created via the fork call of SysV and BSD.

          ios_$mf_imex
               The manager supports the exporting of streams to new processes
               created via pgm_$invoke or BSD vfork.

          ios_$mf_no_read
               The manager supports write-only objects.

          ios_$mf_read_intend_write
               The manager supports "read with intent to write" access to
               objects.

          ios_$mf_rec_type
               The manager supports a record structure.  In other words, there
               is a recognizable record structure to the objects of the
               manager's type.

          ios_$mf_seek_abs
               The manager supports absolute seeking.

          ios_$mf_seek_bof
               The manager supports seeking to the beginning of an object
               (BOF).  In other words, a BOF marker is defined for objects of
               the manager's type.

          ios_$mf_seek_byte
               The manager supports seeking to individual bytes.

          ios_$mf_seek_rec
               The manager supports seeking to records.

          ios_$mf_seek_short
               The manager supports seeking with short keys.

          ios_$mf_sparse
               The manager supports sparse objects.  The manager allows seek-
               ing and writing beyond the end of objects.

          ios_$mf_truncate
               The manager allows the truncation of objects.

          ios_$mf_unregulated
               The manager allows multiple processes to write to an object.

          ios_$mf_write
               The manager supports writing to objects.

     Domain/OS provides the following logical masks for analyzing the value
     returned by ios_$inq_mgr_flags in FORTRAN and C.  The returned value is a
     bitwise AND of a combination of the following masks:

          ios_$mf_create_mask
               The manager supports the creation of objects.

          ios_$mf_create_bak_mask
               The manager supports the creation of backup objects.

          ios_$mf_force_write_mask
               The manager supports file system synchronization via the
               ios_$force_write_file call.

          ios_$mf_fork_mask
               The manager supports the exporting of streams to forked
               processes created via the fork call of SysV and BSD.

          ios_$mf_imex_mask
               The manager supports the exporting of streams to new processes
               created via pgm_$invoke or BSD vfork.

          ios_$mf_no_read_mask
               The manager supports write-only objects.

          ios_$mf_read_intend_write_mask
               The manager supports "read with intent to write" access to
               objects.

          ios_$mf_rec_type_mask
               The manager supports a record structure.  In other words, there
               is a recognizable record structure to the objects of the
               manager's type.

          ios_$mf_seek_abs_mask
               The manager supports absolute seeking.

          ios_$mf_seek_bof_mask
               The manager supports seeking to the beginning of an object
               (BOF).  In other words, a BOF marker is defined for objects of
               the manager's type.

          ios_$mf_seek_byte_mask
               The manager supports seeking to individual bytes.

          ios_$mf_seek_rec_mask
               The manager supports seeking to records.

          ios_$mf_seek_short_mask
               The manager supports seeking with short keys.

          ios_$mf_sparse_mask
               The manager supports sparse objects.  The manager allows seek-
               ing and writing beyond the end of objects.

          ios_$mf_truncate_mask
               The manager allows the truncation of objects.

          ios_$mf_unregulated_mask
               The manager allows multiple processes to write to an object.

          ios_$mf_write_mask
               The manager supports writing to objects.

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

     status
          The completion status.

NOTES
     Even if an object's manager supports an operation, the object's attri-
     butes or the attributes of a connection to it may still prevent the
     operation.  For example, a type manager's attribute set might include
     ios_$mf_write, but a stream open on an object of that type might not
     include the ios_$cf_write attribute, which permits writing on the connec-
     tion.  However, a process could possibly write on another stream to the
     same object if the other connection had the ios_$cf_write attribute.

     To change object or connection attributes, use the ios_$set_obj_flags and
     ios_$set_conn_flags calls, respectively.  Which attributes can be changed
     depends on the object type.  There are no system calls for changing
     manager attributes because they are determined when the type manager is
     written.

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