ref: dc0f1ae1028206a548cc5fad15631d79c212e48a
dir: /rc/bin/sysinfo/
#!/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 usbtree 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