Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / perl / get-signals.pl
1 #!/usr/bin/perl
2
3 print "static PERL_SIGNAL_ARGS_REC perl_signal_args[] =\n{\n";
4
5 while (<STDIN>) {
6         chomp;
7
8         next if (!/^ "([^"]*)"(<.*>)?,\s*(.*)/);
9         next if (/\.\.\./);
10         next if (/\(/);
11
12         $signal = $1;
13         $_ = $3;
14
15         s/GList \* of ([^,]*)/glistptr_\1/g;
16         s/GSList of (\w+)s/gslist_\1/g;
17
18         s/char \*[^,]*/string/g;
19         s/ulong \*[^,]*/ulongptr/g;
20         s/int \*[^,]*/intptr/g;
21         s/int [^,]*/int/g;
22
23         # core
24         s/CHATNET_REC[^,]*/iobject/g;
25         s/SERVER_REC[^,]*/iobject/g;
26         s/RECONNECT_REC[^,]*/iobject/g;
27         s/CHANNEL_REC[^,]*/iobject/g;
28         s/QUERY_REC[^,]*/iobject/g;
29         s/COMMAND_REC[^,]*/Irssi::Command/g;
30         s/NICK_REC[^,]*/iobject/g;
31         s/LOG_REC[^,]*/Irssi::Log/g;
32         s/RAWLOG_REC[^,]*/Irssi::Rawlog/g;
33         s/IGNORE_REC[^,]*/Irssi::Ignore/g;
34         s/MODULE_REC[^,]*/Irssi::Module/g;
35
36         # irc
37         s/BAN_REC[^,]*/Irssi::Irc::Ban/g;
38         s/NETSPLIT_REC[^,]*/Irssi::Irc::Netsplit/g;
39         s/NETSPLIT_SERVER_REC[^,]*/Irssi::Irc::Netsplitserver/g;
40
41         # irc modules
42         s/DCC_REC[^,]*/siobject/g;
43         s/AUTOIGNORE_REC[^,]*/Irssi::Irc::Autoignore/g;
44         s/NOTIFYLIST_REC[^,]*/Irssi::Irc::Notifylist/g;
45
46         # fe-common
47         s/THEME_REC[^,]*/Irssi::UI::Theme/g;
48         s/KEYINFO_REC[^,]*/Irssi::UI::Keyinfo/g;
49         s/PROCESS_REC[^,]*/Irssi::UI::Process/g;
50         s/TEXT_DEST_REC[^,]*/Irssi::UI::TextDest/g;
51         s/WINDOW_REC[^,]*/Irssi::UI::Window/g;
52         s/WI_ITEM_REC[^,]*/iobject/g;
53
54         # perl
55         s/PERL_SCRIPT_REC[^,]*/Irssi::Script/g;
56
57         s/([\w\*:]+)(,|$)/"\1"\2/g;
58         print "    { \"$signal\", { $_, NULL } },\n";
59 }
60
61 print "\n    { NULL }\n};\n";