s/core/common/ - because make clean tried to delete it :)

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@715 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-10-03 19:10:24 +00:00 committed by cras
commit 391a419a1f
16 changed files with 2 additions and 2 deletions

View file

@ -0,0 +1,7 @@
Makefile
Makefile.PL
Irssi.c
Irssi.bs
*.o
pm_to_blib
blib

156
src/perl/common/Channel.xs Normal file
View file

@ -0,0 +1,156 @@
MODULE = Irssi PACKAGE = Irssi
void
channels()
PREINIT:
GSList *tmp;
PPCODE:
for (tmp = channels; tmp != NULL; tmp = tmp->next) {
CHANNEL_REC *rec = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(rec))),
irssi_get_stash(rec))));
}
#*******************************
MODULE = Irssi PACKAGE = Irssi::Server
#*******************************
void
channels(server)
Irssi::Server server
PREINIT:
GSList *tmp;
PPCODE:
for (tmp = server->channels; tmp != NULL; tmp = tmp->next) {
CHANNEL_REC *rec = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(rec))),
irssi_get_stash(rec))));
}
Irssi::Channel
channel_create(chat_type, server, name, automatic)
int chat_type
Irssi::Server server
char *name
int automatic
Irssi::Channel
channel_find(server, name)
Irssi::Server server
char *name
#*******************************
MODULE = Irssi PACKAGE = Irssi::Channel PREFIX = channel_
#*******************************
void
values(channel)
Irssi::Channel channel
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
perl_channel_fill_hash(hv, channel);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
void
channel_destroy(channel)
Irssi::Channel channel
Irssi::Channel
channel_find(channel)
char *channel
CODE:
RETVAL = channel_find(NULL, channel);
OUTPUT:
RETVAL
void
command(channel, cmd)
Irssi::Channel channel
char *cmd
CODE:
signal_emit("send command", 3, cmd, channel->server, channel);
Irssi::Nick
nicklist_insert(channel, nick, op, voice, send_massjoin)
Irssi::Channel channel
char *nick
int op
int voice
int send_massjoin
void
nicklist_remove(channel, nick)
Irssi::Channel channel
Irssi::Nick nick
Irssi::Nick
nicklist_find(channel, mask)
Irssi::Channel channel
char *mask
void
nicklist_getnicks(channel)
Irssi::Channel channel
PREINIT:
GSList *list, *tmp;
HV *stash;
PPCODE:
list = nicklist_getnicks(channel);
stash = gv_stashpv("Irssi::Nick", 0);
for (tmp = list; tmp != NULL; tmp = tmp->next) {
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(tmp->data))), stash)));
}
g_slist_free(list);
void
nicklist_get_same(server, nick)
Irssi::Server server
char *nick
PREINIT:
GSList *list, *tmp;
HV *nickstash;
PPCODE:
list = nicklist_get_same(server, nick);
nickstash = gv_stashpv("Irssi::Nick", 0);
for (tmp = list; tmp != NULL; tmp = tmp->next->next) {
CHANNEL_REC *channel = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(channel))),
irssi_get_stash(channel))));
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(tmp->next->data))), nickstash)));
}
g_slist_free(list);
#*******************************
MODULE = Irssi PACKAGE = Irssi::Nick
#*******************************
void
values(nick)
Irssi::Nick nick
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
hv_store(hv, "last_check", 10, newSViv(nick->last_check), 0);
hv_store(hv, "nick", 4, new_pv(nick->nick), 0);
hv_store(hv, "host", 4, new_pv(nick->host), 0);
hv_store(hv, "realname", 8, new_pv(nick->realname), 0);
hv_store(hv, "hops", 4, newSViv(nick->hops), 0);
hv_store(hv, "gone", 4, newSViv(nick->gone), 0);
hv_store(hv, "serverop", 8, newSViv(nick->serverop), 0);
hv_store(hv, "send_massjoin", 13, newSViv(nick->send_massjoin), 0);
hv_store(hv, "op", 2, newSViv(nick->op), 0);
hv_store(hv, "halfop", 6, newSViv(nick->halfop), 0);
hv_store(hv, "voice", 5, newSViv(nick->voice), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));

125
src/perl/common/Core.xs Normal file
View file

