(Alpha and I64 only.) The Allocate Virtual Memory routine allocates a specified number of contiguous bytes in the program region and returns the 64-bit virtual address of the first byte allocated. Format LIB$GET_VM_64 number-of-bytes, base-address [,zone-id]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value
2 – Arguments
number-of-bytes OpenVMS usage:quadword_signed type: quadword integer (signed) access: read only mechanism: by reference Number of contiguous bytes that LIB$GET_VM_64 allocates. The number-of-bytes argument is the address of a quadword integer containing the number of bytes. LIB$GET_VM_64 allocates enough memory to satisfy the request. Your program should not reference an address before the first byte address allocated (base-address) or beyond the last byte allocated (base-address + number-of-bytes minus 1) since that space may be assigned to another routine. The value of number-of-bytes must be greater than zero. base-address OpenVMS usage:address type: quadword (unsigned) access: write only mechanism: by reference First virtual address of the contiguous block of bytes allocated by LIB$GET_VM_64. The base-address argument is the address of an unsigned quadword containing this base address. zone-id OpenVMS usage:identifier type: quadword (unsigned) access: read only mechanism: by reference The zone-id argument is the address of a quadword that contains a zone identifier created by a previous call to LIB$CREATE_VM_ZONE_ 64 or LIB$CREATE_USER_VM_ZONE_64. This argument is optional. If zone-id is omitted or if the quadword contains the value 0, the 64-bit default zone is used.