xm_maxmap 内核服务
用途
确定后续 xm_mapin调用的最大允许计数值。
语法
#include <sys/adspace.h>
int xm_maxmap (dp, uaddr, len)
struct xmem *dp;
void *uaddr;
size_t *len;
参数
| 项 | 描述 |
|---|---|
| DP | 指向该交叉内存描述符。 |
| 瓦德尔 | 指向该虚拟缓冲区。 |
| LEN | 指向返回允许的最大计数的位置。 |
描述
xm_maxmap 内核服务确定后续 xm_mapin 调用的最大允许计数值 (以字节计)。 该值根据输入跨内存描述符 dp 和起始地址 uaddr确定,并在 len 参数中返回。 不保证 xm_mapin 将成功; 但是,保证 uaddr + *len -
1 与 uaddr位于同一段中,因此 xm_mapin 不会返回 EAGAIN。
执行环境
可以从进程或中断环境调用 xm_maxmap 接口。
返回值
| 项 | 描述 |
|---|---|
| XMEM_SUCC | 成功 (参考参数 len 包含后续 xm_mapin 调用的最大允许值) |
| XMEM_FAIL | 交叉内存描述符无效。 |
| EAGAIN | 迂到分段边界交叉。 调用者应该进行单独的 xm_mapin 调用以映射每个分段的价值。 |