-static m_host_t sglua_checkhost(lua_State * L, int index)
-{
- m_host_t *pi, ht;
- luaL_checktype(L, index, LUA_TTABLE);
- lua_getfield(L, index, "__simgrid_host");
- pi = (m_host_t *) luaL_checkudata(L, lua_gettop(L), HOST_MODULE_NAME);
- if (pi == NULL)
- luaL_typerror(L, index, HOST_MODULE_NAME);
- ht = *pi;
- if (!ht)
- luaL_error(L, "null Host");
- lua_pop(L, 1);
- return ht;
-}
-
-static int l_host_get_by_name(lua_State * L)
-{
- const char *name = luaL_checkstring(L, 1);
- XBT_DEBUG("Getting Host from name...");
- m_host_t msg_host = MSG_get_host_by_name(name);
- if (!msg_host) {
- luaL_error(L, "null Host : MSG_get_host_by_name failed");
- }
- lua_newtable(L); /* create a table, put the userdata on top of it */
- m_host_t *lua_host = (m_host_t *) lua_newuserdata(L, sizeof(m_host_t));
- *lua_host = msg_host;
- luaL_getmetatable(L, HOST_MODULE_NAME);
- lua_setmetatable(L, -2);
- lua_setfield(L, -2, "__simgrid_host"); /* put the userdata as field of the table */
- /* remove the args from the stack */
- lua_remove(L, 1);
- return 1;
-}
-
-static int l_host_get_name(lua_State * L)
-{
- m_host_t ht = sglua_checkhost(L, 1);
- lua_pushstring(L, MSG_host_get_name(ht));
- return 1;
-}
-
-static int l_host_number(lua_State * L)
-{
- lua_pushnumber(L, MSG_get_host_number());
- return 1;
-}
-
-static int l_host_at(lua_State * L)
-{
- int index = luaL_checkinteger(L, 1);
- m_host_t host = MSG_get_host_table()[index - 1]; // lua indexing start by 1 (lua[1] <=> C[0])
- lua_newtable(L); /* create a table, put the userdata on top of it */
- m_host_t *lua_host = (m_host_t *) lua_newuserdata(L, sizeof(m_host_t));
- *lua_host = host;
- luaL_getmetatable(L, HOST_MODULE_NAME);
- lua_setmetatable(L, -2);
- lua_setfield(L, -2, "__simgrid_host"); /* put the userdata as field of the table */
- return 1;
-
-}
-
-static int l_host_self(lua_State * L)
-{
- /* -- */
- m_host_t host = MSG_host_self();
- lua_newtable(L);
- /* table */
- m_host_t* lua_host = (m_host_t*) lua_newuserdata(L, sizeof(m_host_t));
- /* table ud */
- *lua_host = host;
- luaL_getmetatable(L, HOST_MODULE_NAME);
- /* table ud mt */
- lua_setmetatable(L, -2);
- /* table ud */
- lua_setfield(L, -2, "__simgrid_host");
- /* table */
- return 1;
-}
-
-static int l_host_get_property_value(lua_State * L)
-{
- m_host_t ht = sglua_checkhost(L, 1);
- const char *prop = luaL_checkstring(L, 2);
- lua_pushstring(L,MSG_host_get_property_value(ht,prop));
- return 1;
-}
-
-static int l_host_sleep(lua_State *L)
-{
- int time = luaL_checknumber(L, 1);
- MSG_process_sleep(time);
- return 1;
-}
-
-static int l_host_destroy(lua_State *L)
-{
- m_host_t ht = sglua_checkhost(L, 1);
- __MSG_host_destroy(ht);
- return 1;
-}
-
-/* ********************************************************************************* */
-/* lua_stub_generator functions */
-/* ********************************************************************************* */
-
-xbt_dict_t process_function_set;
-xbt_dynar_t process_list;
-xbt_dict_t machine_set;
-static s_process_t process;