Objectif
Soumet une demande d'impression d'un message à la borne de contrôle d'un processus.
Paramètres
| Article |
Descriptif |
| Format |
Indique une chaîne de caractères contenant l'un ou l'autre des deux types d'objet:
- Des caractères simples, qui sont copiés dans le flux de sortie de message.
- Spécifications de conversion, chacune d'entre elles entraînant l'extraction de 0 ou de plusieurs éléments dans la liste de paramètres Valeur . Chaque spécification de conversion se compose d'un% (signe de pourcentage) suivi d'un caractère qui indique le type de conversion à appliquer:
- %
- Effectune pas de conversion. Imprime%.
- D, i
- Accepte un entier Valeur et le convertit en notation décimale signée.
- U
- Accepte un entier Valeur et le convertit en notation décimale non signée.
- o
- Accepte un entier Valeur et le convertit en une notation octale non signée.
- x
- Accepte un entier Valeur et le convertit en notation hexadécimale non signée.
- s
- Accepte un Valeur en tant que chaîne (pointeur de caractère) et les caractères de la chaîne sont imprimés jusqu'à ce qu'un \ 0 (caractère nul) soit détecté. Valeur doit être non nul et la longueur maximale de la chaîne est limitée aux caractères _MAX_MAX .
Les spécifications de conversion de précision ou de largeur de zone ne sont pas prises en charge.Les constantes suivantes sont définies dans le fichier /usr/include/sys/uprintf.h :
- _MAX_MAX
- UP_MAXARGS
- UP_MAX_CAT
- UP_MAXMSG
La chaîne Format peut contenir de 0 au nombre de spécifications de conversion spécifiées par la constante UP_MAXARGS . La longueur maximale de la chaîne Format est le nombre de caractères spécifié par la constante _MAX_MAX . Format doit être non nul.
La longueur maximale du message de noyau construit est limitée au nombre de caractères spécifié par la constante UP_MAXMSG . Les messages plus volumineux, alors le nombre de caractères spécifié par la constante UP_MAXMSG sont supprimés.
|
| Valeur |
Indique, sous la forme d'un tableau, la valeur à convertir. Le nombre, le type et l'ordre des éléments de la liste de paramètres Valeur doivent correspondre aux spécifications de conversion de la chaîne Format . |
Descriptif
Le service de noyau Uprintf soumet une demande de message de noyau. Une fois la demande soumise, le démon Uprintfd construit le message en fonction des paramètres Format et Valeur de la demande. Le démon Uprintfd écrit ensuite le message dans le terminal de contrôle du processus.
Environnement d'exécution
Le service de noyau Uprintf peut être appelé à partir de l'environnement Processus uniquement.
Valeurs renvoyées
| Article |
Descriptif |
| 0 % |
Indique une opération réussie. |
| ENOMEM |
Indique que la mémoire n'est pas disponible pour la mémoire tampon de la demande. |
| ENODEV |
Indique qu'un terminal de contrôle n'existe pas pour le processus. |
| ESRCH |
Indique que le démon Uprintfd n'est pas actif. Aucune demande ne peut être soumise. |
| EINVAL |
Indique qu'un pointeur de chaîne Valeur de chaîne est nul ou que le paramètre chaîne Valeur est supérieur au nombre de caractères spécifié par la constante _MAX_MAX . |
| EINVAL |
Indique l'une des informations suivantes:
- Le pointeur de chaîne Format a la valeur null.
- Le nombre de caractères de la chaîne Format est supérieur au nombre spécifié par la constante _MAX_MAX .
- Le nombre de spécifications de conversion contenues dans la chaîne Format est supérieur au nombre spécifié par la constante UP_MAXARGS .
|