/sys$common/syshlp/helplib.hlb System Services, $CRETVA *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Adds a range of demand-zero allocation pages (on VAX systems) or pagelets (on Alpha systems) to a process's virtual address space for the execution of the current image. Format SYS$CRETVA inadr ,[retadr] ,[acmode] C Prototype int sys$cretva (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode); Arguments inadr OpenVMS usage:address_range type: longword (unsigned) access: read only mechanism: by reference Address of a 2-longword array containing the starting and ending virtual addresses of the pages to be created. If the starting and ending virtual addresses are the same, a single page is created. The addresses are adjusted up or down to fall on CPU-specific page boundaries. Only the virtual page number portion of the virtual address is used; the low order byte-within-page bits are ignored. retadr OpenVMS usage:address_range type: longword (unsigned) access: write only mechanism: by reference-array reference or descriptor Address of a 2-longword array to receive the starting and ending virtual addresses of the pages created. On Alpha systems, the retadr argument should be checked by programs for actual allocation. Because the Alpha architecture defines more than one page size, more space might be created than was specified in the retadr argument. acmode OpenVMS usage:access_mode type: longword (unsigned) access: read only mechanism: by value Access mode and protection for the new pages. The acmode argument is a longword containing the access mode. The $PSLDEF macro defines the following symbols for the four access modes: Symbol Access Mode PSL$C_KERNEL Kernel PSL$C_EXEC Executive PSL$C_SUPER Supervisor PSL$C_USER User The most privileged access mode used is the access mode of the caller. The protection of the pages is read/write for the resultant access mode and those more privileged.
|