MBX_$OPEN Domain/OS MBX_$OPEN
NAME
mbx_$open - open a client channel in a mailbox
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/mbx.h>
void mbx_$open(
char *path_name,
short &path_length,
void *&buffer_pointer,
long &buffer_length,
void **mbx_handle,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/mbx.ins.pas';
procedure mbx_$open(
in path_name: univ mbx_$name_t;
in path_length: integer;
in buffer_pointer: univ_ptr;
in buffer_length: integer32;
out mbx_handle: univ_ptr;
out status: status_$t);
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/mbx.ins.ftn'
integer*4 mbx_handle, buffer_length, status
integer*2 path_length
character path_name*1023
integer*4 buffer_pointer
character buffer*32766
pointer /buffer_pointer/ buffer
call mbx_$open(path_name, path_length, buffer_pointer,
& buffer_length, mbx_handle, status)
DESCRIPTION
Mbx_$open registers the caller as a client of the mailbox on mbx_handle,
and sends a mbx_$channel_open_mt message to the mailbox's server to
request a channel. The server must respond by accepting or rejecting the
request. Mbx_$open returns with a status code indicating whether the
caller's channel request was accepted by the server.
path_name
The pathname of a mailbox.
path_length
The number of bytes in path_name.
buffer_pointer
A pointer to a buffer containing data to be sent with the open
request. Mbx_$open ignores this pointer if buffer_length is 0.
buffer_length
The number of bytes to send from the buffer at buffer_pointer.
Buffer_length must be less than mbx_$msg_max even if the buffers in
the target mailbox are larger. If buffer_length is 0, mbx_$open
ignores buffer_pointer.
mbx_handle
A handle for the target mailbox if the mbx_$open call was accepted
by the server.
status
The completion status. If status is not status_$ok, the open
request failed or was refused by the server.