summaryrefslogtreecommitdiffstats
path: root/src/perl/common/Irssi.xs
diff options
context:
space:
mode:
Diffstat (limited to 'src/perl/common/Irssi.xs')
-rw-r--r--src/perl/common/Irssi.xs44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/perl/common/Irssi.xs b/src/perl/common/Irssi.xs
new file mode 100644
index 0000000..dc354bb
--- /dev/null
+++ b/src/perl/common/Irssi.xs
@@ -0,0 +1,44 @@
+#define PERL_NO_GET_CONTEXT
+#include "module.h"
+
+static int initialized = FALSE;
+
+void perl_expando_init(void);
+void perl_expando_deinit(void);
+
+void perl_settings_init(void);
+void perl_settings_deinit(void);
+
+MODULE = Irssi PACKAGE = Irssi
+
+PROTOTYPES: ENABLE
+
+void
+init()
+CODE:
+ if (initialized) return;
+ perl_api_version_check("Irssi");
+ initialized = TRUE;
+
+ perl_settings_init();
+ perl_expando_init();
+
+void
+deinit()
+CODE:
+ if (!initialized) return;
+ perl_expando_deinit();
+ perl_settings_deinit();
+ initialized = FALSE;
+
+BOOT:
+ irssi_boot(Channel);
+ irssi_boot(Core);
+ irssi_boot(Expando);
+ irssi_boot(Ignore);
+ irssi_boot(Log);
+ irssi_boot(Masks);
+ irssi_boot(Query);
+ irssi_boot(Rawlog);
+ irssi_boot(Server);
+ irssi_boot(Settings);