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 \*-------------------------------------------------------------------------*/
io_init(p_io io,p_send send,p_recv recv,p_error error,void * ctx)13 void 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 \*-------------------------------------------------------------------------*/
io_strerror(int err)23 const 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