Lua's interaction with C revolves around the concept of a virtual stack, in which values are pushed and popped from C. A Lua function may be invoked by first pushing the function on the stack, followed by any arguments, and then calling ILua_Call(). When it returns, any results will have been pushed on the stack.
Similarly, functions to be called from Lua can be written in C, in which the state pointer is passed whose stack contains the arguments to the function. This is the basis of allowing a set of C functions to comprise a Lua library.
This class also refers to a specific version of the Lua VM. Current and future implementations provided by this class ID will be guaranteed to be compatible with Lua 5.1.
For more information about the Lua C API, see http://www.lua.org