| 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 | \*-------------------------------------------------------------------------*/ |
| 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 | \*-------------------------------------------------------------------------*/ |
| 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 | |