as_att64 内核服务

用途

在当前用户地址空间中分配和映射指定区域。

语法

#include <sys/types.h> #include <sys/errno.h> #include <sys/vmuser.h> #include <sys/adspace.h> 无符号长整型 as_att64 (虚拟句柄, 偏移量) Vmhandle_t 虚拟句柄; 英特 偏移量;

参数

描述
vmhandle 描述在地址空间中可寻址的虚拟内存对象。
偏移量 指定虚拟内存对象中的偏移量。 将忽略此偏移量的较高 4 位。

描述

描述
as_att64 内核服务: 选择当前用户地址空间中未分配的区域。
  分配区域。
  将 vmhandle 参数选择的虚拟内存对象与句柄中指定的访问许可权进行映射。
  构造用户地址空间中由 offset 参数指定的偏移量的地址。

as_att64 内核服务假定采用固定大小虚拟内存对象的地址空间模型。

对于 32 位和 64 位用户地址空间,此服务都将正常运行。 它也将适用于内核进程 (克普罗克斯)。

注: 此服务仅在当前进程的地址空间上运行。 不允许它在另一个地址空间上运行。

执行环境

as_att64 内核服务只能从进程环境中进行调用。

返回值

在成功完成时,此服务会将基地址加上输入偏移量 (偏移量) 返回到已分配的区域。

描述
NULL 发生了错误,并且 ernno 指示原因:
EINVAL 指定的地址超出范围,或者
ENOMEM 由于资源不足,无法分配。