Copyin Service de noyau

Objectif

Copie les données entre l'utilisateur et la mémoire du noyau.

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
int copyin ( uaddr,  kaddr,  count)
char *uaddr;
char *kaddr;
int count;

Paramètres

Article Descriptif
Uaddr Indique l'adresse des données utilisateur.
Kaddr Indique l'adresse des données du noyau.
count Indique le nombre d'octets à copier.

Descriptif

Le service de noyau Copyin copie le nombre d'octets spécifié de la mémoire utilisateur vers la mémoire du noyau. Ce service est fourni afin que les appels système et les demi-routines du pilote de périphérique puissent accéder en toute sécurité aux données utilisateur. Le service Copyin garantit que l'utilisateur dispose des droits appropriés pour accéder aux données. Il permet également de récupérer des erreurs d'E-S de pagination qui, sinon, provoeraient une panne du système.

Le service Copyin doit être appelé uniquement lors de l'exécution en mode noyau dans le processus utilisateur.

Environnement d'exécution

Le service de noyau Copyin peut être appelé à partir de Environnement de processus uniquement.

Valeurs renvoyées

Article Descriptif
0 % Indique une opération réussie.
EDÉFAUT Indique que l'utilisateur ne dispose pas des droits suffisants pour accéder aux données ou que l'adresse indiquée dans le paramètre Uaddr n'est pas valide.
EIO Indique qu'une erreur d'E-S permanente s'est produite lors du référencement des données.
ENOMEM Indique une mémoire insuffisante pour l'opération de pagination requise.
ENOSPC Indique que le système de fichiers ou l'espace de pagination est insuffisant.