diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2009-07-04 13:52:34 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2009-07-04 13:52:34 +0200 |
commit | 71100dadcd97e4b7023e4ae0220e7d76716d05d9 (patch) | |
tree | 41068620a8852906125eca1f39cc9aac8dcc012c /include/libssh/priv.h | |
parent | 5ba33438f3b2db5707a11b8d2c23e7f644f78d14 (diff) | |
download | libssh-71100dadcd97e4b7023e4ae0220e7d76716d05d9.tar.gz libssh-71100dadcd97e4b7023e4ae0220e7d76716d05d9.tar.xz libssh-71100dadcd97e4b7023e4ae0220e7d76716d05d9.zip |
Temporary move of ssh_poll_* back to priv.h
We'll see later what needs to be put back in public
functions
Diffstat (limited to 'include/libssh/priv.h')
-rw-r--r-- | include/libssh/priv.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/libssh/priv.h b/include/libssh/priv.h index 709656b..829ac67 100644 --- a/include/libssh/priv.h +++ b/include/libssh/priv.h @@ -507,6 +507,39 @@ STRING *agent_sign_data(struct ssh_session *session, /* poll.c */ int ssh_poll(pollfd_t *fds, nfds_t nfds, int timeout); +typedef struct ssh_poll_ctx SSH_POLL_CTX; +typedef struct ssh_poll SSH_POLL; + +/** + * @brief SSH poll callback. + * + * @param p Poll object this callback belongs to. + * @param fd The raw socket. + * @param revents The current poll events on the socket. + * @param userdata Userdata to be passed to the callback function. + * + * @return 0 on success, < 0 if you removed the poll object from + * it's poll context. + */ +typedef int (*ssh_poll_callback)(SSH_POLL *p, int fd, int revents, + void *userdata); + + +SSH_POLL *ssh_poll_new(socket_t fd, short events, ssh_poll_callback cb, + void *userdata); +void ssh_poll_free(SSH_POLL *p); +SSH_POLL_CTX *ssh_poll_get_ctx(SSH_POLL *p); +short ssh_poll_get_events(SSH_POLL *p); +void ssh_poll_set_events(SSH_POLL *p, short events); +void ssh_poll_add_events(SSH_POLL *p, short events); +void ssh_poll_remove_events(SSH_POLL *p, short events); +int ssh_poll_get_fd(SSH_POLL *p); +void ssh_poll_set_callback(SSH_POLL *p, ssh_poll_callback cb, void *userdata); +SSH_POLL_CTX *ssh_poll_ctx_new(size_t chunk_size); +void ssh_poll_ctx_free(SSH_POLL_CTX *ctx); +int ssh_poll_ctx_add(SSH_POLL_CTX *ctx, SSH_POLL *p); +void ssh_poll_ctx_remove(SSH_POLL_CTX *ctx, SSH_POLL *p); +int ssh_poll_ctx(SSH_POLL_CTX *ctx, int timeout); /* socket.c */ |