# $Header: Ptdpm7.pm 31-dec-2003.11:38:10 skumar Exp $ # # Package : Ptdpm7.pm # # Copyright (c) 2002, 2003, Oracle Corporation. All rights reserved. # # NAME # Ptdpm7.pm # # DESCRIPTION # Collects opertating system details # # NOTES # # MODIFIED (MM/DD/YY) # nsharma 03/22/06 - Correct the hardware bitmode reporting # mgoodric 11/17/04 - add MGMT_HC_xxx tablenames # mgoodric 09/27/04 - code cleanup # skumar 12/31/03 - AIX changes # mgoodric 05/11/03 - added -debug tracing # mgoodric 04/08/03 - fix finding MAC address # goramamo 08/16/02 - 904 Changes # xxu 06/25/02 - remove /usr/local/bin/perl # goramamo 06/02/02 - GIT5 Changes # jmansur 05/07/02 - sort kernel params by name # aarasu 05/06/02 - aarasu_goramamo020506 # goramamo 05/01/02 - Created by separating OS subroutines # from Ptdpm1.pm # ##************************************************************* use strict; package Ptdpm7; use Carp; require 5.005; #require 5.6.1; require Exporter; use Ptdpm0; use Ptdpm2; use Ptdpm3; use Ptdpm9; use Ptdpm11; use Ptdpm15; use Ptdpm16; #****************************************** # Global Variables #****************************************** use constant NIL => ''; #****************************************** # Export Subroutines #****************************************** @Ptdpm7::ISA = ('Exporter'); @Ptdpm7::EXPORT = qw( &getOSSummary ); #****************************************** # Exported Subroutines #****************************************** sub getOSSummary { debugTrace('Calling... getOSSummary()'); #Arguments: #Outputs : array containing #Function : returns os summary my (@os) = (); my (@ossum) = (); my $i = 0; $os[0] = getOSName(); $os[1] = getOSrelease(); $os[2] = getOSversion(); $ossum[$i] = joinValue($Ptdpm2::OS_TAG, $os[0]); $i++; if (index($os[0], 'SunOS') > -1) { $ossum[$i] = joinValue($Ptdpm2::OS_VENDOR_TAG, 'Sun Microsystems'); } else { $ossum[$i] = joinValue($Ptdpm2::OS_VENDOR_TAG, 'IBM Corporation'); } $i++; $ossum[$i] = joinValue($Ptdpm2::OS_BASE_VERSION_TAG, $os[1]); $i++; $ossum[$i] = joinValue($Ptdpm2::OS_UPDATE_LEVEL_TAG, $os[2]); $i++; my ($swap) = getMaxSwapSpace(); $swap = sprintf('%.3f', (trim($swap)) / (1024 * 1024)); $ossum[$i] = joinValue($Ptdpm2::OS_MAX_SWAP_SPACE_IN_MB_TAG, $swap); $i++; #my($dist) = getOSDistributorVersion(); $ossum[$i] = joinValue($Ptdpm2::OS_DISTRIBUTOR_VERSION_TAG, $Ptdpm2::NOT_APPLICABLE); $i++; chomp(my $mach = `$Ptdpm0::GETCONF HARDWARE_BITMODE`); $ossum[$i++] = joinValue($Ptdpm2::OS_ADDRESS_LENGTH_IN_BITS_TAG, "${mach}-bit"); @ossum = trim1DimArrayAfterSplit(@ossum); @ossum = verifyNotNullFields($Ptdpm2::MGMT_HC_OS_SUMMARY, \@ossum); if (scalar(@ossum) > 0) { @ossum = verifyNumericFields($Ptdpm2::MGMT_HC_OS_SUMMARY, \@ossum); } return @ossum; } 1; # End of the Program