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. |