1/*=========================================================================*\
2* Input/Output abstraction
3* LuaSocket toolkit
4\*=========================================================================*/
5#include "io.h"
6
7/*=========================================================================*\
8* Exported functions
9\*=========================================================================*/
10/*-------------------------------------------------------------------------*\
11* Initializes C structure
12\*-------------------------------------------------------------------------*/
13void io_init(p_io io, p_send send, p_recv recv, p_error error, void *ctx) {
14 io->send = send;
15 io->recv = recv;
16 io->error = error;
17 io->ctx = ctx;
18}
19
20/*-------------------------------------------------------------------------*\
21* I/O error strings
22\*-------------------------------------------------------------------------*/
23const char *io_strerror(int err) {
24 switch (err) {
25 case IO_DONE: return NULL;
26 case IO_CLOSED: return "closed";
27 case IO_TIMEOUT: return "timeout";
28 default: return "unknown error";
29 }
30}
31