src/nexus_lua.h
author Tero Marttila <terom@fixme.fi>
Wed, 01 Apr 2009 00:57:34 +0300
changeset 105 b6b183fbf373
child 106 f00661136ac2
permissions -rw-r--r--
implement a separate nexus_lua module
105
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#ifndef NEXUS_LUA_H
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
#define NEXUS_LUA_H
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
/**
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
 * @file
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
 *
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
 * Defines the lua environment for use with nexus
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
 */
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
#include "nexus.h"
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
#include <lua5.1/lua.h>
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
/**
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
 * The global lua state
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
 */
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
struct nexus_lua {
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
    /** The nexus we are operating on */
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
    struct nexus *nexus;
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
    /** The lua state */
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
    lua_State *st;
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
};
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
/**
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
 * Create a new lua state for nexus
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
 */
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
err_t nexus_lua_create (struct nexus_lua **lua_ptr, struct nexus *nexus, struct error_info *err);
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
/**
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
 * Destroy the lua state
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
 */
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
void nexus_lua_destroy (struct nexus_lua *lua);
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
b6b183fbf373 implement a separate nexus_lua module
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
#endif /* NEXUS_LUA_H */