-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updates to app/modules and supporting directories to realign APIs
- Loading branch information
Showing
90 changed files
with
619 additions
and
666 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/* Read-only tables for Lua */ | ||
|
||
#ifndef lnodemcu_h | ||
#define lnodemcu_h | ||
|
||
#include "lua.h" | ||
#include "lobject.h" | ||
#include "llimits.h" | ||
#include "ltm.h" | ||
|
||
#ifdef LUA_USE_HOST | ||
#define LRO_STRKEY(k) k | ||
#define LOCK_IN_SECTION(s) | ||
#else | ||
#define LRO_STRKEY(k) ((STORE_ATTR char *) k) | ||
#define LOCK_IN_SECTION(s) __attribute__((used,unused,section(".lua_" #s))) | ||
#endif | ||
|
||
/* Macros one can use to define rotable entries */ | ||
#define LRO_FUNCVAL(v) {{.p = v}, LUA_TLIGHTFUNCTION} | ||
#define LRO_LUDATA(v) {{.p = cast(void*,v)}, LUA_TLIGHTUSERDATA} | ||
#define LRO_NILVAL {{.p = NULL}, LUA_TNIL} | ||
#define LRO_NUMVAL(v) {{.n = v}, LUA_TNUMBER} | ||
#define LRO_INTVAL(v) LRO_NUMVAL(v) | ||
#define LRO_FLOATVAL(v) LRO_NUMVAL(v) | ||
#define LRO_ROVAL(v) {{.gc = cast(GCObject *, &(v ## _ROTable))}, LUA_TROTABLE} | ||
|
||
#define LROT_MARKED 0 //<<<<<<<<<<*** TBD *** >>>>>>>>>>> | ||
|
||
#define LROT_FUNCENTRY(n,f) {LRO_STRKEY(#n), LRO_FUNCVAL(f)}, | ||
#define LROT_LUDENTRY(n,x) {LRO_STRKEY(#n), LRO_LUDATA(x)}, | ||
#define LROT_NUMENTRY(n,x) {LRO_STRKEY(#n), LRO_NUMVAL(x)}, | ||
#define LROT_INTENTRY(n,x) LROT_NUMENTRY(n,x) | ||
#define LROT_FLOATENTRY(n,x) LROT_NUMENTRY(n,x) | ||
#define LROT_TABENTRY(n,t) {LRO_STRKEY(#n), LRO_ROVAL(t)}, | ||
|
||
#define LROT_TABLE(rt) const ROTable rt ## _ROTable | ||
#define LROT_ENTRYREF(rt) (rt ##_entries) | ||
#define LROT_TABLEREF(rt) (&rt ##_ROTable) | ||
#define LROT_BEGIN(rt,mt,f) LROT_TABLE(rt); \ | ||
static const ROTable_entry rt ## _entries[] = { | ||
#define LROT_ENTRIES_IN_SECTION(rt,s) \ | ||
static const ROTable_entry LOCK_IN_SECTION(s) rt ## _entries[] = { | ||
#define LROT_END(rt,mt,f) {NULL, LRO_NILVAL} }; \ | ||
const ROTable rt ## _ROTable = { \ | ||
(GCObject *)1, LUA_TROTABLE, LROT_MARKED, \ | ||
cast(lu_byte, ~(f)), (sizeof(rt ## _entries)/sizeof(ROTable_entry)) - 1, \ | ||
cast(Table *, mt), cast(ROTable_entry *, rt ## _entries) }; | ||
#define LROT_BREAK(rt) }; | ||
|
||
#define LROT_MASK(m) cast(lu_byte, 1<<TM_ ## m) | ||
|
||
/* | ||
* These are statically coded can be any combination of the fast index tags | ||
* listed in ltm.h: EQ, GC, INDEX, LEN, MODE, NEWINDEX or combined by anding | ||
* GC+INDEX is the only common combination used, hence the combinaton macro | ||
*/ | ||
#define LROT_MASK_EQ LROT_MASK(EQ) | ||
#define LROT_MASK_GC LROT_MASK(GC) | ||
#define LROT_MASK_INDEX LROT_MASK(INDEX) | ||
#define LROT_MASK_LEN LROT_MASK(LEN) | ||
#define LROT_MASK_MODE LROT_MASK(MODE) | ||
#define LROT_MASK_NEWINDEX LROT_MASK(NEWINDEX) | ||
#define LROT_MASK_GC_INDEX (LROT_MASK_GC | LROT_MASK_INDEX) | ||
|
||
/* Maximum length of a rotable name and of a string key*/ | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.