plan9front/rc/bin/sysinfo

87 lines
1.6 KiB
Bash
Executable File

#!/bin/rc
rfork e
fn logprog{
echo % `{echo $"* | sed 's/#/''#''/g'}
$*
echo
}
fn print{
echo '% cd ''#ec''; for(i in *){echo $i ''='' `{cat $i}}'
cd '#ec'; for(i in *){echo $i '=' `{cat $i}}
echo
logprog cat '#P/archctl'
logprog cat '#P/irqalloc'
logprog cat '#P/ioalloc'
logprog cat '#c/config'
logprog cat '#c/sysstat'
logprog cat '#¶/swap'
logprog awk '/^Plan 9/{p=1}
/^init: starting/{exit}
{if(p)print}' '#c/kmesg'
logprog pci -v
logprog aux/cpuid
logprog aux/icanhasmsi
logprog aux/icanhasvmx -v
logprog aux/pcmcia
logprog cat '#u/usb/ctl'
logprog cat '#S/sdctl'
for(i in '#S'/sd[A-Z][0-9]*/ctl)
logprog cat $i
for(i in '#l0/ether0' '#l1/ether1' '#l2/ether2' '#l3/ether3'){
if(test -e $i){
logprog cat $i/addr
logprog cat $i/stats
logprog cat $i/ifstats
}
}
if(test -e '#v/vgactl'){
logprog cat '#v/vgactl'
echo '@{rfork n; aux/realemu; aux/vga -p}'
@{rfork n; aux/realemu; aux/vga -p}
}
if(~ $cputype 386 amd64)
logprog xd -x1 '#r/nvram'
logprog cat '#A/audiostat'
logprog cat '#A/volume'
logprog cat /mnt/apm/ctl
}
fn post{
file=/tmp/sysinfo.$user.$pid
if(! ~ $#e 0)
echo $e >$file
print >>$file >[2=1]
@{
rfork n
webfs
hpost -u http://sysinfo.9front.org -p / a_body@$file submit:submit fake:fake a_func:add_post url: |
grep -e '\/body\"' |
sed 1q | sed 's/^.*href=\"//g; s/body\".*$/body/g'
rm -f $file
}
}
argv0=$0
fn usage {
echo usage: $argv0 '[ -e e-mail ] [ -p ]' >[1=2]
exit usage
}
e=()
p=()
while(~ $1 -*){
switch($1){
case -e
e=$2
shift
case -p
p=1
shift
case *
usage
}
shift
}
if(~ $p 1)
post
if not
print