I/O handling APIs.
More...
Go to the source code of this file.
|
int | qio_wait_readable (int fd, int timeoutms) |
| Test & wait until the file descriptor has readable data.
|
|
int | qio_wait_writable (int fd, int timeoutms) |
| Test & wait until the file descriptor is ready for writing.
|
|
ssize_t | qio_read (int fd, void *buf, size_t nbytes, int timeoutms) |
| Read from a file descriptor.
|
|
ssize_t | qio_write (int fd, const void *buf, size_t nbytes, int timeoutms) |
| Write to a file descriptor.
|
|
off_t | qio_send (int outfd, int infd, off_t nbytes, int timeoutms) |
| Transfer data between file descriptors.
|
|
ssize_t | qio_gets (int fd, char *buf, size_t bufsize, int timeoutms) |
| Read a line from a file descriptor into the buffer pointed to until either a terminating newline or EOF.
|
|
ssize_t | qio_puts (int fd, const char *str, int timeoutms) |
| Writes the string and a trailing newline to file descriptor.
|
|
ssize_t | qio_printf (int fd, int timeoutms, const char *format,...) |
| Formatted output to a file descriptor.
|
|
I/O handling APIs.
Definition in file qio.c.
◆ MAX_IOSEND_SIZE
#define MAX_IOSEND_SIZE (32 * 1024) |
Definition at line 44 of file qio.c.
◆ qio_wait_readable()
int qio_wait_readable |
( |
int |
fd, |
|
|
int |
timeoutms |
|
) |
| |
Test & wait until the file descriptor has readable data.
- Parameters
-
fd | file descriptor |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- 1 if readable, 0 on timeout, -1 if an error occurred.
- Note
- The argument timeoutms can be used to set maximum wait time for a socket descriptor.
Definition at line 59 of file qio.c.
◆ qio_wait_writable()
int qio_wait_writable |
( |
int |
fd, |
|
|
int |
timeoutms |
|
) |
| |
Test & wait until the file descriptor is ready for writing.
- Parameters
-
fd | file descriptor |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- 1 if writable, 0 on timeout, -1 if an error occurred.
Definition at line 87 of file qio.c.
◆ qio_read()
ssize_t qio_read |
( |
int |
fd, |
|
|
void * |
buf, |
|
|
size_t |
nbytes, |
|
|
int |
timeoutms |
|
) |
| |
Read from a file descriptor.
- Parameters
-
fd | file descriptor |
buf | data buffer pointer to write to |
nbytes | the number of bytes to read from file descriptor & write into buffer |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- the number of bytes read if successful, 0 on timeout, -1 for error.
Definition at line 118 of file qio.c.
◆ qio_write()
ssize_t qio_write |
( |
int |
fd, |
|
|
const void * |
buf, |
|
|
size_t |
nbytes, |
|
|
int |
timeoutms |
|
) |
| |
Write to a file descriptor.
- Parameters
-
fd | file descriptor |
buf | data buffer pointer to read from |
nbytes | the number of bytes to write to file descriptor & read from buffer |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- the number of bytes written if successful, 0 on timeout, -1 for error.
Definition at line 159 of file qio.c.
◆ qio_send()
off_t qio_send |
( |
int |
outfd, |
|
|
int |
infd, |
|
|
off_t |
nbytes, |
|
|
int |
timeoutms |
|
) |
| |
Transfer data between file descriptors.
- Parameters
-
outfd | output file descriptor |
infd | input file descriptor |
nbytes | the number of bytes to copy between file descriptors. 0 means transfer until end of infd. |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- the number of bytes transferred if successful, 0 on timeout, -1 for error.
Definition at line 199 of file qio.c.
◆ qio_gets()
ssize_t qio_gets |
( |
int |
fd, |
|
|
char * |
buf, |
|
|
size_t |
bufsize, |
|
|
int |
timeoutms |
|
) |
| |
Read a line from a file descriptor into the buffer pointed to until either a terminating newline or EOF.
New-line characters(CR, LF ) will not be stored into buffer.
- Parameters
-
fd | file descriptor |
buf | data buffer pointer |
bufsize | buffer size |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- the number of bytes read if successful, 0 on timeout, -1 for error.
- Note
- Be sure the return value does not mean the length of actual stored data. It means how many bytes are readed from the file descriptor, so the new-line characters will be counted, but not be stored.
Definition at line 257 of file qio.c.
◆ qio_puts()
ssize_t qio_puts |
( |
int |
fd, |
|
|
const char * |
str, |
|
|
int |
timeoutms |
|
) |
| |
Writes the string and a trailing newline to file descriptor.
- Parameters
-
fd | file descriptor |
str | string pointer |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
- Returns
- the number of bytes written including trailing newline characters if successful, 0 for timeout and -1 for errors.
Definition at line 301 of file qio.c.
◆ qio_printf()
ssize_t qio_printf |
( |
int |
fd, |
|
|
int |
timeoutms, |
|
|
const char * |
format, |
|
|
|
... |
|
) |
| |
Formatted output to a file descriptor.
- Parameters
-
fd | file descriptor |
timeoutms | wait timeout milliseconds. 0 for no wait, -1 for infinite wait |
format | format string |
- Returns
- the number of bytes written including trailing newline characters if successful, 0 for timeout and -1 for errors.
Definition at line 325 of file qio.c.