home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
-
- do 'sizeof.h' || die "can't do sizeof.h";
- do 'syscall.h' || die "can't do syscall.h";
- do 'sys/sysinfo.h' || die "can't do sys/sysinfo.h";
-
- $sysinfo = '.' x &SYSINFO_SIZE; # pre-extend
-
- syscall(&SYS_getsysinfo, &SYSINFO_SIZE, $sysinfo)
- && die "getsysinfo syscall failed"; # syscalls return -1 on error
-
- ( $cpu_id, $cpu_type, $cpu_count, $cpu_flags0, $cpu_flags1 )
- = unpack('SCCLL', $sysinfo);
-
- foreach $field ('id','type','count','flags0','flags1') {
- eval "printf \"%-6s is %d\n\", '$field', \$cpu_$field";
- }
-