--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lm_types.h Sun Feb 01 21:28:57 2009 +0200
@@ -0,0 +1,37 @@
+
+#ifndef LLM_TYPES_H
+#define LLM_TYPES_H
+
+#include <lua.h>
+#include <loudmouth/loudmouth.h>
+
+#ifndef LLM_OBJREGISTRY
+#define LLM_OBJREGISTRY ( "llm.obj_registry" )
+#endif
+
+typedef struct {
+ int reference;
+ lua_State *L;
+} llm_callback_t;
+
+void llm_callback_destroy (llm_callback_t *cb);
+
+#define LLM_DECLARE(WHAT, TYPE) \
+typedef struct { \
+ TYPE *WHAT; \
+} llm_##WHAT##_t; \
+ \
+llm_##WHAT##_t *luaL_checklm_##WHAT (lua_State *L, int index); \
+llm_##WHAT##_t *llm_##WHAT##_bless (lua_State *L, TYPE *WHAT);
+
+LLM_DECLARE (connection, LmConnection)
+LLM_DECLARE (message, LmMessage)
+LLM_DECLARE (message_handler, LmMessageHandler)
+LLM_DECLARE (message_node, LmMessageNode)
+LLM_DECLARE (proxy, LmProxy)
+LLM_DECLARE (ssl, LmSSL)
+
+#undef LLM_DECLARE
+
+#endif
+