Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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.



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