Path: blob/main/sys/contrib/openzfs/module/lua/ltm.h
48383 views
// SPDX-License-Identifier: MIT1/*2** $Id: ltm.h,v 2.11.1.1 2013/04/12 18:48:47 roberto Exp $3** Tag methods4** See Copyright Notice in lua.h5*/67#ifndef ltm_h8#define ltm_h91011#include "lobject.h"121314/*15* WARNING: if you change the order of this enumeration,16* grep "ORDER TM"17*/18typedef enum {19TM_INDEX,20TM_NEWINDEX,21TM_GC,22TM_MODE,23TM_LEN,24TM_EQ, /* last tag method with `fast' access */25TM_ADD,26TM_SUB,27TM_MUL,28TM_DIV,29TM_MOD,30TM_POW,31TM_UNM,32TM_LT,33TM_LE,34TM_CONCAT,35TM_CALL,36TM_N /* number of elements in the enum */37} TMS;38394041#define gfasttm(g,et,e) ((et) == NULL ? NULL : \42((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))4344#define fasttm(l,et,e) gfasttm(G(l), et, e)4546#define ttypename(x) luaT_typenames_[(x) + 1]47#define objtypename(x) ttypename(ttypenv(x))4849LUAI_DDEC const char *const luaT_typenames_[LUA_TOTALTAGS];505152LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename);53LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o,54TMS event);55LUAI_FUNC void luaT_init (lua_State *L);5657#endif585960