Manpages - termkey_advisereadable.3

Table of Contents

NAME

termkey_advisereadable - read more bytes from the underlying terminal

SYNOPSIS

  #include <termkey.h>

  TermKeyResult termkey_advisereadable(TermKey *tk);

Link with -ltermkey.

DESCRIPTION

termkey_advisereadable*() informs the *termkey*(7) instance that new input may be available on the underlying file descriptor and so it should call *read*(2) to obtain it. If at least one more byte was read it will return *TERMKEY_RES_AGAIN to indicate it may be useful to call termkey_getkey*(3) again. If no more input was read then *TERMKEY_RES_NONE is returned. If there was no buffer space remaining, then TERMKEY_RES_ERROR is returned with errno set to ENOMEM. If no filehandle is associated with this instance, TERMKEY_RES_ERROR is returned with errno set to EBADF.

This function, along with *termkey_getkey*(3) make it possible to use the termkey instance in an asynchronous program. To provide bytes without using a readable file handle, use *termkey_push_bytes*(3).

For synchronous usage, *termkey_waitkey*(3) performs the input blocking task.

RETURN VALUE

*termkey_advisereadable*() returns one of the following constants:

TERMKEY_RES_AGAIN
At least one byte was read.
TERMKEY_RES_NONE
No nore bytes were read.
TERMKEY_RES_ERROR
An IO error occurred. errno will be preserved. If the error is EINTR then this will only be returned if TERMKEY_FLAG_EINTR flag is not set; if it is then the IO operation will be retried instead.

SEE ALSO

*termkey_getkey*(3), *termkey_waitkey*(3), *termkey_set_waittime*(3), *termkey*(7)

Author: dt

Created: 2022-02-20 Sun 21:23