.\"
.TH mcsysinfoperl 3 "15 March 2002"
.ds ]W www.MagniComp.com
.SH NAME
mcsysinfoperl \- MagniComp(tm) SysInfo(tm) Perl API to obtain detailed system information in a platform neutral manner
.SH SYNOPSIS
use lib ('/opt/sysinfo/lib/mcSysInfo');
.br
use mcSysInfo;
.br
.sp
$mcSysInfo = mcSysInfo->New;
.br
.sp
# Optional: Specify pathname to sysinfo(1)
.br
$mcSysInfo->Program($SysInfoPath);
.br
# Optional: Use $InFile in place of sysinfo(1)
.br
$mcSysInfo->InputFile($InFile);
.br
# Optional: Limit data to class List
.br
$mcSysInfo->Class(@List);
.sp
.br
$mcSysInfo->Retrieve();
.br
.SH DESCRIPTION
The
.B mcSysInfo
.B perl(1)
interface is part of
.B SysInfo(tm)
from
.B MagniComp(tm).
It
provides a
.B perl(1)
object (API) for obtaining detailed data about the local system's
configuration via
a platform neutral interface.
.PP
Please see
.B mcsysinfoc(3)
if a C API is required.
.PP
When
.B mcSysInfo->Retrieve
is called it runs the
.B sysinfo(1)
Limit the class of information retrieved and returned to
.I @List.
The contents of
.I @List
should be valid class names as returned by
.B "sysinfo -list class"
The default is to return all class types.
.IP "\fBInputFile(\fIPath\fB)\fR"
Use the file specified by
.I Path
as input instead of running the
.B sysinfo(1)
program.
The file must be the output from
.B "sysinfo -repsep '|' -format report"
The default is to run the
.B sysinfo(1)
program.
.IP "\fBProgram(\fIPath\fB)\fR"
Use
.I Path
as the pathname to the
.B sysinfo(1)
program.
The default is
.B /opt/sysinfo/bin/sysinfo
.RE
.PP
The following
.I mcSysInfo
object members contain the system configuration data after
.B mcSysInfo->Retrieve
is called:
.RS
.IP "\fBGeneral\fR"
General system configuration data. See
.B "OBJECT mcGeneral"
below.
.IP "\fBHardware\fR"
Hardware (device) configuration data. See
.B "OBJECT mcHardware"
below.
.IP "\fBSoftware\fR"
Installed software data. See
.B "OBJECT mcSoftware"
below.
.IP "\fBPartition\fR"
Disk partition data. See
.B "OBJECT mcPartition"
below.
.IP "\fBPrinter\fR"
Printer queue data. See
.B mcHardware
object contains data on what hardware (devices) is installed on the system.
The following are valid members:
.RS
.IP "\fBEntries\fR"
Returns a hash of
.B mcDevInfo
objects each of which details an installed device.
The hash key is a unique device name.
The value is an
.B mcDevInfo
object.
See
.B "OBJECT mcDevInfo"
for details.
.RE
.PP
A special device entry with a key of
.B "TOTAL DISK"
contains the total amount of disk space on the system.
.SS "OBJECT mcDevInfo"
The table below specifies the valid members of the
.B mcDevInfo
object and describes their usage.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
Aliases Aliases Array
AltName AKA Name Scalar
Bus Bus no. of device Scalar
Capacity Capacity (size) of device Scalar
ClassType Class Type Scalar
DescList List of misc descriptions Array
DevNum Device no. on Bus Scalar
DevSpec Device type specific data varies
Driver Driver name Scalar
Files Files Array
Ident Identifier Scalar
Model Model Scalar
ModelDesc Model Description Scalar
Name Name of device Scalar
Next Next peer device Scalar
NodeID Node ID Scalar
Part Part # Scalar
Port Port no. on Bus Scalar
.B mcCpuInfo
object is usually available via
.B mcDevInfo->DevSpec
when
.B mcDevInfo->Type
is
.B CPU.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
Arch Architecture Scalar
ArchVer Architecture Version Scalar
BitSize Bit Size Scalar
Caches List of onboard caches Array
HasFPU Has FPU Scalar
Man Manufacturer Scalar
Model Model Scalar
Serial Serial # Scalar
Speed Clock Speed Scalar
Stepping Stepping Scalar
.TE
.RE
.SS "OBJECT mcCacheInfo"
The table below specifies the valid members of the
.B mcCacheInfo
object and describes their usage.
A
.B mcCacheInfo
object is usually available via the
.B mcDevInfo->DevSpec->Caches
array when
.B mcDevInfo->Type
is
.B processor.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
EccType ECC Type Scalar
Mode Mode of operation Scalar
.TE
.RE
.SS "OBJECT mcGeneral"
The
.B mcGeneral
object contains general system configuration data.
The table below specifies the valid members of the
.B mcGeneral
object and describes their usage.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
Hostname Host Name Scalar
HostAliases Host Aliases Array
HostAddrs Host Addresses Array
HostId Host ID Scalar
Serial Serial # Scalar
ManShort Manufacturer (Short) Scalar
ManLong Manufacturer (Long) Scalar
Man Manufacturer Scalar
Model Model Scalar
PhysMem Physical Memory Scalar
VirtMem Virtual Memory Scalar
RomVer ROM Version Scalar
NumCpu Number of CPU Scalar
CpuType CPU Type Scalar
CpuSpeed CPU Speed Scalar
AppArch App Architecture Scalar
KernArch Kernel Architecture Scalar
KernBits Kernel Bit Size Scalar
OSname OS Name Scalar
OSver OS Version Scalar
OSdist OS Distribution Scalar
KernVer Kernel Version Scalar
BootTime Boot Time Scalar
CurrentTime Current Time Scalar
LibcName Libc Name Scalar
LibcVer Libc Version Scalar
.TE
.RE
.SS "OBJECT mcKernel"
.B "OBJECT mcName"
for details.
.RE
.SS "OBJECT mcNetIf"
The table below specifies the valid members of the
.B mcNetIf
object and describes their usage.
A
.B mcNetIf
object is usually available via
.B mcDevInfo->DevSpec
when
.B mcDevInfo->Type
is
.B netif.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
Type NIC Address Type Scalar
HostAddr NIC Host Address Scalar
HostName NIC Host Name Scalar
MACaddr NIC MAC Current Address Scalar
MACname NIC MAC Current Name Scalar
FacMACaddr NIC MAC Factory Address Scalar
FacMACname NIC MAC Factory Name Scalar
NetAddr NIC Network Address Scalar
NetName NIC Network Name Scalar
.TE
.RE
.SS "OBJECT mcPartition"
The
.B mcPartition
object contains data on what disk partitions are on the system.
The following are valid members:
.RS
.IP "\fBEntries\fR"
Returns a hash of
.B mcPartInfo
objects each of which details a partition entry.
The hash key is a unique partition name.
The value is an
.B mcPartInfo
object.
.TS
l l l
l l l.
\fBMember Description Returns\fR
Name Partition Name Scalar
DevName Device Name Scalar
DevPath Device Path Scalar
DevPathRaw Device Path Raw Scalar
BaseName Base Name Scalar
Slice Slice Scalar
Num Partition # Scalar
Type Type Scalar
TypeDesc Type Description Scalar
TypeNum Type Number Scalar
UsageStatus Usage Status Scalar
MntName Mount Name Scalar
MntOpts Mount Options Array
Size Size (MB) Scalar
AmtUsed Amount Used (MB) Scalar
SecSize Sector Size (bytes) Scalar
StartSect Starting Sector Scalar
EndSect Ending Sector Scalar
NumSect Number of Sectors Scalar
.TE
.RE
.SS "OBJECT mcPrinter"
The
.B mcPrinter
object contains data on what printer queues are on the system.
The following are valid members:
.RS
.IP "\fBEntries\fR"
Returns a hash of
.B mcPrinterInfo
objects each of which details a printer queue.
The hash key is a unique printer name.
The value is an
.B mcPrinterInfo
object.
See
.B "OBJECT mcPrinterInfo"
for details.
.RE
.SS "OBJECT mcPrinterInfo"
The table below specifies the valid members of the
.B mcPrinterInfo
object and describes their usage.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
Langs Supported printer languages Array
SpoolDir Spool Directory Scalar
MaxJobSize Max size of each job Scalar
DescList Misc descriptions Array
.TE
.RE
.SS "OBJECT mcSoftware"
The
.B mcSoftware
object contains data on what software is installed on the system.
The following are valid members:
.RS
.IP "\fBEntries\fR"
Returns a hash of
.B mcSoftInfo
objects each of which details an installed software package.
The hash key is a unique package name.
The value is an
.B mcSoftInfo
object.
See
.B "OBJECT mcSoftInfo"
for details.
.RE
.SS "OBJECT mcSoftInfo"
The table below specifies the valid members of the
.B mcSoftInfo
object and describes their usage.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
Name Name of package Scalar
EntryType Entry Type Scalar
Version Version Scalar
Revision Revision Scalar
Description Description Scalar
DescVerbose Description (Verbose) Scalar
URL URL Scalar
License License Scalar
Copyright Copyright Scalar
Category Category Scalar
SubCategory Sub-Category Scalar
OSname Requires OS Name Scalar
OSversion Requires OS Version Scalar
MasterVer Version of master Scalar
MasterRev Revisionof master Scalar
Slaves List of child packages Array
Next Next peer package Scalar
.TE
.RE
.SS "OBJECT mcSysConf"
The
.B mcSysConf
object contains data on system configuration data obtained via
.B sysconf(3).
The following are valid members:
.RS
.IP "\fBEntries\fR"
Returns a hash of
.B mcName
objects each of which details a SysConf entry.
The hash key is a unique SysConf variable name.
The value is an
.B mcName
object.
See
.B "OBJECT mcName"
for details.
.RE
.SS "OBJECT mcName"
The table below specifies the valid members of the
.B mcName
object and describes their usage.
See
.B mcsysinfo(3)
for more details describing each member.
.br
.sp
.RS
.TS
l l l
l l l.
\fBMember Description Returns\fR
Name Variable name Scalar
Desc Description of entry Scalar
Value Value of this variable Scalar
.TE
.RE
.SH "EXAMPLES"
.PP
For detailed examples please take a look at
.B /opt/sysinfo/lib/ui/uiGUI.pm
This is the main model which implements the GUI
for
.I sysinfo(1)
$si->Retrieve();
printf ("System hostname is %s\\n", $si->General->Hostname);
printf ("System model is %s\\n", $si->General->Model);
.RE
.fi
.PP
The following example displays a list of all device names and
their model (if known):
.RS
.nf
.sp
use lib ('/opt/sysinfo/lib/mcSysInfo');
use mcSysInfo;
$si = mcSysInfo->New;
# Only retrieve the info we need
$si->Class('Hardware');
$si->Retrieve();
foreach my $Key (keys %{ $si->Hardware->Entries }) {
my $di = $si->Hardware->Entries->{$Key};
printf ("Device %s is a %s\\n", $Key, $di->Model);
}
.fi
.RE
.SH FILES
/opt/sysinfo/bin/sysinfo \- Path to sysinfo program
.SH "SEE ALSO"
sysinfo(1)
perl(1)
mcsysinfoc(3)
.SH URL
http://www.MagniComp.com/sysinfo