Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ms_$addmap — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ms_$addmapx

ms_$remap

MS_$ADDMAP                        Domain/OS                         MS_$ADDMAP


NAME
     ms_$addmap - map more of an object

SYNOPSIS (C)
     #include <apollo/base.h>
     #include <apollo/ms.h>

     void *ms_$addmap(
          void *&old_address,
          unsigned long int &start,
          unsigned long int &desired_length,
          unsigned long int *mapped_length,
          status_$t *status)

SYNOPSIS (Pascal)
     %include '/sys/ins/base.ins.pas';
     %include '/sys/ins/ms.ins.pas';

     function ms_$addmap(
          in old_address: univ_ptr;
          in start: linteger;
          in desired_length: linteger;
          out mapped_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, mapped_length, status

           integer*4 address, old_address
           integer*4 dummy1, dummy2
           pointer /address/ dummy1
           pointer /old_address/ dummy2

           address = ms_$addmap(old_address, start, desired_length,
          &                     mapped_length, status)

DESCRIPTION
     This call maps another portion of a previously mapped object.  Unlike
     ms_$remap, it does not change the existing pointer to the mapped object
     but returns a new pointer to a different portion of the object.  The new
     mapping is not necessarily contiguous with the old mapping.

     Attributes of the mapping (extend, access, concurrency) and the lock on
     the mapped object are not changed by ms_$addmap.  Access advice provided
     via ms_$advice for the old mapping is also propagated to the new mapping.

     old_address
          Pointer to the currently mapped portion of the object.  Use the
          pointer returned by the most recent call to ms_$mapl, ms_$crmapl, or
          ms_$remap.

     start
          The first byte of the object to be mapped.

     desired_length
          The number of bytes to map.

     mapped_length
          The number of bytes actually mapped.

     status
          The completion status.  If the pointer passed in old_address does
          not point to a mapped object, ms_$addmap will return with
          ms_$not_mapped in status.  If desired_length cannot be satisfied,
          ms_$addmap will return with ms_$bad_length in status.

SEE ALSO
     ms_$addmapx, ms_$remap

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