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.