
{   The purpose of this request is to conditionally free pages assigned
{ to a segment.  All pages which are fully contained within the portion
{ of the segment defined by <pva> to <pva>+<length-1> will have the modified
{ bit cleared to prevent writing the pages to disk.  The pages will remain
{ in the job's working set though, in case they are needed again right
{ away.  The pages will be moved from the job working set to the free
{ queue via aging when they are no longer being used.  The user must have
{ write access to the segment.
{
{   NOTE:  This request is intended to be used to prevent modified pages
{ from being written to disk, but to leave the pages in the job working
{ set so they can be used again.  If the caller knows the pages are no
{ longer needed, the interface MMP$FREE_PAGES should be used.
{
{      MMP$CONDITIONAL_FREE (PVA, LENGTH, STATUS)
{
{ PVA: (input) This parameter specifies the beginning address of the
{      portion of the segment the caller wants freed.
{
{ LENGTH: (input) This parameter specifies the number of bytes the caller
{      wants freed.  If the length is enough to cause a request to
{      span a segment boundary, then the condition
{      mme$invalid_pva_formed will be returned.
{
{ STATUS: (output) This parameter specifies the request status.
{      Possible error codes are:
{        mme$length_must_be_positive
{        mme$invalid_pva_formed
{
{
{  PROCEDURE [XREF] mmp$conditional_free (pva: ^cell;
{        length: ost$segment_length;
{    VAR status: ost$status);
{

