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