* @ingroup Elua
*/
EAPI Elua_State *elua_state_new(const char *progname);
+
+/**
+ * @brief Retrieve an Elua state from a Lua state.
+ *
+ * This doesn't create a new Elua state. Instead it just retrieves an existing
+ * Elua state given a Lua state. If no Elua state could be found (for example
+ * when the Lua state was created independently of Elua), this function returns
+ * NULL.
+ *
+ * @param[in] L The Lua state.
+ * @return An Elua state or NULL.
+ *
+ * @ingroup Elua
+ */
EAPI Elua_State *elua_state_from_lua_state_get(lua_State *L);
EAPI void elua_state_free(Elua_State *es);