MS_$REMAP Domain/OS MS_$REMAP
NAME
ms_$remap - map a different portion of a mapped object
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/ms.h>
void *ms_$remap(
void *&old_address,
unsigned long int &start,
unsigned long int &desired_length,
unsigned long int *remapped_length,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/ms.ins.pas';
function ms_$remap(
in old_address: univ_ptr;
in start: linteger;
in desired_length: linteger;
out remapped_length: linteger;
out status: status_$t): univ_ptr;
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/ms.ins.ftn'
integer*4 start, desired_length, remapped_length, status
integer*4 address, old_address, dummy, old_dummy
pointer /old_address/ old_dummy
pointer /address/ dummy
address = ms_$remap(old_address, start, desired_length,
& remapped_length, status)
DESCRIPTION
This call maps a different portion of the object mapped at old_address
and returns a pointer to the new portion. It also unmaps the portion
previously mapped at old_address. The extend, access, and concurrency
mapping attributes, along with any access advice provided via ms_$advice,
are extended to the newly mapped portion of the object.
old_address
A pointer to a currently mapped portion of the object.
start
The first byte of the object to be mapped into the new portion.
desired_length
The number of bytes from the object to map into the new portion.
remapped_length
The number of bytes actually mapped into the new portion.
status
The completion status. Ms_$remap returns ms_$not_mapped in status
if no object is mapped at old_address. Ms_$remap returns
ms_$bad_length in status if it cannot map desired_length bytes from
the requested object.
SEE ALSO
ms_$addmap, ms_$mapl, ms_$relock, ms_$unmap.