.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "fr::crypto::ui 3SSL" .TH fr::crypto::ui 3SSL "2015-12-31" "1.0.2a 1.0.2c" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, UI_add_error_string, UI_dup_error_string, UI_construct_prompt, UI_add_user_data, UI_get0_user_data, UI_get0_result, UI_process, UI_ctrl, UI_set_default_method, UI_get_default_method, UI_get_method, UI_set_method, UI_OpenSSL, ERR_load_UI_strings \- Nouvelle interface utilisateur. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& typedef struct ui_st UI; \& typedef struct ui_method_st UI_METHOD; \& \& UI *UI_new(void); \& UI *UI_new_method(const UI_METHOD *method); \& void UI_free(UI *ui); \& \& int UI_add_input_string(UI *ui, const char *prompt, int flags, \& char *result_buf, int minsize, int maxsize); \& int UI_dup_input_string(UI *ui, const char *prompt, int flags, \& char *result_buf, int minsize, int maxsize); \& int UI_add_verify_string(UI *ui, const char *prompt, int flags, \& char *result_buf, int minsize, int maxsize, const char *test_buf); \& int UI_dup_verify_string(UI *ui, const char *prompt, int flags, \& char *result_buf, int minsize, int maxsize, const char *test_buf); \& int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, \& const char *ok_chars, const char *cancel_chars, \& int flags, char *result_buf); \& int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, \& const char *ok_chars, const char *cancel_chars, \& int flags, char *result_buf); \& int UI_add_info_string(UI *ui, const char *text); \& int UI_dup_info_string(UI *ui, const char *text); \& int UI_add_error_string(UI *ui, const char *text); \& int UI_dup_error_string(UI *ui, const char *text); \& \& /* Voici les drapeaux disponibles. Ils peuvent être ajoutés ensemble avec OR */ \& #define UI_INPUT_FLAG_ECHO 0x01 \& #define UI_INPUT_FLAG_DEFAULT_PWD 0x02 \& \& char *UI_construct_prompt(UI *ui_method, \& const char *object_desc, const char *object_name); \& \& void *UI_add_user_data(UI *ui, void *user_data); \& void *UI_get0_user_data(UI *ui); \& \& const char *UI_get0_result(UI *ui, int i); \& \& int UI_process(UI *ui); \& \& int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)()); \& #define UI_CTRL_PRINT_ERRORS 1 \& #define UI_CTRL_IS_REDOABLE 2 \& \& void UI_set_default_method(const UI_METHOD *meth); \& const UI_METHOD *UI_get_default_method(void); \& const UI_METHOD *UI_get_method(UI *ui); \& const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); \& \& UI_METHOD *UI_OpenSSL(void); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\s-1UI\s0 signifie Interface utilisateur, et est un ensemble général de routines qui demandent une saisie à l'utilisateur pour des informations qui sont basées sur du texte. À travers des méthodes écrites par l'utilisateur (voir \&\fIui_create\fR\|(3)), les demandes peuvent être faites de n'importe quelle façon imaginable, en texte brut, à travers des boites de dialogue ou sur un téléphone portable. .PP Toutes les fonctions fonctionnent dans un contexte du type d'\s-1UI.\s0 Ce contexte contient toutes les informations nécessaires pour faire une demande de saisie de façon correcte, ainsi qu'une référence vers un \s-1UI_METHOD\s0 qui est un vecteur de fonctions ordonné qui transporte les demandes de saisies. .PP La première chose à faire est de créer une \s-1UI\s0 avec \fIUI_new()\fR ou \&\fIUI_new_method()\fR, puis d'ajouter des informations avec les fonctions UI_add ou UI_dup. Les données définies comme aléatoires par l'utilisateur peuvent aussi être passées aux méthodes sous-jacentes à travers des appels à UI_add_user_data. L'\s-1UI\s0 par défaut ne prend pas en compte ces données, mais d'autres méthodes pourraient. Finalement, utilisez \fIUI_process()\fR pour faire la demande d'entrée et \fIUI_get0_result()\fR pour avoir le résultat de cette demande. .PP Une \s-1UI\s0 peut contenir plusieurs demandes de saisie qui sont effectuées dans chaque séquence. Chaque demande reçoit un numéro d'indexation, qui est renvoyé par les fonctions UI_add et UI_dup, et qui doit être utilisé par \&\fIUI_get0_result()\fR pour obtenir le résultat correspondant. .PP Les fonctions sont comme suit : .PP \&\fIUI_new()\fR crée une nouvelle méthode d'\s-1UI.\s0 Quand l'utilisation de cette \s-1UI\s0 est terminée, elle doit être libérée avec \fIUI_free()\fR. .PP \&\fIUI_new_method()\fR crée une nouvelle \s-1UI\s0 en utilisant la méthode \s-1UI\s0 donnée. Quand celle-ci a fini avec cette \s-1UI,\s0 elle doit être libérée en utilisant \fIUI_free()\fR. .PP \&\fIUI_OpenSSL()\fR renvoie la méthode construite dans l'\s-1UI \s0(note : pas celle par défaut puisque celle-ci peut être modifiée. Voir plus loin). Cette méthode est la plus dépendante de la machine et de l'\s-1OS\s0 d'OpenSSL et génère normalement le plus de problèmes de portabilité. .PP \&\fIUI_free()\fR supprime une \s-1UI\s0 de la mémoire, ainsi que tous morceaux de mémoire qui sont connectés à celle-ci, comme des copies de chaînes de caractères d'entrées, des résultats et autres. .PP \&\fIUI_add_input_string()\fR et \fIUI_add_verify_string()\fR ajoutent une demande à l'\s-1UI,\s0 ainsi que des drapeaux, un tampon de résultat et les tailles minimales et maximales désirées pour le résultat. Les informations fournies sont utilisées pour demander des informations, par exemple un mot de passe, et pour vérifier le mot de passe (c'est\-à\-dire l'utilisateur rentre deux fois le mot de passe et l'égalité est vérifiée). \fIUI_add_verify_string()\fR prend un argument en plus, qui devrait être un pointeur vers le tampon de retour de la chaîne de caractères de sortie qu'il est supposé vérifier, ou la vérification échouera. .PP \&\fIUI_add_input_boolean()\fR ajoute une demande d'entrée à l'\s-1UI\s0 qui doit avoir une réponse sous forme d'un booléen, avec un seul caractère pour oui et un caractère différent pour non. Un ensemble de caractères qui peuvent être utilisés pour annuler cette demande est aussi donné. La demande elle\-même est divisée en deux parties, la première étant la description textuelle (donnée par l'argument \fIprompt\fR) et la seconde décrivant les réponses possibles (données par l'argument \fIaction_desc\fR). .PP \&\fIUI_add_info_string()\fR et \fIUI_add_error_string()\fR ajoutent les chaînes de caractères qui sont affichées au même moment que la demande de saisie dans le cas de demande d'information supplémentaire ou pour afficher un message d'erreur. La différence entre les deux n'est que conceptuelle. Avec la méthode interne, il n'y a pas de différence technique entres elles. Mais il se peut que d'autres méthodes puissent produire une différence. .PP Les drapeaux gérés actuellement sont \s-1UI_INPUT_FLAG_ECHO,\s0 qui est applicable à \fIUI_add_input_string()\fR et qui fera s'afficher les réponses de l'utilisateur (quand un mot de passe est demandé, ce drapeau ne doit évidemment pas être utilisé), et \s-1UI_INPUT_FLAG_DEFAULT_PWD,\s0 qui indique qu'un mot de passe par défaut va être utilisé (cela dépend entièrement de l'application et de la méthode d'\s-1UI\s0). .PP \&\fIUI_dup_input_string()\fR, \fIUI_dup_verify_string()\fR, \fIUI_dup_input_boolean()\fR, \&\fIUI_dup_info_string()\fR et \fIUI_dup_error_string()\fR sont identiques à leurs contreparties UI_add, sauf qu'ils font leurs propres copies des chaînes. .PP \&\fIUI_construct_prompt()\fR est une fonction d'aide qui est utilisée pour créer une demande d'entrée de texte pour deux morceaux d'information : une description et un nom. Le constructeur par défaut (s'il n'y en a aucun de fourni par la méthode utilisée) crée une chaîne de caractères « Enter \&\fIdescription\fR for \fIname\fR : ». Avec la description « pass phrase » et le nom de fichier « foo.key », qui devient « Enter pass phrase for foo.key : ». D'autres méthodes peuvent créer n'importe quelle chaîne de caractères et peuvent inclure des encodages qui seront traités par d'autres fonctions de méthodes. .PP \&\fIUI_add_user_data()\fR ajoute un morceau de mémoire pour la méthode à utiliser à chaque instant. La méthode de l'\s-1UI\s0 intégrée ne prend pas cette information en compte. Notez que plusieurs appels à cette fonction n'ajoutent pas de données, elle remplace le blob précédent par celui donné comme argument. .PP \&\fIUI_get0_user_data()\fR récupère les données qui ont été données à l'\s-1UI\s0 avec \&\fIUI_add_user_data()\fR. .PP \&\fIUI_get0_result()\fR renvoie un pointeur vers le résultat du tampon associé à l'information indexée par \fIi\fR. .PP \&\fIUI_process()\fR parcourt l'information donnée jusque\-là, fait tout les affichages et requêtes et renvoie. .PP \&\fIUI_ctrl()\fR ajoute un contrôle supplémentaire pour l'auteur de l'application. Pour l'instant, elle comprend deux commandes : \&\s-1UI_CTRL_PRINT_ERRORS,\s0 qui demande à \fIUI_process()\fR d'afficher la pile d'erreurs d'OpenSSL comme partie du traitement de l'\s-1UI,\s0 et \&\s-1UI_CTRL_IS_REDOABLE\s0 qui renvoie un drapeau exprimant la réutilisabilité de l'\s-1UI.\s0 .PP \&\fIUI_set_default_method()\fR change la méthode par défaut de l'\s-1UI\s0 pour celle donnée. .PP \&\fIUI_get_default_method()\fR renvoie un pointeur vers la méthode par défaut actuelle de l'\s-1UI.\s0 .PP \&\fIUI_get_method()\fR renvoie la méthode d'\s-1UI\s0 associée à une \s-1UI\s0 donnée. .PP \&\fIUI_set_method()\fR change la méthode d'\s-1UI\s0 associée à une \s-1UI\s0 donnée. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fIui_create\fR\|(3), \fIui_compat\fR\|(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" La partie \s-1UI\s0 a été introduite dans la version 0.9.7 d'OpenSSL. .SH "AUTEUR" .IX Header "AUTEUR" Richard Levitte pour le projet OpenSSL . .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.