Services de noyau de file d'attente de messages

Les services de noyau de file d'attente de messages fournissent les fonctions de file d'attente de messages à une extension de noyau.

Les fonctions de file d'attente de messages sont les mêmes que les sous-routines Msgctl, Msgget, Msgsndet Msgxrcv mises à la disposition d'un programme en mode utilisateur. Des paramètres ont été ajoutés pour déplacer les informations renvoyées vers un paramètre explicite afin de libérer les codes retour pour l'utilisation du code d'erreur. Au lieu des informations d'erreur disponibles dans la variable globale Errno (comme en mode utilisateur), les services de file d'attente de messages utilisent le code retour du service. Les valeurs d'erreur sont identiques, sauf qu'une erreur de défaut de mémoire (EDÉFAUT) ne peut pas se produire car les pointeurs de mémoire tampon de message dans l'espace adresse du noyau sont supposés être valides.

Les services de file d'attente de messages ne peuvent être appelés qu'à partir de l' environnement de processus car ils empêchent l'appelant de spécifier des mémoires tampon de noyau. Ces services peuvent être utilisés en tant que mécanisme de communication interprocessus pour d'autres processus de noyau ou processus utilisateur. Voir Kernel Extension and Device Driver Management Services pour plus d'informations sur les fonctions fournies par ces services.

Il existe quatre services de file d'attente de messages disponibles dans le noyau:

Article Descriptif
Kmsgctl Fournit des opérations de contrôle de file d'attente de messages.
Kmsgget Obtient un identificateur de file d'attente de messages.
Kmsgrcv Laffiche un message d'une file d'attente de messages.
Kmsgsnd Envoie un message à l'aide d'une file d'attente de messages définie précédemment.