@ -0,0 +1,125 @@
MODULE = Irssi PACKAGE = Irssi
void
signal_emit(signal, ...)
char *signal
PREINIT:
STRLEN n_a;
CODE:
void *p[6];
int n;
memset(p, 0, sizeof(p));
for (n = 1; n < items && n < 6; n++) {
p[n-1] = SvPOKp(ST(n)) ? SvPV(ST(n), n_a) : (void *) SvIV((SV*)SvRV(ST(n)));
}
signal_emit(signal, items-1, p[0], p[1], p[2], p[3], p[4], p[5]);
void
signal_add(signal, func)
char *signal
char *func
CODE:
perl_signal_add(signal, func);
void
signal_add_last(signal, func)
char *signal
char *func
CODE:
perl_signal_add_last(signal, func);
void
signal_remove(signal, func)
char *signal
char *func
CODE:
perl_signal_remove(signal, func);
void
signal_stop()
void
signal_stop_by_name(signal)
char *signal
int
timeout_add(msecs, func, data)
int msecs
char *func
char *data
CODE:
RETVAL = perl_timeout_add(msecs, func, data);
OUTPUT:
RETVAL
void
timeout_remove(tag)
int tag
CODE:
perl_timeout_remove(tag);
int
level2bits(str)
char *str
char *
bits2level(bits)
int bits
int
combine_level(level, str)
int level
char *str
void
commands()
PREINIT:
GSList *tmp;
HV *stash;
PPCODE:
stash = gv_stashpv("Irssi::Command", 0);
for (tmp = commands; tmp != NULL; tmp = tmp->next) {
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(tmp->data))), stash)));
}
void
command_bind(cmd, category, func)
char *cmd
char *category
char *func
CODE:
char *signal;
GSList *tmp;
if (*category == '\0') category = "Perl scripts' commands";
command_bind(cmd, category, NULL);
signal = g_strconcat("command ", cmd, NULL);
perl_signal_add(signal, func);
g_free(signal);
void
command_unbind(cmd, func)
char *cmd
char *func
CODE:
char *signal;
signal = g_strconcat("command ", cmd, NULL);
perl_signal_remove(signal, func);
g_free(signal);
#*******************************
MODULE = Irssi PACKAGE = Irssi::Command PREFIX = command_
#*******************************
void
values(cmd)
Irssi::Command cmd
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
hv_store(hv, "category", 8, new_pv(cmd->category), 0);
hv_store(hv, "cmd", 3, new_pv(cmd->cmd), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));

32
src/perl/common/Irssi.pm Normal file
View file

@ -0,0 +1,32 @@
#
# Perl interface to irssi functions.
#
package Irssi;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
$VERSION = "0.20";
require Exporter;
require DynaLoader;
@ISA = qw(Exporter DynaLoader);
@EXPORT = qw();
@EXPORT_OK = qw();
bootstrap Irssi $VERSION;
@Irssi::Ircnet::ISA = qw(Irssi::Chatnet);
@Irssi::IrcServer::ISA = qw(Irssi::Server);
@Irssi::IrcServerConnect::ISA = qw(Irssi::ServerConnect);
@Irssi::IrcServerSetup::ISA = qw(Irssi::ServerSetup);
@Irssi::Channel::ISA = qw(Irssi::WindowItem);
@Irssi::Query::ISA = qw(Irssi::WindowItem);
@Irssi::IrcChannel::ISA = qw(Irssi::Channel);
@Irssi::IrcQuery::ISA = qw(Irssi::Query);
1;

16
src/perl/common/Irssi.xs Normal file
View file

@ -0,0 +1,16 @@
#include "module.h"
#include "levels.h"
MODULE = Irssi PACKAGE = Irssi
PROTOTYPES: ENABLE
INCLUDE: Channel.xs
INCLUDE: Core.xs
INCLUDE: Log.xs
INCLUDE: Masks.xs
INCLUDE: Query.xs
INCLUDE: Rawlog.xs
INCLUDE: Server.xs
INCLUDE: Settings.xs
INCLUDE: Window.xs

76
src/perl/common/Log.xs Normal file
View file

