mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[mpy/os] uname
This commit is contained in:
@@ -526,5 +526,12 @@ Q(SEEK_SET)
|
||||
Q(SEEK_CUR)
|
||||
Q(SEEK_END)
|
||||
|
||||
// os QSTRs
|
||||
Q(os)
|
||||
Q(uname)
|
||||
Q(sysname)
|
||||
Q(nodename)
|
||||
Q(release)
|
||||
Q(version)
|
||||
Q(machine)
|
||||
|
||||
|
||||
@@ -1,3 +1,43 @@
|
||||
extern "C" {
|
||||
#include "modos.h"
|
||||
#include <py/objstr.h>
|
||||
#include <py/objtuple.h>
|
||||
}
|
||||
|
||||
#ifndef OMEGA_VERSION
|
||||
#error This file expects OMEGA_VERSION to be defined
|
||||
#endif
|
||||
|
||||
#ifndef EPSILON_VERSION
|
||||
#error This file expects EPSILON_VERSION to be defined
|
||||
#endif
|
||||
|
||||
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_sysname_obj, "NumWorks");
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_nodename_obj, "");
|
||||
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_release_obj, "O" MP_STRINGIFY(OMEGA_VERSION) "E-" MP_STRINGIFY(EPSILON_VERSION));
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_version_obj, MICROPY_VERSION_STRING);
|
||||
|
||||
#if defined(DEVICE_N0110)
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_machine_obj, "NumWorks N0110");
|
||||
#elif defined(DEVICE_N0100)
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_machine_obj, "NumWorks N0100");
|
||||
#else
|
||||
STATIC const MP_DEFINE_STR_OBJ(modos_uname_info_machine_obj, "NumWorks Simulator");
|
||||
#endif
|
||||
|
||||
STATIC const mp_rom_map_elem_t modos_uname_info_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_sysname), &modos_uname_info_sysname_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_nodename), &modos_uname_info_nodename_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_release), &modos_uname_info_release_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_version), &modos_uname_info_version_obj },
|
||||
{ MP_ROM_QSTR(MP_QSTR_machine), &modos_uname_info_machine_obj },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(modos_uname_info_obj, modos_uname_info_table);
|
||||
|
||||
mp_obj_t modos_uname(void) {
|
||||
return (mp_obj_t)&modos_uname_info_obj;
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1,7 @@
|
||||
#include <py/obj.h>
|
||||
/*
|
||||
mp_obj_t modos_sleep(mp_obj_t seconds_o);
|
||||
mp_obj_t modos_monotonic();
|
||||
*/
|
||||
|
||||
mp_obj_t modos_uname();
|
||||
|
||||
@@ -1,7 +1,15 @@
|
||||
#include "modos.h"
|
||||
|
||||
/*
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(modos_sleep_obj, modos_sleep);
|
||||
MP_DEFINE_CONST_FUN_OBJ_0(modos_monotonic_obj, modos_monotonic);
|
||||
*/
|
||||
|
||||
MP_DEFINE_CONST_FUN_OBJ_0(modos_uname_obj, modos_uname);
|
||||
|
||||
STATIC const mp_rom_map_elem_t modos_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_os) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_uname), &modos_uname_obj},
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(modos_module_globals, modos_module_globals_table);
|
||||
|
||||
18
python/port/mod/os/uname_result.cpp
Normal file
18
python/port/mod/os/uname_result.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
extern "C" {
|
||||
#include <py/smallint.h>
|
||||
#include <py/objint.h>
|
||||
#include <py/objstr.h>
|
||||
#include <py/objtype.h>
|
||||
#include <py/runtime.h>
|
||||
#include <py/stream.h>
|
||||
#include <py/builtin.h>
|
||||
#include <py/obj.h>
|
||||
#include <py/misc.h>
|
||||
#include "uname_result.h"
|
||||
}
|
||||
|
||||
STATIC void uname_result_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind);
|
||||
STATIC mp_obj_t uname_result_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args);
|
||||
STATIC void uname_result_attr(mp_obj_t self_in, qstr attribute, mp_obj_t *destination);
|
||||
|
||||
|
||||
0
python/port/mod/os/uname_result.h
Normal file
0
python/port/mod/os/uname_result.h
Normal file
Reference in New Issue
Block a user