diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2015-07-05 16:55:06 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-05-02 16:40:43 +0200 |
commit | 5aaae4cb6b9b831fcc3359a64953902c97559931 (patch) | |
tree | ba585f3bfa49f4f37e1ca77475c939c58be65609 | |
parent | c092101e019316975108e4afbe66802520ef510a (diff) | |
download | libssh-5aaae4cb6b9b831fcc3359a64953902c97559931.tar.gz libssh-5aaae4cb6b9b831fcc3359a64953902c97559931.tar.xz libssh-5aaae4cb6b9b831fcc3359a64953902c97559931.zip |
events: Add functions for poll objects
Signed-off-by: Aris Adamantiadis <aris@0xbadc0de.be>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r-- | include/libssh/poll.h | 2 | ||||
-rw-r--r-- | src/poll.c | 27 |
2 files changed, 29 insertions, 0 deletions
diff --git a/include/libssh/poll.h b/include/libssh/poll.h index bbc03a95..3aa9a49b 100644 --- a/include/libssh/poll.h +++ b/include/libssh/poll.h @@ -155,5 +155,7 @@ int ssh_poll_ctx_add_socket (ssh_poll_ctx ctx, struct ssh_socket_struct *s); void ssh_poll_ctx_remove(ssh_poll_ctx ctx, ssh_poll_handle p); int ssh_poll_ctx_dopoll(ssh_poll_ctx ctx, int timeout); ssh_poll_ctx ssh_poll_get_default_ctx(ssh_session session); +int ssh_event_add_poll(ssh_event event, ssh_poll_handle p); +void ssh_event_remove_poll(ssh_event event, ssh_poll_handle p); #endif /* POLL_H_ */ @@ -775,6 +775,33 @@ int ssh_event_add_fd(ssh_event event, socket_t fd, short events, } /** + * @brief Add a poll handle to the event. + * + * @param event the ssh_event + * + * @param p the poll handle + * + * @returns SSH_OK on success + * SSH_ERROR on failure + */ +int ssh_event_add_poll(ssh_event event, ssh_poll_handle p) +{ + return ssh_poll_ctx_add(event->ctx, p); +} + +/** + * @brief remove a poll handle to the event. + * + * @param event the ssh_event + * + * @param p the poll handle + */ +void ssh_event_remove_poll(ssh_event event, ssh_poll_handle p) +{ + ssh_poll_ctx_remove(event->ctx,p); +} + +/** * @brief remove the poll handle from session and assign them to a event, * when used in blocking mode. * |