Allocates and maps a specified region in the current user address space.
#include <sys/types.h> #include <sys/errno.h> #include <sys/vmuser.h> #include <sys/adspace.h> unsigned long long as_att64 (vmhandle, offset) vmhandle_t vmhandle; int offset;
Item | Description |
---|---|
vmhandle | Describes the virtual memory object being made addressable in the address space. |
offset | Specifies the offset in the virtual memory object. The upper 4-bits of this offset are ignored. |
Item | Description |
---|---|
The as_att64 kernel service: | Selects an unallocated region within the current user address space. |
Allocates the region. | |
Maps the virtual memory object selected by the vmhandle parameter with the access permission specified in the handle. | |
Constructs the address of the offset specified by the offset parameter within the user-address space. |
The as_att64 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).
The as_att64 kernel service can be called from the process environment only.
On successful completion, this service returns the base address plus the input offset (offset) into the allocated region.
Item | Description |
---|---|
NULL | An error occurred and ernno indicates the cause: |
EINVAL | Address specified is out of range, or |
ENOMEM | Could not allocate due to insufficient resources. |