Servicio de kernel xm_maxmap

Finalidad

Determina el valor de recuento máximo permitido para una llamada posterior a xm_mapin.

Sintaxis

#include <sys/adspace.h>

int xm_maxmap (dp, uaddr, len)
	struct xmem *dp;
	void *uaddr;
	size_t *len;

Parámetros

Elemento Descripción
dp Apunta al descriptor de memoria cruzada.
udadr Apunta al almacenamiento intermedio virtual.
Len Indica dónde se devuelve el recuento máximo permitido.

Descripción

El servicio de kernel de xm_maxmap determina el valor de recuento máximo permitido (en bytes) para una llamada xm_mapin posterior. El valor se determina basándose en el descriptor de memoria cruzada de entrada dp y la dirección inicial uaddr, y se devuelve en el parámetro len . No hay ninguna garantía de que xm_mapin sea satisfactorio; sin embargo, se garantiza que uaddr + *len - 1 esté en el mismo segmento que uaddry, por lo tanto, xm_mapin no devolverá EAGAIN.

Entorno de ejecución

Se puede llamar a la interfaz de xm_maxmap desde el entorno de proceso o interrupción.

Valores de retorno

Elemento Descripción
XMEM_SUCC Correcto (el parámetro de referencia len contiene el valor máximo permitido para una llamada xm_mapin posterior)
XMEM_FAIL Descriptor de memoria cruzada no válido.
EAGAIN Cruce de límite de segmento encontrado. El llamante debe realizar llamadas xm_mapin separadas para correlacionar el valor de cada segmento.