The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/openzfs/include/sys/lua/lauxlib.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2 ** $Id: lauxlib.h,v 1.120.1.1 2013/04/12 18:48:47 roberto Exp $
    3 ** Auxiliary functions for building Lua libraries
    4 ** See Copyright Notice in lua.h
    5 */
    6 
    7 
    8 #ifndef lauxlib_h
    9 #define lauxlib_h
   10 
   11 
   12 #include <sys/lua/lua.h>
   13 
   14 
   15 
   16 /* extra error code for `luaL_load' */
   17 #define LUA_ERRFILE     (LUA_ERRERR+1)
   18 
   19 
   20 typedef struct luaL_Reg {
   21   const char *name;
   22   lua_CFunction func;
   23 } luaL_Reg;
   24 
   25 
   26 LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver);
   27 #define luaL_checkversion(L)    luaL_checkversion_(L, LUA_VERSION_NUM)
   28 
   29 LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
   30 LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
   31 LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len);
   32 LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
   33 LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg,
   34                                                           size_t *l);
   35 LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg,
   36                                           const char *def, size_t *l);
   37 LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg);
   38 LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def);
   39 
   40 LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg);
   41 LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg,
   42                                           lua_Integer def);
   43 LUALIB_API lua_Unsigned (luaL_checkunsigned) (lua_State *L, int numArg);
   44 LUALIB_API lua_Unsigned (luaL_optunsigned) (lua_State *L, int numArg,
   45                                             lua_Unsigned def);
   46 
   47 LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg);
   48 LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t);
   49 LUALIB_API void (luaL_checkany) (lua_State *L, int narg);
   50 
   51 LUALIB_API int   (luaL_newmetatable) (lua_State *L, const char *tname);
   52 LUALIB_API void  (luaL_setmetatable) (lua_State *L, const char *tname);
   53 LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname);
   54 LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname);
   55 
   56 LUALIB_API void (luaL_where) (lua_State *L, int lvl);
   57 LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...);
   58 
   59 LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def,
   60                                    const char *const lst[]);
   61 
   62 /* pre-defined references */
   63 #define LUA_NOREF       (-2)
   64 #define LUA_REFNIL      (-1)
   65 
   66 LUALIB_API int (luaL_ref) (lua_State *L, int t);
   67 LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref);
   68 
   69 LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz,
   70                                    const char *name, const char *mode);
   71 LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s);
   72 
   73 LUALIB_API int (luaL_len) (lua_State *L, int idx);
   74 
   75 LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p,
   76                                                   const char *r);
   77 
   78 LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup);
   79 
   80 LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname);
   81 
   82 LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1,
   83                                   const char *msg, int level);
   84 
   85 LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname,
   86                                  lua_CFunction openf, int glb);
   87 
   88 /*
   89 ** ===============================================================
   90 ** some useful macros
   91 ** ===============================================================
   92 */
   93 
   94 
   95 #define luaL_newlibtable(L,l)   \
   96   lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1)
   97 
   98 #define luaL_newlib(L,l)        (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0))
   99 
  100 #define luaL_argcheck(L, cond,numarg,extramsg)  \
  101                 ((void)((cond) || luaL_argerror(L, (numarg), (extramsg))))
  102 #define luaL_checkstring(L,n)   (luaL_checklstring(L, (n), NULL))
  103 #define luaL_optstring(L,n,d)   (luaL_optlstring(L, (n), (d), NULL))
  104 #define luaL_checkint(L,n)      ((int)luaL_checkinteger(L, (n)))
  105 #define luaL_optint(L,n,d)      ((int)luaL_optinteger(L, (n), (d)))
  106 #define luaL_checklong(L,n)     ((long)luaL_checkinteger(L, (n)))
  107 #define luaL_optlong(L,n,d)     ((long)luaL_optinteger(L, (n), (d)))
  108 
  109 #define luaL_typename(L,i)      lua_typename(L, lua_type(L,(i)))
  110 
  111 #define luaL_dofile(L, fn) \
  112         (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
  113 
  114 #define luaL_dostring(L, s) \
  115         (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
  116 
  117 #define luaL_getmetatable(L,n)  (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
  118 
  119 #define luaL_opt(L,f,n,d)       (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
  120 
  121 #define luaL_loadbuffer(L,s,sz,n)       luaL_loadbufferx(L,s,sz,n,NULL)
  122 
  123 
  124 /*
  125 ** {======================================================
  126 ** Generic Buffer manipulation
  127 ** =======================================================
  128 */
  129 
  130 typedef struct luaL_Buffer {
  131   char *b;  /* buffer address */
  132   size_t size;  /* buffer size */
  133   size_t n;  /* number of characters in buffer */
  134   lua_State *L;
  135   char initb[LUAL_BUFFERSIZE];  /* initial buffer */
  136 } luaL_Buffer;
  137 
  138 
  139 #define luaL_addchar(B,c) \
  140   ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \
  141    ((B)->b[(B)->n++] = (c)))
  142 
  143 #define luaL_addsize(B,s)       ((B)->n += (s))
  144 
  145 LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
  146 LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz);
  147 LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
  148 LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s);
  149 LUALIB_API void (luaL_addvalue) (luaL_Buffer *B);
  150 LUALIB_API void (luaL_pushresult) (luaL_Buffer *B);
  151 LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz);
  152 LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz);
  153 
  154 #define luaL_prepbuffer(B)      luaL_prepbuffsize(B, LUAL_BUFFERSIZE)
  155 
  156 /* }====================================================== */
  157 
  158 
  159 /* compatibility with old module system */
  160 #if defined(LUA_COMPAT_MODULE)
  161 
  162 LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname,
  163                                    int sizehint);
  164 LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname,
  165                                 const luaL_Reg *l, int nup);
  166 
  167 #define luaL_register(L,n,l)    (luaL_openlib(L,(n),(l),0))
  168 
  169 #endif
  170 
  171 
  172 #endif

Cache object: 4b5299dbf6385c61cfe68c45ce18491f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.