Point d'entrée vnop_map

Objectif

Valide les demandes de mappage de fichiers.

Syntaxe

int vnop_map (vp, addr, length, offset, flags, crp)
struct vnode * vp;
caddr_t  addr;
uint  length;
uint  offset;
uint  flags;
struct ucred * crp;

Paramètres

Remarque: The Adresse, Décalage, and Longueur parameters are unused in the current implementation. Le système de fichiers doit stocker l'ID segment avec le fichier dans legn_segDu noeud g pour le fichier.
Article Descriptif
PV Pointe vers le noeud virtuel (V-noeud) du fichier.
ADDR Identifie l'emplacement dans l'espace adresse du processus où le mappage doit commencer.
Length Indique la taille maximale à mapper.
position Indique l'emplacement dans le fichier où le mappage doit commencer.
Flags Identifie le type de mappage à effectuer. Cette valeur est composée des valeurs de bit définies dans le fichier /usr/include/sys/shm.h . Les valeurs suivantes présentent un intérêt particulier pour les implémentations de système de fichiers:
SHM_RDONLY
L'objet de mémoire virtuelle est en lecture seule.
COPIE DE SHM_COPY
L'objet de mémoire virtuelle est une copie sur écriture. Si cette valeur est définie, les mises à jour du segment sont reportées jusqu'à ce qu'une opération Fsync soit effectuée sur le fichier. Si le fichier est fermé sans une opération Fsync , les modifications sont supprimées. L'application qui a appelé le point d'entrée Mappe_vnoputri est également responsable de l'appel du point d'entrée Vnop_fsync .
Remarque: Les segments mappés ne reflètent pas les modifications apportées à un segment de copie sur écriture.
Crp Pointe vers la structure Cred . Cette structure contient des données que les applications peuvent utiliser pour valider les droits d'accès.

Descriptif

Le point d'entrée Mappe_vnoputri est appelé par le système de fichiers logique pour valider les demandes de mappage résultant des sous-routines Mmap ou Shmat . Système de fichiers logiques crée l'objet de mémoire virtuelle (s'il n'existe pas déjà) et incrémente le nombre d'utilisations de l'objet.

Environnement d'exécution

Le point d'entrée Mappe_vnoputri peut être appelé à partir de Environnement de processus uniquement.

Valeurs renvoyées

Article Descriptif
0 % Indique le succès.

Des valeurs de retour différentes de zéro sont renvoyées par le fichier /usr/include/sys/errno.h pour indiquer un échec.