summaryrefslogtreecommitdiff
path: root/src/perl/common/Rawlog.xs
diff options
context:
space:
mode:
Diffstat (limited to 'src/perl/common/Rawlog.xs')
-rw-r--r--src/perl/common/Rawlog.xs84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/perl/common/Rawlog.xs b/src/perl/common/Rawlog.xs
new file mode 100644
index 00000000..c7422bac
--- /dev/null
+++ b/src/perl/common/Rawlog.xs
@@ -0,0 +1,84 @@
+MODULE = Irssi PACKAGE = Irssi
+
+void
+rawlog_set_size(lines)
+ int lines
+
+Irssi::Rawlog
+rawlog_create()
+
+#*******************************
+MODULE = Irssi PACKAGE = Irssi::Server
+#*******************************
+
+void
+rawlog_input(rawlog, str)
+ Irssi::Rawlog rawlog
+ char *str
+
+void
+rawlog_output(rawlog, str)
+ Irssi::Rawlog rawlog
+ char *str
+
+void
+rawlog_redirect(rawlog, str)
+ Irssi::Rawlog rawlog
+ char *str
+
+
+#*******************************
+MODULE = Irssi PACKAGE = Irssi::Rawlog PREFIX = rawlog_
+#*******************************
+
+void
+values(rawlog)
+ Irssi::Rawlog rawlog
+PREINIT:
+ HV *hv;
+ AV *av;
+ GSList *tmp;
+PPCODE:
+ hv = newHV();
+ hv_store(hv, "logging", 7, newSViv(rawlog->logging), 0);
+ hv_store(hv, "nlines", 6, newSViv(rawlog->nlines), 0);
+
+ av = newAV();
+ for (tmp = rawlog->lines; tmp != NULL; tmp = tmp->next) {
+ av_push(av, new_pv(tmp->data));
+ }
+ hv_store(hv, "lines", 5, newRV_noinc((SV*)av), 0);
+ XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
+
+void
+rawlog_destroy(rawlog)
+ Irssi::Rawlog rawlog
+
+void
+rawlog_input(rawlog, str)
+ Irssi::Rawlog rawlog
+ char *str
+
+void
+rawlog_output(rawlog, str)
+ Irssi::Rawlog rawlog
+ char *str
+
+void
+rawlog_redirect(rawlog, str)
+ Irssi::Rawlog rawlog
+ char *str
+
+void
+rawlog_open(rawlog, fname)
+ Irssi::Rawlog rawlog
+ char *fname
+
+void
+rawlog_close(rawlog)
+ Irssi::Rawlog rawlog
+
+void
+rawlog_save(rawlog, fname)
+ Irssi::Rawlog rawlog
+ char *fname