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 | 由于资源不足,无法分配。 |