Service de noyau vm_segmap

Objectif

Crée les segments associés à une plage d'octets dans un fichier et les associe à l'espace adresse du noyau.

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>
Int vm_segmap ( Id_base, Ppremière, Indicateurs, Eppe de base)
Vmid_t Id_base;
Vpn_t Ppremière;
Uint Indicateurs;
Caddr_t * Eppe de base;

Paramètres

Article Descriptif
Id_base Identifie le segment de base.
Ppremière Le premier numéro de page dans la plage. Le paramètre Ppremière est non négatif.
Flags Indicateurs facultatifs transmis par l'utilisateur..
Eppe de base Décalage de l'objet à joindre.

Descriptif

La routine de service de noyau Vm_segmap crée des segments associés à une plage d'octets dans un fichier. Par la suite, il utilise le service de noyau Vm_att pour mapper l'objet de mémoire virtuelle spécifié à une région dans l'espace adresse virtuel et renvoie l'adresse effective de cet objet dans le paramètre Eppe de base .

Environnement d'exécution

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

Valeurs renvoyées

Article Descriptif
Caddr_t Adresse effective de l'objet attaché.
EINVAL Indique l'une des erreurs suivantes:
  • Ppremière < 0.
  • Paramètre Sid non valide.
EFBIG Indique que la plage de valeurs est trop grande pour être créée.