summaryrefslogtreecommitdiff
path: root/source/luametatex/source/luacore/luasocket/src/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/luacore/luasocket/src/io.c')
-rw-r--r--source/luametatex/source/luacore/luasocket/src/io.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/source/luametatex/source/luacore/luasocket/src/io.c b/source/luametatex/source/luacore/luasocket/src/io.c
new file mode 100644
index 000000000..5ad4b3afc
--- /dev/null
+++ b/source/luametatex/source/luacore/luasocket/src/io.c
@@ -0,0 +1,28 @@
+/*=========================================================================*\
+* Input/Output abstraction
+* LuaSocket toolkit
+\*=========================================================================*/
+#include "luasocket.h"
+#include "io.h"
+
+/*-------------------------------------------------------------------------*\
+* Initializes C structure
+\*-------------------------------------------------------------------------*/
+void io_init(p_io io, p_send send, p_recv recv, p_error error, void *ctx) {
+ io->send = send;
+ io->recv = recv;
+ io->error = error;
+ io->ctx = ctx;
+}
+
+/*-------------------------------------------------------------------------*\
+* I/O error strings
+\*-------------------------------------------------------------------------*/
+const char *io_strerror(int err) {
+ switch (err) {
+ case IO_DONE: return NULL;
+ case IO_CLOSED: return "closed";
+ case IO_TIMEOUT: return "timeout";
+ default: return "unknown error";
+ }
+}