summaryrefslogtreecommitdiff
path: root/ext/Sys-Syslog/win32/Win32.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ext/Sys-Syslog/win32/Win32.pm')
-rw-r--r--ext/Sys-Syslog/win32/Win32.pm283
1 files changed, 0 insertions, 283 deletions
diff --git a/ext/Sys-Syslog/win32/Win32.pm b/ext/Sys-Syslog/win32/Win32.pm
deleted file mode 100644
index 70caf33143..0000000000
--- a/ext/Sys-Syslog/win32/Win32.pm
+++ /dev/null
@@ -1,283 +0,0 @@
-package Sys::Syslog::Win32;
-use strict;
-use warnings;
-use Carp;
-use File::Spec;
-
-# === WARNING === WARNING === WARNING === WARNING === WARNING === WARNING ===
-#
-# This file was generated by Sys-Syslog/win32/compile.pl on Wed Aug 22 01:33:58 2007
-# Any changes being made here will be lost the next time Sys::Syslog
-# is installed.
-#
-# Do NOT USE THIS MODULE DIRECTLY: this is a utility module for Sys::Syslog.
-# It may change at any time to fit the needs of Sys::Syslog therefore no
-# warranty is made WRT to its API. You Have Been Warned.
-#
-# === WARNING === WARNING === WARNING === WARNING === WARNING === WARNING ===
-
-our $Source;
-my $logger;
-my $Registry;
-
-use Win32::EventLog;
-use Win32::TieRegistry 0.20 (
- TiedRef => \$Registry,
- Delimiter => "/",
- ArrayValues => 1,
- SplitMultis => 1,
- AllowLoad => 1,
- qw(
- REG_SZ
- REG_EXPAND_SZ
- REG_DWORD
- REG_BINARY
- REG_MULTI_SZ
- KEY_READ
- KEY_WRITE
- KEY_ALL_ACCESS
- ),
-);
-
-my $is_Cygwin = $^O =~ /Cygwin/i;
-my $is_Win32 = $^O =~ /Win32/i;
-
-my %const = (
- CAT_KERN => 1,
- CAT_USER => 2,
- CAT_MAIL => 3,
- CAT_DAEMON => 4,
- CAT_AUTH => 5,
- CAT_SYSLOG => 6,
- CAT_LPR => 7,
- CAT_NEWS => 8,
- CAT_UUCP => 9,
- CAT_CRON => 10,
- CAT_AUTHPRIV => 11,
- CAT_FTP => 12,
- CAT_LOCAL0 => 13,
- CAT_LOCAL1 => 14,
- CAT_LOCAL2 => 15,
- CAT_LOCAL3 => 16,
- CAT_LOCAL4 => 17,
- CAT_LOCAL5 => 18,
- CAT_LOCAL6 => 19,
- CAT_LOCAL7 => 20,
- CAT_NETINFO => 21,
- CAT_REMOTEAUTH => 22,
- CAT_RAS => 23,
- CAT_INSTALL => 24,
- CAT_LAUNCHD => 25,
- CAT_CONSOLE => 26,
- CAT_NTP => 27,
- CAT_SECURITY => 28,
- CAT_AUDIT => 29,
- CAT_LFMT => 30,
- MSG_KERNEL => 128,
- MSG_USER => 129,
- MSG_MAIL => 130,
- MSG_DAEMON => 131,
- MSG_AUTH => 132,
- MSG_SYSLOG => 133,
- MSG_LPR => 134,
- MSG_NEWS => 135,
- MSG_UUCP => 136,
- MSG_CRON => 137,
- MSG_AUTHPRIV => 138,
- MSG_FTP => 139,
- MSG_LOCAL0 => 140,
- MSG_LOCAL1 => 141,
- MSG_LOCAL2 => 142,
- MSG_LOCAL3 => 143,
- MSG_LOCAL4 => 144,
- MSG_LOCAL5 => 145,
- MSG_LOCAL6 => 146,
- MSG_LOCAL7 => 147,
- MSG_NETINFO => 148,
- MSG_REMOTEAUTH => 149,
- MSG_RAS => 150,
- MSG_INSTALL => 151,
- MSG_LAUNCHD => 152,
- MSG_CONSOLE => 153,
- MSG_NTP => 154,
- MSG_SECURITY => 155,
- MSG_AUDIT => 156,
- MSG_LFMT => 157,
- STATUS_SEVERITY_SUCCESS => 0,
- STATUS_SEVERITY_INFORMATIONAL => 1,
- STATUS_SEVERITY_WARNING => 2,
- STATUS_SEVERITY_ERROR => 3,
-
-);
-
-my %id2name = (
- Sys::Syslog::LOG_KERN() => 'KERN',
- Sys::Syslog::LOG_USER() => 'USER',
- Sys::Syslog::LOG_MAIL() => 'MAIL',
- Sys::Syslog::LOG_DAEMON() => 'DAEMON',
- Sys::Syslog::LOG_AUTH() => 'AUTH',
- Sys::Syslog::LOG_SYSLOG() => 'SYSLOG',
- Sys::Syslog::LOG_LPR() => 'LPR',
- Sys::Syslog::LOG_NEWS() => 'NEWS',
- Sys::Syslog::LOG_UUCP() => 'UUCP',
- Sys::Syslog::LOG_CRON() => 'CRON',
- Sys::Syslog::LOG_AUTHPRIV() => 'AUTHPRIV',
- Sys::Syslog::LOG_FTP() => 'FTP',
- Sys::Syslog::LOG_LOCAL0() => 'LOCAL0',
- Sys::Syslog::LOG_LOCAL1() => 'LOCAL1',
- Sys::Syslog::LOG_LOCAL2() => 'LOCAL2',
- Sys::Syslog::LOG_LOCAL3() => 'LOCAL3',
- Sys::Syslog::LOG_LOCAL4() => 'LOCAL4',
- Sys::Syslog::LOG_LOCAL5() => 'LOCAL5',
- Sys::Syslog::LOG_LOCAL6() => 'LOCAL6',
- Sys::Syslog::LOG_LOCAL7() => 'LOCAL7',
- Sys::Syslog::LOG_NETINFO() => 'NETINFO',
- Sys::Syslog::LOG_REMOTEAUTH() => 'REMOTEAUTH',
- Sys::Syslog::LOG_RAS() => 'RAS',
- Sys::Syslog::LOG_INSTALL() => 'INSTALL',
- Sys::Syslog::LOG_LAUNCHD() => 'LAUNCHD',
- Sys::Syslog::LOG_CONSOLE() => 'CONSOLE',
- Sys::Syslog::LOG_NTP() => 'NTP',
- Sys::Syslog::LOG_SECURITY() => 'SECURITY',
- Sys::Syslog::LOG_AUDIT() => 'AUDIT',
- Sys::Syslog::LOG_LFMT() => 'LFMT',
-
-);
-
-my @priority2eventtype = (
- EVENTLOG_ERROR_TYPE(), # LOG_EMERG
- EVENTLOG_ERROR_TYPE(), # LOG_ALERT
- EVENTLOG_ERROR_TYPE(), # LOG_CRIT
- EVENTLOG_ERROR_TYPE(), # LOG_ERR
- EVENTLOG_WARNING_TYPE(), # LOG_WARNING
- EVENTLOG_WARNING_TYPE(), # LOG_NOTICE
- EVENTLOG_INFORMATION_TYPE(), # LOG_INFO
- EVENTLOG_INFORMATION_TYPE(), # LOG_DEBUG
-);
-
-
-#
-# _install()
-# --------
-# Used to set up a connection to the eventlog.
-#
-sub _install {
- return $logger if $logger;
-
- # can't just use basename($0) here because Win32 path often are a
- # a mix of / and \, and File::Basename::fileparse() can't handle that,
- # while File::Spec::splitpath() can.. Go figure..
- my (undef, undef, $basename) = File::Spec->splitpath($0);
- ($Source) ||= $basename;
-
- $Source.=" [SSW:1.0.1]";
-
- #$Registry->Delimiter("/"); # is this needed?
- my $root = 'LMachine/SYSTEM/CurrentControlSet/Services/Eventlog/Application/';
- my $dll = 'Sys/Syslog/PerlLog.dll';
-
- if (!$Registry->{$root.$Source} ||
- !$Registry->{$root.$Source.'/CategoryMessageFile'}[0] ||
- !-e $Registry->{$root.$Source.'/CategoryMessageFile'}[0] )
- {
-
- # find the resource DLL, which should be along Syslog.dll
- my ($file) = grep { -e $_ } map { ("$_/$dll" => "$_/auto/$dll") } @INC;
- $dll = $file if $file;
-
- # on Cygwin, convert the Unix path into absolute Windows path
- if ($is_Cygwin) {
- if ($] > 5.009005) {
- chomp($file = Cygwin::posix_to_win_path($file, 1));
- }
- else {
- local $ENV{PATH} = '';
- chomp($dll = `/usr/bin/cygpath --absolute --windows "$dll"`);
- }
- }
-
- $dll =~ s![\\/]+!\\!g; # must be backslashes!
- die "fatal: Can't find resource DLL for Sys::Syslog\n" if !$dll;
-
- $Registry->{$root.$Source} = {
- '/EventMessageFile' => [ $dll, REG_EXPAND_SZ ],
- '/CategoryMessageFile' => [ $dll, REG_EXPAND_SZ ],
- '/CategoryCount' => [ '0x0000001e', REG_DWORD ],
- #'/TypesSupported' => [ '0x0000001e', REG_DWORD ],
- };
-
- warn "Configured eventlog to use $dll for $Source\n" if $Sys::Syslog::DEBUG;
- }
-
- #Carp::confess("Registry has the wrong value for '$Source', possibly mismatched dll!\nMine:$dll\nGot :$Registry->{$root.$Source.'/CategoryMessageFile'}[0]\n")
- # if $Registry->{$root.$Source.'/CategoryMessageFile'}[0] ne $dll;
-
- # we really should do something useful with this but for now
- # we set it to "" to prevent Win32::EventLog from warning
- my $host = "";
-
- $logger = Win32::EventLog->new($Source, $host)
- or Carp::confess("Failed to connect to the '$Source' event log");
-
- return $logger;
-}
-
-
-#
-# _syslog_send()
-# ------------
-# Used to convert syslog messages into eventlog messages
-#
-sub _syslog_send {
- my ($buf, $numpri, $numfac) = @_;
- $numpri ||= EVENTLOG_INFORMATION_TYPE();
- $numfac ||= Sys::Syslog::LOG_USER();
- my $name = $id2name{$numfac};
-
- my $opts = {
- EventType => $priority2eventtype[$numpri],
- EventID => $const{"MSG_$name"},
- Category => $const{"CAT_$name"},
- Strings => "$buf\0",
- Data => "",
- };
-
- if ($Sys::Syslog::DEBUG) {
- require Data::Dumper;
- warn Data::Dumper->Dump(
- [$numpri, $numfac, $name, $opts],
- [qw(numpri numfac name opts)]
- );
- }
-
- return $logger->Report($opts);
-}
-
-
-=head1 NAME
-
-Sys::Syslog::Win32 - Win32 support for Sys::Syslog
-
-=head1 DESCRIPTION
-
-This module is a back-end plugin for C<Sys::Syslog>, for supporting the Win32
-event log. It is not expected to be directly used by any module other than
-C<Sys::Syslog> therefore it's API may change at any time and no warranty is
-made with regards to backward compatibility. You Have Been Warned.
-
-=head1 SEE ALSO
-
-L<Sys::Syslog>
-
-=head1 AUTHORS
-
-SE<eacute>bastien Aperghis-Tramoni and Yves Orton
-
-=head1 LICENSE
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-=cut
-
-1;