2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or (at
5 * your option) any later version.
7 * This program is distributed in the hope that it will be useful, but
8 * WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * Copyright © 2007 Pierre Habouzit
20 #ifndef MUTT_LIB_LUA_LIB_LUA_H
21 #define MUTT_LIB_LUA_LIB_LUA_H
31 #include <lib-mime/mime-types.h>
32 #include "lua-token.h"
34 /* possible arguments to set_quadoption() */
35 typedef enum quadopt_t {
42 void luaM_initialize(void);
43 void luaM_shutdown(void);
45 lua_State *luaM_getruntime(void);
47 int luaM_dofile(const char *filename);
48 int luaM_wrap(void (*errfun)(const char *fmt, ...)
49 __attribute__((format(printf, 1, 2))),
52 quadopt_t luaM_checkquadopt(lua_State *L, int narg);
53 void luaM_pushquadopt(lua_State *Ls, int val);
55 const char *luaM_checkrx(lua_State *Ls, int narg);
56 rx_t *luaM_rxnew(const char* val);
57 char *luaM_pathnew(const char *val);
58 void luaM_pushaddr(lua_State *Ls, address_t *addr);