aboutsummaryrefslogtreecommitdiff
path: root/py/modio.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-04-03 14:57:53 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-04-03 22:08:57 +0300
commit98a627dc03bc02e1b827ead8cc71b02259731551 (patch)
treed6c57e86f9a95c2aeeb65eec6d9eb3e78461a0d9 /py/modio.c
parent8270e3853dc167d2d7946bb0de7a0f0bb2adde48 (diff)
py: Add "io" module.
So far just includes "open" function, which should be supplied by a port. TODO: Make the module #ifdef'ed.
Diffstat (limited to 'py/modio.c')
-rw-r--r--py/modio.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/py/modio.c b/py/modio.c
new file mode 100644
index 000000000..ced398358
--- /dev/null
+++ b/py/modio.c
@@ -0,0 +1,30 @@
+#include "misc.h"
+#include "mpconfig.h"
+#include "qstr.h"
+#include "obj.h"
+#include "builtin.h"
+
+#if MICROPY_ENABLE_MOD_IO
+
+STATIC const mp_map_elem_t mp_module_io_globals_table[] = {
+ { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_io) },
+ // Note: mp_builtin_open_obj should be defined by port, it's not
+ // part of the core.
+ { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj },
+};
+
+STATIC const mp_map_t mp_module_io_globals = {
+ .all_keys_are_qstrs = 1,
+ .table_is_fixed_array = 1,
+ .used = sizeof(mp_module_io_globals_table) / sizeof(mp_map_elem_t),
+ .alloc = sizeof(mp_module_io_globals_table) / sizeof(mp_map_elem_t),
+ .table = (mp_map_elem_t*)mp_module_io_globals_table,
+};
+
+const mp_obj_module_t mp_module_io = {
+ .base = { &mp_type_module },
+ .name = MP_QSTR_io,
+ .globals = (mp_map_t*)&mp_module_io_globals,
+};
+
+#endif