/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2010 AT&T Intellectual Property *
* and is licensed under the *
* Common Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
void _STUB_vmopen(){}
#else
#include "vmhdr.h"
/* Opening a new region of allocation.
** Note that because of possible exotic memory types,
** all region data must be stored within the space given
** by the discipline.
**
** Written by Kiem-Phong Vo, kpv@research.att.com, 01/16/94.
*/
typedef struct _vminit_
{
} Vminit_t;
#if __STD_C
#else
int mode; /* type of region */
#endif
{
reg int e;
/* note that Vmalloc_t space must be local to process since that's
where the meth&disc function addresses are going to be stored */
{ if(e < 0 || !addr)
goto open_error;
/* align this address */
/* see if it's a valid region */
goto done;
}
else
{ open_error:
}
}
}
/* make sure vd->incr is properly rounded */
/* get space for region data */
}
/* make sure that addr is aligned */
/* initialize region */
for(e = S_TINY-1; e >= 0; --e)
for(e = S_CACHE; e >= 0; --e)
}
will not be freed until the region is closed. */
/* make a data block out of the remainder */
*SELF(b) = b;
/* make a fake header for next block in case of noncontiguous segments */
done: /* add to the linked list of regions */
return vm;
}
#endif