aboutsummaryrefslogtreecommitdiffstats
path: root/libterminput_is_ready.3
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libterminput_is_ready.338
1 files changed, 34 insertions, 4 deletions
diff --git a/libterminput_is_ready.3 b/libterminput_is_ready.3
index 0739e11..de1e919 100644
--- a/libterminput_is_ready.3
+++ b/libterminput_is_ready.3
@@ -6,7 +6,7 @@ libterminput_is_ready \- Check if there is read data buffered
.nf
#include <libterminput.h>
-inline int libterminput_is_ready(union libterminput_input *input, struct libterminput_state *ctx);
+inline int libterminput_is_ready(const union libterminput_input *\fIinput\fP, const struct libterminput_state *\fIctx\fP);
.fi
.PP
Link with
@@ -15,15 +15,44 @@ Link with
.SH DESCRIPTION
The
.BR libterminput_is_ready ()
-function check if a call to the
+function checks if a call to the
.BR libterminput_read (3)
function will skip reading from the file
descriptor passed to it because it already
has read data buffered. However, if there
is buffered data but the library knows it
-it not enough to return something they,
+is not enough to return anything yet,
it will also return that there is nothing
buffered.
+.PP
+The
+.BR libterminput_is_ready ()
+function should only be used if using blocking
+read operations (terminal file descriptor configured with
+.I O_NONBLOCK
+cleared). The flags
+.I LIBTERMINPUT_ESC_ON_BLOCK
+and
+.I LIBTERMINPUT_MACRO_ON_BLOCK
+are only meaningful for non-blocking reads. With non-blocking
+reads, the application should call
+.BR libterminput_read (3)
+and check for
+.I EAGAIN
+error rather than using the
+.BR libterminput_is_ready ()
+function, as
+.I EAGAIN
+errors on read can cause the
+.BR libterminput_read (3)
+function to output keypresses it would otherwise not output,
+but in doing so not report
+.I EAGAIN
+(although
+.I errno
+will still be set to
+.IR EAGAIN ,
+so the application can still check if this occurred).
.SH RETURN VALUE
The
@@ -57,4 +86,5 @@ None.
None.
.SH SEE ALSO
-.BR libterminput_read (3)
+.BR libterminput_read (3),
+.BR fcntl (3)