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 - 1uaddr位于同一段中,因此 xm_mapin 不会返回 EAGAIN

执行环境

可以从进程或中断环境调用 xm_maxmap 接口。

返回值

描述
XMEM_SUCC 成功 (参考参数 len 包含后续 xm_mapin 调用的最大允许值)
XMEM_FAIL 交叉内存描述符无效。
EAGAIN 迂到分段边界交叉。 调用者应该进行单独的 xm_mapin 调用以映射每个分段的价值。