Barrelfish
|
Terminal server library (libterm_server) API. More...
Functions | |
errval_t | term_server_change_in_ws (struct term_server *server, struct waitset *ws) |
Change waitset used for incoming characters. More... | |
errval_t | term_server_change_out_ws (struct term_server *server, struct waitset *ws) |
Change waitset used for outgoing characters. More... | |
errval_t | term_server_change_conf_ws (struct term_server *server, struct waitset *ws) |
Change waitset used for configuration messages. More... | |
errval_t | term_server_change_session_ws (struct term_server *server, struct waitset *ws) |
Change waitset used for the session interface. More... | |
errval_t | term_server_init (struct term_server *server, iref_t *session_iref, struct waitset *session_ws, struct waitset *in_ws, struct waitset *out_ws, struct waitset *conf_ws, term_characters_handler_fn chars_cb, term_server_configuration_handler_fn conf_cb, term_server_new_session_fn session_cb) |
Initialize terminal server and export session interface. More... | |
void | term_server_send (struct term_server *server, const char *data, size_t length) |
Enqueue characters for sending to the terminal client. More... | |
void | term_server_set_chars_handler (struct term_server *server, term_characters_handler_fn chars_cb) |
Set a handler called when new characters arrives. More... | |
void | term_server_set_conf_handler (struct term_server *server, term_server_configuration_handler_fn *conf_cb) |
Set a handler called when a new configuration message arrives. More... | |
void | term_server_set_err_handler (struct term_server *server, term_async_err_handler_fn err_cb) |
Set an error handler if an asynchronous error occurs. More... | |
void | term_server_set_new_session_handler (struct term_server *server, term_server_new_session_fn session_cb) |
Set an handler called when a new session is established. More... | |
Terminal server library (libterm_server) API.
errval_t term_server_change_conf_ws | ( | struct term_server * | server, |
struct waitset * | ws | ||
) |
Change waitset used for configuration messages.
server | Terminal server state. |
ws | New waitset. |
errval_t term_server_change_in_ws | ( | struct term_server * | server, |
struct waitset * | ws | ||
) |
Change waitset used for incoming characters.
server | Terminal server state. |
ws | New waitset. |
errval_t term_server_change_out_ws | ( | struct term_server * | server, |
struct waitset * | ws | ||
) |
Change waitset used for outgoing characters.
server | Terminal server state. |
ws | New waitset. |
errval_t term_server_change_session_ws | ( | struct term_server * | server, |
struct waitset * | ws | ||
) |
Change waitset used for the session interface.
server | Terminal server state. |
ws | New waitset. |
errval_t term_server_init | ( | struct term_server * | server, |
iref_t * | session_iref, | ||
struct waitset * | session_ws, | ||
struct waitset * | in_ws, | ||
struct waitset * | out_ws, | ||
struct waitset * | conf_ws, | ||
term_characters_handler_fn | chars_cb, | ||
term_server_configuration_handler_fn | conf_cb, | ||
term_server_new_session_fn | session_cb | ||
) |
Initialize terminal server and export session interface.
server | Terminal server state, filled-in by function. |
session_iref | Interface reference of the session interface, filled-in by function. |
session_ws | Waitset used for the session interface. |
in_ws | Waitset used for incoming characters. |
out_ws | Waitset used for outgoing characters. |
conf_ws | Waitset used for configuration messages. |
chars_cb | Callback when new characters arrive. |
conf_cb | Callback when configuration message arrive. |
session_cb | Callback when new session is established. |
void term_server_send | ( | struct term_server * | server, |
const char * | data, | ||
size_t | length | ||
) |
Enqueue characters for sending to the terminal client.
server | Terminal server state. |
data | Characters to send. |
length | Number of characters to send. |
Function always completes without blocking. The actual sending might not happen until the 'out_ws'-waitset is dispatched. The programmer can check whether the send completed using term_server_sending().
The function copies the supplied data to its internal buffers, so the programmer can modify the data after the call.
void term_server_set_chars_handler | ( | struct term_server * | server, |
term_characters_handler_fn | chars_cb | ||
) |
Set a handler called when new characters arrives.
server | Terminal server state. |
chars_cb | Characters handler. |
void term_server_set_conf_handler | ( | struct term_server * | server, |
term_server_configuration_handler_fn * | conf_cb | ||
) |
Set a handler called when a new configuration message arrives.
server | Terminal server state. |
conf_cb | Configuration message handler. |
void term_server_set_err_handler | ( | struct term_server * | server, |
term_async_err_handler_fn | err_cb | ||
) |
Set an error handler if an asynchronous error occurs.
server | Terminal server state. |
err_cb | Error handler. |
void term_server_set_new_session_handler | ( | struct term_server * | server, |
term_server_new_session_fn | session_cb | ||
) |
Set an handler called when a new session is established.
server | Terminal server state. |
session_cb | New session handler. |