mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-30 13:01:23 +03:00
Add ssh_get_poll_flags()
For integration with an external mainloop, we need to know how to replicate libssh's internal poll() calls. We originally through ssh_get_status() was that API, but it's not really - those flags only get updated from the *result* of a poll(), where what we really need is to know how libssh would *start* a poll(). Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
committed by
Andreas Schneider
parent
a8dc67ded8
commit
4cc7f4ad03
@@ -607,6 +607,25 @@ int ssh_get_status(ssh_session session) {
|
||||
return r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get poll flags for an external mainloop
|
||||
*
|
||||
* @param session The ssh session to use.
|
||||
*
|
||||
* @returns A bitmask including SSH_READ_PENDING or SSH_WRITE_PENDING.
|
||||
* For SSH_READ_PENDING, your invocation of poll() should include
|
||||
* POLLIN. For SSH_WRITE_PENDING, your invocation of poll() should
|
||||
* include POLLOUT.
|
||||
*/
|
||||
int ssh_get_poll_flags(ssh_session session)
|
||||
{
|
||||
if (session == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ssh_socket_get_poll_flags (session->socket);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get the disconnect message from the server.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user