Service de noyau xmdetach

Objectif

Détache d'une mémoire tampon utilisateur utilisée pour les opérations de mémoire croisée.

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/xmem.h>
int xmdetach ( dp)
struct xmem *dp;

Paramètre

Article Descriptif
dp Pointe vers un descripteur de mémoire croisée initialisé par le service de noyau Xmattach .

Descriptif

Le service de noyau Xmdetach informe le noyau qu'un tampon utilisateur ne peut plus être accédé. Cela signifie qu'un appelant précédent, généralement un pilote de périphérique inférieur à la moitié ou un processus de noyau, n'est plus autorisé à effectuer des opérations de mémoire croisée sur cette mémoire tampon. Les appels suivants vers le service de noyau Xmemin ou Xmemout à l'aide de ce descripteur de mémoire croisée entraînent un retour d'erreur. Le descripteur de mémoire croisée est défini sur Dp-> aspace_id = XMEM_INVAL afin que le descripteur puisse être à nouveau utilisé. "Services de noyau de mémoire croisée" dans Memory Kernel Services Dans Concepts de programmation de prise en charge des extensions et des périphériques du noyau décrit comment les services de noyau intermémoire utilisent des descripteurs de mémoire croisée.

Environnement d'exécution

Le service de noyau Xmdetach peut être appelé à partir de l'environnement Processus ou Interruption .

Valeurs renvoyées

Article Descriptif
SUCC. XMEM_MEC Indique que l'exécution a réussi.
ECHEC DE XMEM_FAIL Indique que le descripteur n'est pas valide ou que la mémoire tampon n'a pas été définie.