IOS_$GET_HANDLE Domain/OS IOS_$GET_HANDLE
NAME
ios_$get_handle - convert a stream ID to a handle
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/type_uids.h>
#include <apollo/ios.h>
void *ios_$get_handle(
ios_$id_t &stream_id,
uid_$t &type_uid,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/type_uids.ins.pas';
%include '/sys/ins/ios.ins.pas';
function ios_$get_handle(
in stream_id: ios_$id_t;
in type_uid: uid_$t;
out status: status_$t): univ_ptr;
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/type_uids.ins.ftn'
%include '/sys/ins/ios.ins.ftn'
integer*2 stream_id
integer*4 handle, type_uid(2), status
handle = ios_$get_handle(stream_id, type_uid, status)
DESCRIPTION
Ios_$get_handle returns a handle for the object open on stream_id. A
handle is a data structure that contains information the type manager
uses to maintain a stream connection. By associating stream IDs with
handles, ios_$get_handle allows the caller to bypass the I/O Switch,
which identifies a stream with a stream ID, and directly access an
object's type manager, which identifies a stream with a handle.
stream_id
The ID of an open stream.
type_uid
Identifies the type manager that maintains the handle sought, or, in
other words, the type unique identifier (type UID) of the object the
stream is open on.
status
The completion status.
NOTES
If stream_id is not associated with an object of the type specified by
type_uid, then ios_$get_handle will return with an error code in status.