Service de noyau copyout

Objectif

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

Syntaxe

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

Paramètres

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

Descriptif

Le service Copyout copie le nombre d'octets spécifié de la mémoire du noyau à la mémoire utilisateur. Elle est fournie de façon à ce que les appels système et les routines de la moitié supérieure du pilote de périphérique puissent accéder en toute sécurité aux données utilisateur. Le service Copyout garantit que l'utilisateur dispose des droits appropriés pour accéder aux données. Ce service permet également de récupérer des erreurs d'E-S de pagination qui, sinon, provoeraient une panne du système.

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

Environnement d'exécution

Le service de noyau Copyout 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.