mirror of https://github.com/arendst/Tasmota.git
28 lines
950 B
C
28 lines
950 B
C
/********************************************************************
|
|
** Copyright (c) 2018-2020 Guan Wenliang
|
|
** This file is part of the Berry default interpreter.
|
|
** skiars@qq.com, https://github.com/Skiars/berry
|
|
** See Copyright Notice in the LICENSE file or at
|
|
** https://github.com/Skiars/berry/blob/master/LICENSE
|
|
********************************************************************/
|
|
#ifndef BE_FUNC_H
|
|
#define BE_FUNC_H
|
|
|
|
#include "be_object.h"
|
|
|
|
#define be_newntvclos(vm, cf) \
|
|
be_newntvclosure(vm, cf, 0)
|
|
|
|
#define be_ntvclos_upval(cc, n) \
|
|
(((bupval**)((size_t)cc + sizeof(bntvclos)))[n])
|
|
|
|
void be_initupvals(bvm *vm, bclosure *cl);
|
|
void be_upvals_close(bvm *vm, bvalue *level);
|
|
void be_release_upvalues(bvm *vm, bclosure *cl);
|
|
bproto* be_newproto(bvm *vm);
|
|
bclosure* be_newclosure(bvm *vm, int nupval);
|
|
bntvclos* be_newntvclosure(bvm *vm, bntvfunc cf, int nupvals);
|
|
bstring* be_func_varname(bproto *proto, int index, int pc);
|
|
|
|
#endif
|