(Alpha and I64 only.) The Free Virtual Memory from Program Region routine deallocates an entire block of contiguous bytes that was allocated by a previous call to LIB$GET_VM_64. The arguments passed are the same as for LIB$GET_VM_64. Format LIB$FREE_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 to be deallocated by LIB$FREE_VM_64. The number-of-bytes argument is the address of a signed quadword integer that contains this number. The value of number-of-bytes must be greater than zero. Byte counts are rounded in the same manner as in LIB$GET_VM_64. NOTE You may omit the number-of-bytes argument if you are using boundary tags (LIB$M_VM_BOUNDARY_TAGS). base-address OpenVMS usage:address type: quadword (unsigned) access: read only mechanism: by reference Address of the first byte to be deallocated by LIB$FREE_VM_64. The base-address argument contains the address of an unsigned quadword that is this address. The value of base-address must be the address of a block of memory that was allocated by a previous call to LIB$GET_VM_64. zone-id OpenVMS usage:identifier type: quadword (unsigned) access: read only mechanism: by reference 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. You must specify the same zone-id value as when you called LIB$GET_VM_64 to allocate the block. An error status will be returned if you specify an incorrect zone-id. The zone-id argument is optional. If zone-id is omitted or if the quadword contains the value 0, the 64-bit default zone is used.