@ -0,0 +1,76 @@
MODULE = Irssi PACKAGE = Irssi
void
logs()
PREINIT:
GSList *tmp;
HV *stash;
PPCODE:
stash = gv_stashpv("Irssi::Log", 0);
for (tmp = logs; tmp != NULL; tmp = tmp->next) {
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(tmp->data))), stash)));
}
Irssi::Log
log_create_rec(fname, level, items)
char *fname
int level
char *items
Irssi::Log
log_find(fname)
char *fname
void
log_write(item, level, str)
char *item
int level
char *str
#*******************************
MODULE = Irssi PACKAGE = Irssi::Log PREFIX = log_
#*******************************
void
values(log)
Irssi::Log log
PREINIT:
HV *hv;
AV *av;
char **tmp;
PPCODE:
hv = newHV();
hv_store(hv, "fname", 5, new_pv(log->fname), 0);
hv_store(hv, "opened", 6, newSViv(log->opened), 0);
hv_store(hv, "level", 5, newSViv(log->level), 0);
hv_store(hv, "last", 4, newSViv(log->last), 0);
hv_store(hv, "autoopen", 8, newSViv(log->autoopen), 0);
hv_store(hv, "temp", 4, newSViv(log->temp), 0);
av = newAV();
for (tmp = log->items; *tmp != NULL; tmp++) {
av_push(av, new_pv(*tmp));
}
hv_store(hv, "items", 4, newRV_noinc((SV*)av), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
void
log_update(log)
Irssi::Log log
void
log_close(log)
Irssi::Log log
void
log_write_rec(log, str)
Irssi::Log log
char *str
void
log_start_logging(log)
Irssi::Log log
void
log_stop_logging(log)
Irssi::Log log

View file

@ -0,0 +1,6 @@
use ExtUtils::MakeMaker;
WriteMakefile('NAME' => 'Irssi',
'LIBS' => '',
'INC' => '-I@top_srcdir@/src -I@top_srcdir@/src/core @GLIB_CFLAGS@',
'VERSION_FROM' => '@srcdir@/Irssi.pm');

58
src/perl/common/Masks.xs Normal file
View file

@ -0,0 +1,58 @@
MODULE = Irssi PACKAGE = Irssi
int
mask_match(mask, nick, user, host)
char *mask
char *nick
char *user
char *host
CODE:
RETVAL = mask_match(NULL, mask, nick, user, host);
OUTPUT:
RETVAL
int
mask_match_address(mask, nick, address)
char *mask
char *nick
char *address
CODE:
RETVAL = mask_match_address(NULL, mask, nick, address);
OUTPUT:
RETVAL
int
masks_match(masks, nick, address)
char *masks
char *nick
char *address
CODE:
RETVAL = masks_match(NULL, masks, nick, address);
OUTPUT:
RETVAL
#*******************************
MODULE = Irssi PACKAGE = Irssi::Server
#*******************************
int
mask_match(server, mask, nick, user, host)
Irssi::Server server
char *mask
char *nick
char *user
char *host
int
mask_match_address(server, mask, nick, address)
Irssi::Server server
char *mask
char *nick
char *address
int
masks_match(server, masks, nick, address)
Irssi::Server server
char *masks
char *nick
char *address

65
src/perl/common/Query.xs Normal file
View file

@ -0,0 +1,65 @@
MODULE = Irssi PACKAGE = Irssi
void
queries()
PREINIT:
GSList *tmp;
PPCODE:
for (tmp = queries; tmp != NULL; tmp = tmp->next) {
QUERY_REC *rec = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(rec))),
irssi_get_stash(rec))));
}
#*******************************
MODULE = Irssi PACKAGE = Irssi::Server
#*******************************
void
queries(server)
Irssi::Server server
PREINIT:
GSList *tmp;
PPCODE:
for (tmp = server->queries; tmp != NULL; tmp = tmp->next) {
QUERY_REC *rec = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(rec))),
irssi_get_stash(rec))));
}
Irssi::Query
query_create(chat_type, server, nick, automatic)
int chat_type
Irssi::Server server
char *nick
int automatic
Irssi::Query
query_find(server, nick)
Irssi::Server server
char *nick
#*******************************
MODULE = Irssi PACKAGE = Irssi::Query PREFIX = query_
#*******************************
void
values(query)
Irssi::Query query
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
perl_query_fill_hash(hv, query);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
void
query_destroy(query)
Irssi::Query query
void
query_change_server(query, server)
Irssi::Query query
Irssi::Server server

84
src/perl/common/Rawlog.xs Normal file
View file

@ -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

137
src/perl/common/Server.xs Normal file
View file

