/usr/local/CPAN/Ocsinventory-Agent/Ocsinventory/Agent/Backend/OS/BSD/Archs/Alpha.pm
package Ocsinventory::Agent::Backend::OS::BSD::Archs::Alpha;
use strict;
sub check{
my $arch;
chomp($arch=`sysctl -n hw.machine`);
$arch eq "alpha";
}
sub run {
my $params = shift;
my $inventory = $params->{inventory};
my( $SystemSerial , $SystemModel, $SystemManufacturer, $BiosManufacturer,
$BiosVersion, $BiosDate);
my ( $processort , $processorn , $processors );
### Get system model with "sysctl hw.model"
#
# example on *BSD
# hw.model = AlphaStation 255 4/232
chomp($SystemModel=`sysctl -n hw.model`);
$SystemManufacturer = "DEC";
### Get processor type and speed in dmesg
#
# NetBSD: AlphaStation 255 4/232, 232MHz, s/n
# cpu0 at mainbus0: ID 0 (primary), 21064A-2
# OpenBSD: AlphaStation 255 4/232, 232MHz
# cpu0 at mainbus0: ID 0 (primary), 21064A-2 (pass 1.1)
# FreeBSD: AlphaStation 255 4/232, 232MHz
# CPU: EV45 (21064A) major=6 minor=2
for (`dmesg`) {
if (/^cpu[^:]*:\s*(.*)$/i) { $processort = $1; }
if (/$SystemModel,\s*(\S+)\s*MHz.*$/) { $processors = $1; }
}
# number of procs with sysctl (hw.ncpu)
chomp($processorn=`sysctl -n hw.ncpu`);
# Writing data
$inventory->setBios ({
SMANUFACTURER => $SystemManufacturer,
SMODEL => $SystemModel,
SSN => $SystemSerial,
BMANUFACTURER => $BiosManufacturer,
BVERSION => $BiosVersion,
BDATE => $BiosDate,
});
$inventory->setHardware({
PROCESSORT => $processort,
PROCESSORN => $processorn,
PROCESSORS => $processors
});
}
1;