Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
CURLOPT_IOCTLFUNCTION(3) | curl_easy_setopt options | CURLOPT_IOCTLFUNCTION(3) |
NAME
CURLOPT_IOCTLFUNCTION - callback for I/O operationsSYNOPSIS
#include <curl/curl.h> typedef enum { CURLIOE_OK, /* I/O operation successful */ CURLIOE_UNKNOWNCMD, /* command was unknown to callback */ CURLIOE_FAILRESTART, /* failed to restart the read */ CURLIOE_LAST /* never use */ } curlioerr; typedef enum { CURLIOCMD_NOP, /* no operation */ CURLIOCMD_RESTARTREAD, /* restart the read stream from start */ CURLIOCMD_LAST /* never use */ } curliocmd; curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLFUNCTION, ioctl_callback);
DESCRIPTION
Pass a pointer to your callback function, which should match the prototype shown above.DEFAULT
By default, this parameter is set to NULL. Not used.PROTOCOLS
Used with HTTPEXAMPLE
static curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp) { struct data *io = (struct data *)clientp; if(cmd == CURLIOCMD_RESTARTREAD) { lseek(fd, 0, SEEK_SET); current_offset = 0; return CURLIOE_OK; } return CURLIOE_UNKNOWNCMD; } { struct data ioctl_data; curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, ioctl_callback); curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &ioctl_data); }
AVAILABILITY
Added in 7.12.3RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.SEE ALSO
CURLOPT_IOCTLDATA(3), CURLOPT_SEEKFUNCTION(3),April 17, 2018 | libcurl 7.69.0 |