
package main;
;#----------------------------------------------------------------------------
;# linux.pl : Linux サーバ内ファイル表示 Perl パッケージ
;# http://www.junkperl.com/
;# Copyright (C) 2006- By HeRO
;# Ver 1.00 2006/08/16
;#
;# このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェア
;# 財団によって発行された GNU 一般公衆利用許諾契約書(バージョン2か、希望によっ
;# てはそれ以降のバージョンのうちどれか)の定める条件の下で再頒布または改変する
;# ことができます。
;#
;# このプログラムは有用であることを願って頒布されますが、*全くの無保証* です。
;# 商業可能性の保証や特定の目的への適合性は、言外に示されたものも含め全く存在
;# しません。詳しくはGNU 一般公衆利用許諾契約書をご覧ください。
;#
;# あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を一部受け
;# 取ったはずです。もし受け取っていなければ、フリーソフトウェア財団まで請求し
;# てください(宛先は the Free Software Foundation, Inc., 59 Temple Place,
;# Suite 330, Boston, MA 02111-1307 USA)。
;#----------------------------------------------------------------------------
sub get_cpuinfo
{
	local( $vendor, $model, $cpu, $cache ) = @_;
	local( $info, $rec, @recs );
	$info = "/proc/cpuinfo";
	if( -e $info ){
		&read_recs_ref( $info, *recs );
		foreach $rec ( @recs ){
			$_[0] = $1 if $rec =~ /vendor_id\s*:\s*(.+)/i;
			$_[1] = $1 if $rec =~ /model\s*name\s*:\s*(.+)/i;
			$_[2] = $1." MHz" if $rec =~ /cpu\s*MHz\s*:\s*(.+)/i;
			$_[3] = $1 if $rec =~ /cache\s*size\s*:\s*(.+)/i;
		}
	}
	else{
		$ERR_MSG = "解析不能\です";
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------
sub get_raminfo
{
	local( $total, $free, $swaptotal, $swapfree ) = @_;
	local( $info, $rec, @recs );
	$info = "/proc/meminfo";
	if( -e $info ){
		&read_recs_ref( $info, *recs );
		foreach $rec ( @recs ){
			$_[0] = &s3c($1)." Kbyte" if $rec =~ /MemTotal:\s*(.+)\s*kB/i;
			$_[1] = &s3c($1)." Kbyte" if $rec =~ /MemFree:\s*(.+)\s*kB/i;
			$_[2] = &s3c($1)." Kbyte" if $rec =~ /SwapTotal:\s*(.+)\s*kB/i;
			$_[3] = &s3c($1)." Kbyte" if $rec =~ /SwapFree:\s*(.+)\s*kB/i;
		}
	}
	else{
		$ERR_MSG = "解析不能\です";
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------
sub get_destributioninfo
{
	local( *des ) = @_;
	local( @dirs, @recs, $flag );
	&get_dir( "/etc/", *dirs );
	$flag = 0;
	foreach my $dir ( @dirs ){
		if( $dir =~ /-release$/ ){
			&read_recs_ref( "/etc/$dir", *recs );
			push @des, $recs[0];
			$flag = 1;
		}
	}
	if( $flag == 0 ){
		$ERR_MSG = "解析不能\です";
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------

1;

