Loading...
Searching...
No Matches
lua_builtin.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Freie Universität Berlin
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/* Avoid compilation errors where there are no external modules defined */
35#define WEAK __attribute__((weak))
36
41#define LUAR_MAX_MODULE_NAME 64
42
48 const char *name;
49 const uint8_t *code;
50 size_t code_size;
51};
52
58 const char *name;
59 int (*luaopen)(lua_State *);
63};
64
68extern WEAK const size_t lua_riot_builtin_lua_table_len;
69
71extern WEAK const struct lua_riot_builtin_c *const lua_riot_builtin_c_table;
73extern WEAK const size_t lua_riot_builtin_c_table_len;
74
75#ifdef __cplusplus
76extern "C" }
77#endif
78
WEAK const struct lua_riot_builtin_lua *const lua_riot_builtin_lua_table
Table containing all built in pure lua modules.
WEAK const size_t lua_riot_builtin_c_table_len
Number of elements of lua_riot_builtin_c_table.
WEAK const struct lua_riot_builtin_c *const lua_riot_builtin_c_table
Table containing all built in c lua modules.
WEAK const size_t lua_riot_builtin_lua_table_len
Number of elements of lua_riot_builtin_lua_table.
#define WEAK
Attribute to make symbols weak.
Definition lua_builtin.h:35
Entry describing a c lua module built into the application binary.
Definition lua_builtin.h:57
const char * name
Definition lua_builtin.h:58
int(* luaopen)(lua_State *)
Definition lua_builtin.h:59
Entry describing a pure lua module whose source is built into the application binary.
Definition lua_builtin.h:47
const uint8_t * code
Definition lua_builtin.h:49
const char * name
Definition lua_builtin.h:48