| 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 |  | 
|---|