]> git.lizzy.rs Git - plan9front.git/blobdiff - rc/bin/sysinfo
tlshand: fix mpint to bytes conversion, reorganize send/recv buffer, check for overfl...
[plan9front.git] / rc / bin / sysinfo
index ae132ef602afb6a83258ab109e5cb43e0d5569b7..3a4e890ef9c03cbb4716cfdeeda90fe0aa7693ff 100755 (executable)
@@ -1,51 +1,82 @@
 #!/bin/rc
 rfork e
-
-fn logprog{ 
-        echo % `{echo $"* | sed 's/#/''#''/g'} 
-        $* 
-        echo 
-
-} 
-
-fn work{ 
-        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/swap' 
-        logprog cat '#c/sysstat' 
-        logprog awk '/^Plan 9$/{p=1} 
-/^init: starting/{exit} 
-{if(p)print}' '#c/kmesg' 
-        logprog pci -v 
-        logprog aux/icanhasmsi 
-        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 '#l/ether'*){ 
-                logprog cat $i/addr 
-                logprog cat $i/stats 
-                logprog cat $i/ifstats 
-        } 
-        logprog cat '#v/vgactl' 
-        echo '@{rfork n; aux/realemu; aux/vga -p}' 
-        @{rfork n; aux/realemu; aux/vga -p} 
-        logprog xd -x1 '#r/nvram' 
-        logprog cat '#A/audiostat' 
-        logprog cat '#A/volume' 
-        logprog cat /mnt/apm/ctl 
-} 
-
-switch($1){ 
-case -m 
-        {echo Subject: `{cat '#P/cputype'}; work} >[2=1] | 
-                user=/dev/null upas/smtp 9front.org $user hardware@9front.org 
-case * 
-        work
+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/swap'
+       logprog cat '#c/sysstat'
+       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/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
+               }
+       }
+       logprog cat '#v/vgactl'
+       echo '@{rfork n; aux/realemu; aux/vga -p}'
+       @{rfork n; aux/realemu; aux/vga -p}
+       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