as_puth64 Kernel Service

Purpose

Indicates that no more references will be made to a virtual memory object obtained using the as_geth64 kernel service.

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>
#include <sys/adspace.h>

int as_puth64 ( addr64, vmhandle )
unsigned long long addr64;
vmhandle_t vmhandle;

Parameters

addr64 Specifies the virtual memory address that the virtual memory object handle was obtained from. This must be the same address that was given to the as_geth64 kernel service previously.
vmhandle Describes the virtual memory object that will no longer be referenced. This handle must have been returned by the as_geth64 kernel service.

Description

The as_puth64 kernel service is used to indicate that no more references will be made to the virtual memory object returned by a call to the as_geth64 kernel service. The virtual memory object must be detached from the address space already, using either as_det64 or vm_det service.

Failure to call the as_puth64 kernel service may result in resources being permanently unavailable for re-use.

If, for some reason, it is known that the virtual memory object cannot be deleted, the as_getsrval64 kernel service may be used instead of the as_geth64 kernel service. This kernel service does not require that the as_puth64 kernel service be used.

The as_puth64 kernel service assumes an address space model of fixed-size virtual memory objects.

This service will operate correctly for both 32-bit and 64-bit user address spaces. It will also work for kernel processes (kprocs).

Note: This service only operates on the current process's address space. It is not allowed to operate on another address space.

Execution Environment

The as_puth64 kernel service can be called from the process environment only.

Return Values

0 Successful completion.
EINVAL Input address out of range.

Implementation Specifics

The as_puth64 kernel service is part of Base Operating System (BOS) Runtime.

Related Information

The as_att64 kernel service, as_seth64 kernel service, as_det64 kernel service, as_getsrval64 kernel service, as_geth64 kernel service.