@ -0,0 +1,137 @@
MODULE = Irssi PACKAGE = Irssi
void
servers()
PREINIT:
GSList *tmp;
PPCODE:
for (tmp = servers; tmp != NULL; tmp = tmp->next) {
SERVER_REC *rec = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(rec))),
irssi_get_stash(rec))));
}
void
reconnects()
PREINIT:
GSList *tmp;
HV *stash;
PPCODE:
stash = gv_stashpv("Irssi::Reconnect", 0);
for (tmp = reconnects; tmp != NULL; tmp = tmp->next) {
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(tmp->data))), stash)));
}
Irssi::Connect
server_create_conn(dest, port=6667, password=NULL, nick=NULL)
char *dest
int port
char *password
char *nick
Irssi::Server
server_find_tag(tag)
char *tag
Irssi::Server
server_find_chatnet(chatnet)
char *chatnet
#*******************************
MODULE = Irssi PACKAGE = Irssi::Server PREFIX = server_
#*******************************
void
values(server)
Irssi::Server server
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
perl_server_fill_hash(hv, server);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
Irssi::Server
server_connect(conn)
Irssi::Connect conn
void
server_disconnect(server)
Irssi::Server server
void
server_redirect_init(server, command, last, ...)
Irssi::Server server
char *command
int last
PREINIT:
STRLEN n_a;
GSList *list;
int n;
CODE:
list = NULL;
for (n = 3; n < items; n++) {
list = g_slist_append(list, SvPV(ST(n), n_a));
}
server_redirect_initv(server, command, last, list);
int
server_redirect_single_event(server, arg, last, group, event, signal, argpos)
Irssi::Server server
char *arg
int last
int group
char *event
char *signal
int argpos
void
server_redirect_event(server, arg, last, ...)
Irssi::Server server
char *arg
int last
PREINIT:
STRLEN n_a;
int n, group;
CODE:
group = 0;
for (n = 3; n+3 <= items; n += 3, last--) {
group = server_redirect_single_event(server, arg, last > 0, group,
(char *) SvPV(ST(n), n_a), (char *) SvPV(ST(n+1), n_a), (int) SvIV(ST(n+2)));
}
#*******************************
MODULE = Irssi PACKAGE = Irssi::Connect PREFIX = server_
#*******************************
void
values(conn)
Irssi::Connect conn
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
perl_connect_fill_hash(hv, conn);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
Irssi::Server
server_connect(conn)
Irssi::Connect conn
#*******************************
MODULE = Irssi PACKAGE = Irssi::Reconnect
#*******************************
void
values(reconnect)
Irssi::Reconnect reconnect
PREINIT:
HV *hv;
PPCODE:
hv = newHV();
perl_connect_fill_hash(hv, reconnect->conn);
hv_store(hv, "tag", 3, newSViv(reconnect->tag), 0);
hv_store(hv, "next_connect", 12, newSViv(reconnect->next_connect), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));

View file

@ -0,0 +1,39 @@
MODULE = Irssi PACKAGE = Irssi
char *
settings_get_str(key)
char *key
CODE:
RETVAL = (char *) settings_get_str(key);
OUTPUT:
RETVAL
int
settings_get_int(key)
char *key
int
settings_get_bool(key)
char *key
void
settings_add_str(section, key, def)
char *section
char *key
char *def
void
settings_add_int(section, key, def)
char *section
char *key
int def
void
settings_add_bool(section, key, def)
char *section
char *key
int def
void
settings_remove(key)
char *key

143
src/perl/common/Window.xs Normal file
View file

