Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
UI_CREATE_METHOD(3) | Library Functions Manual | UI_CREATE_METHOD(3) |
NAME
UI_create_method, UI_destroy_method, UI_method_set_opener, UI_method_set_writer, UI_method_set_flusher, UI_method_set_reader, UI_method_set_closer, UI_method_set_prompt_constructor, UI_method_get_opener, UI_method_get_writer, UI_method_get_flusher, UI_method_get_reader, UI_method_get_closer, UI_method_get_prompt_constructor — user interface method creation and destructionSYNOPSIS
#include <openssl/ui.h> UI_METHOD *UI_create_method(const char *name); void
UI_destroy_method(UI_METHOD *ui_method); int
UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui)); int
UI_method_set_writer(UI_METHOD *method, int (*writer)(UI *ui, UI_STRING *uis)); int
UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui)); int
UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis)); int
UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui)); int
UI_method_set_prompt_constructor(UI_METHOD *method, char *(*prompt_constructor)(UI *ui, const char *object_desc, const char *object_name)); int
(*UI_method_get_opener(const UI_METHOD *method))(UI *;); int
(*UI_method_get_writer(const UI_METHOD *method))(UI *, UI_STRING *); int
(*UI_method_get_flusher(const UI_METHOD *method))(UI *); int
(*UI_method_get_reader(const UI_METHOD *method))(UI *, UI_STRING *); int
(*UI_method_get_closer(const UI_METHOD *method))(UI *); char *
(*UI_method_get_prompt_constructor(UI_METHOD *method))(UI *, const char *, const char *);
DESCRIPTION
A method contains a few functions that implement the low level of the User Interface. These functions are:- an opener
- This function takes a reference to a UI and starts a session, for example by opening a channel to a tty, or by creating a dialog box.
- a writer
- This function takes a reference to a UI and a UI String, and writes the string where appropriate, maybe to the tty, maybe added as a field label in a dialog box. Note that this gets fed all strings associated with a UI, one after the other, so care must be taken which ones it actually uses.
- a flusher
- This function takes a reference to a UI, and flushes everything that has been output so far. For example, if the method builds up a dialog box, this can be used to actually display it and accepting input ended with a pressed button.
- a reader
- This function takes a reference to a UI and a UI string and reads off the given prompt, maybe from the tty, maybe from a field in a dialog box. Note that this gets fed all strings associated with a UI, one after the other, so care must be taken which ones it actually uses.
- a closer
- This function takes a reference to a UI, and closes the session, maybe by closing the channel to the tty, maybe by destroying a dialog box.
- Open the session using the opener function if that one is defined. If an error occurs, jump to 5.
- For every UI String associated with the UI, call the writer function if that one is defined. If an error occurs, jump to 5.
- Flush everything using the flusher function if that one is defined. If an error occurs, jump to 5.
- For every UI String associated with the UI, call the reader function if that one is defined. If an error occurs, jump to 5.
- Close the session using the closer function if that one is defined.
RETURN VALUES
UI_create_method() returns a UI_METHOD pointer on success orNULL
on error.
UI_method_set_opener(),
UI_method_set_writer(),
UI_method_set_flusher(),
UI_method_set_reader(),
UI_method_set_closer(), and
UI_method_set_prompt_constructor() return 0 on
success or -1 if the given method is NULL
.
UI_method_get_opener(),
UI_method_get_writer(),
UI_method_get_flusher(),
UI_method_get_reader(),
UI_method_get_closer(), and
UI_method_get_prompt_constructor() return the
requested function pointer if it is set in the method, or otherwise
NULL
.
SEE ALSO
UI_get_string_type(3), UI_new(3)HISTORY
UI_create_method(), UI_destroy_method(), UI_method_set_opener(), UI_method_set_writer(), UI_method_set_flusher(), UI_method_set_reader(), UI_method_set_closer(), UI_method_get_opener(), UI_method_get_writer(), UI_method_get_flusher(), UI_method_get_reader(), and UI_method_get_closer() first appeared in OpenSSL 0.9.7 and have been available since OpenBSD 3.2. UI_method_set_prompt_constructor() and UI_method_get_prompt_constructor() first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.May 19, 2018 | Debian |