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;
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:
|
| EFBIG | Indique que la plage de valeurs est trop grande pour être créée. |