@ -0,0 +1,143 @@
MODULE = Irssi PACKAGE = Irssi
void
command(cmd, server=active_win->active_server, item=active_win->active)
char *cmd
Irssi::Server server
Irssi::Windowitem item
CODE:
signal_emit("send command", 3, cmd, server, item);
Irssi::Window
active_win()
CODE:
RETVAL = active_win;
OUTPUT:
RETVAL
Irssi::Server
active_server()
CODE:
RETVAL = active_win->active_server;
OUTPUT:
RETVAL
void
print(str, level=MSGLEVEL_CLIENTNOTICE)
char *str
int level;
CODE:
printtext(NULL, NULL, level, str);
void
print_window(str, level=MSGLEVEL_CLIENTNOTICE)
char *str
int level;
CODE:
printtext_window(active_win, level, str);
#*******************************
MODULE = Irssi PACKAGE = Irssi::Server
#*******************************
void
command(server, cmd, item=active_win->active)
char *cmd
Irssi::Server server
Irssi::Windowitem item
CODE:
if (item != NULL && item->server != SERVER(server))
item = NULL;
signal_emit("send command", 3, cmd, server, item);
void
printtext(server, channel, level, str)
Irssi::Server server
char *channel
int level
char *str
CODE:
printtext(server, channel, level, str);
#*******************************
MODULE = Irssi PACKAGE = Irssi::Window
#*******************************
void
values(window)
Irssi::Window window
PREINIT:
HV *hv;
GSList *tmp;
PPCODE:
hv = newHV();
hv_store(hv, "refnum", 6, newSViv(window->refnum), 0);
hv_store(hv, "name", 4, new_pv(window->name), 0);
if (window->active) {
hv_store(hv, "active", 6, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(window->active))),
irssi_get_stash(window->active)), 0);
}
if (window->active_server) {
hv_store(hv, "active_server", 13, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(window->active_server))),
irssi_get_stash(window->active_server)), 0);
}
hv_store(hv, "lines", 5, newSViv(window->lines), 0);
hv_store(hv, "level", 5, newSViv(window->level), 0);
hv_store(hv, "new_data", 8, newSViv(window->new_data), 0);
hv_store(hv, "last_color", 10, newSViv(window->last_color), 0);
hv_store(hv, "last_timestamp", 14, newSViv(window->last_timestamp), 0);
hv_store(hv, "last_line", 9, newSViv(window->last_line), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
void
items(window)
Irssi::Window window
PREINIT:
GSList *tmp;
HV *stash;
PPCODE:
for (tmp = window->items; tmp != NULL; tmp = tmp->next) {
CHANNEL_REC *rec = tmp->data;
XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(rec))),
irssi_get_stash(rec))));
}
void
command(window, cmd, server=window->active_server, item=window->active)
Irssi::Window window
char *cmd
Irssi::Server server
Irssi::Windowitem item
CODE:
signal_emit("send command", 3, cmd, server, item);
#*******************************
MODULE = Irssi PACKAGE = Irssi::Windowitem
#*******************************
void
values(item)
Irssi::Windowitem item
PREINIT:
HV *hv;
AV *av;
GSList *tmp;
PPCODE:
hv = newHV();
hv_store(hv, "server", 6, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(item->server))),
irssi_get_stash(item->server)), 0);
hv_store(hv, "name", 4, new_pv(item->name), 0);
hv_store(hv, "new_data", 8, newSViv(item->new_data), 0);
XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));
void
command(item, cmd)
Irssi::Windowitem item
char *cmd
CODE:
signal_emit("send command", 3, cmd, item->server, item);

37
src/perl/common/module.h Normal file
View file

@ -0,0 +1,37 @@
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#undef _
#include "common.h"
#include "network.h"
#include "commands.h"
#include "log.h"
#include "rawlog.h"
#include "settings.h"
#include "masks.h"
#include "servers.h"
#include "servers-reconnect.h"
#include "servers-setup.h"
#include "channels.h"
#include "queries.h"
#include "nicklist.h"
#include "perl/perl-common.h"
#include "fe-common/core/windows.h"
typedef COMMAND_REC *Irssi__Command;
typedef LOG_REC *Irssi__Log;
typedef RAWLOG_REC *Irssi__Rawlog;
typedef SERVER_REC *Irssi__Server;
typedef SERVER_CONNECT_REC *Irssi__Connect;
typedef RECONNECT_REC *Irssi__Reconnect;
typedef CHANNEL_REC *Irssi__Channel;
typedef QUERY_REC *Irssi__Query;
typedef NICK_REC *Irssi__Nick;
typedef WINDOW_REC *Irssi__Window;
typedef WI_ITEM_REC *Irssi__Windowitem;

12
src/perl/common/typemap Normal file
View file

@ -0,0 +1,12 @@
TYPEMAP
Irssi::Server T_PTROBJ
Irssi::Connect T_PTROBJ
Irssi::Reconnect T_PTROBJ
Irssi::Channel T_PTROBJ
Irssi::Query T_PTROBJ
Irssi::Command T_PTROBJ
Irssi::Nick T_PTROBJ
Irssi::Log T_PTROBJ
Irssi::Rawlog T_PTROBJ
Irssi::Window T_PTROBJ
Irssi::Windowitem T_PTROBJ