34 #if MICROPY_MODULE_FROZEN_STR 36 #ifndef MICROPY_MODULE_FROZEN_LEXER 37 #define MICROPY_MODULE_FROZEN_LEXER mp_lexer_new_from_str_len 42 extern const char mp_frozen_str_names[];
43 extern const uint32_t mp_frozen_str_sizes[];
44 extern const char mp_frozen_str_content[];
48 const char *name = mp_frozen_str_names;
51 for (
int i = 0; *name != 0; i++) {
53 if (l == *len && !
memcmp(str, name, l)) {
54 *len = mp_frozen_str_sizes[i];
55 return mp_frozen_str_content + offset;
58 offset += mp_frozen_str_sizes[i] + 1;
64 size_t name_len = len;
67 if (content ==
NULL) {
72 mp_lexer_t *lex = MICROPY_MODULE_FROZEN_LEXER(source, content, len, 0);
78 #if MICROPY_MODULE_FROZEN_MPY 82 extern const char mp_frozen_mpy_names[];
86 const char *name = mp_frozen_mpy_names;
87 for (
size_t i = 0; *name != 0; i++) {
89 if (l == len && !
memcmp(str, name, l)) {
90 return mp_frozen_mpy_content[i];
99 #if MICROPY_MODULE_FROZEN 104 for (
int i = 0; *name != 0; i++) {
106 if (l >= len && !
memcmp(str, name, len)) {
107 if (name[len] == 0) {
109 }
else if (name[len] ==
'/') {
121 #if MICROPY_MODULE_FROZEN_STR 122 stat = mp_frozen_stat_helper(mp_frozen_str_names, str);
128 #if MICROPY_MODULE_FROZEN_MPY 129 stat = mp_frozen_stat_helper(mp_frozen_mpy_names, str);
139 #if MICROPY_MODULE_FROZEN_STR 140 mp_lexer_t *lex = mp_lexer_frozen_str(str, len);
146 #if MICROPY_MODULE_FROZEN_MPY
qstr qstr_from_strn(const char *str, size_t len)
size_t strlen(const char *s)
const char * mp_find_frozen_str(const char *str, size_t *len)
LIBA_BEGIN_DECLS int memcmp(const void *s1, const void *s2, size_t n)
mp_import_stat_t mp_frozen_stat(const char *str)
int mp_find_frozen_module(const char *str, size_t len, void **data)