{ This request is used by physical IO to lock one or more page frames
{ before doing IO to the page frames. Page frames being accessed by
{ the IOU must be locked to prevent memory manager from reassigning the
{ page frame while IO is active. If page frames are not assigned to
{ the entire range of addresses specified in the request, no frames
{ will be locked and an error code will be returned.
{ The 'active_io_page_count' for the job owning the page frames is incremented.
{ The 'inhibit_swap_count' is incremented if the IO is not a write to a
{ local file.  The counts are decremented when the page frames are unlocked.
{
{   NOTE:  ALL pages locked MUST belong to the same segment.
{          THE LIST THAT IS LOCKED MUST BE THE SAME LIST THAT IS UNLOCKED.
{          64K byte page size is not currently supported.
{
{     MMP$BUILD_LOCK_RMA_LIST (BUFFER_DESCRIPTOR, LENGTH, IO_TYPE, LIST_P,
{               LIST_LENGTH, STATUS);
{
{  BUFFER_DESCRIPTOR: (input) This parameter specifies the pages of memory
{         to be locked.  All pages must belong to the same segment.
{  LENGTH: (input) This parameter specifies the number of bytes to be
{         locked.
{  IO_TYPE: (input) This parameter specifies the type of IO that will
{         take place into the page frames.
{  LIST_P: (input) This parameter points to an array into which this
{         procedure returns a list of the real memory addresses (RMA) of
{         the pages locked. One entry is required in this list for
{         each page frame containing portions of the area being
{         locked.  The list that is locked by mmp$build_lock_rma_list
{         must be the same list that is unlocked by mmp$unlock_rma_list.
{         Several locked lists CANNOT be grouped together to be unlocked
{         by mmp$unlock_rma_list.
{  LIST_LENGTH: (input) This parameter specifies the number of entries
{         in the RMA list. If the length of the RMA list exceeds the
{         length required, the 'length' field in the unused RMA list
{         entries will be set to zero. If the rma list is not large enough, a
{         fatal monitor abort will occur.
{  STATUS: (output) This parameter specifies the request status.
{         The only error code returned is mme$page_frame_not_assigned.
{         All other errors will result in a call to mtp$error_stop.
{

