]> git.lizzy.rs Git - plan9front.git/blob - rc/bin/sysinfo
merge
[plan9front.git] / rc / bin / sysinfo
1 #!/bin/rc
2 rfork e
3 fn logprog{
4         echo % `{echo $"* | sed 's/#/''#''/g'}
5         $*
6         echo
7 }
8 fn print{
9         echo '% cd ''#ec''; for(i in *){echo $i ''='' `{cat $i}}'
10         cd '#ec'; for(i in *){echo $i '=' `{cat $i}}
11         echo
12         logprog cat '#P/archctl'
13         logprog cat '#P/irqalloc'
14         logprog cat '#P/ioalloc'
15         logprog cat '#c/config'
16         logprog cat '#c/sysstat'
17         logprog cat '#ΒΆ/swap'
18         logprog awk '/^Plan 9/{p=1}
19 /^init: starting/{exit}
20 {if(p)print}' '#c/kmesg'
21         logprog pci -v
22         logprog aux/cpuid
23         logprog aux/icanhasmsi
24         logprog aux/icanhasvmx -v
25         logprog aux/pcmcia
26         logprog cat '#u/usb/ctl'
27         logprog cat '#S/sdctl'
28         for(i in '#S'/sd[A-Z][0-9]*/ctl)
29                 logprog cat $i
30         for(i in '#l0/ether0' '#l1/ether1' '#l2/ether2' '#l3/ether3'){
31                 if(test -e $i){
32                         logprog cat $i/addr
33                         logprog cat $i/stats
34                         logprog cat $i/ifstats
35                 }
36         }
37         if(test -e '#v/vgactl'){
38                 logprog cat '#v/vgactl'
39                 echo '@{rfork n; aux/realemu; aux/vga -p}'
40                 @{rfork n; aux/realemu; aux/vga -p}
41         }
42         if(~ $cputype 386 amd64)
43                 logprog xd -x1 '#r/nvram'
44         logprog cat '#A/audiostat'
45         logprog cat '#A/volume'
46         logprog cat /mnt/apm/ctl
47 }
48 fn post{
49         file=/tmp/sysinfo.$user.$pid
50         if(! ~ $#e 0)
51                 echo $e >$file
52         print >>$file >[2=1] 
53         @{
54                 rfork n
55                 webfs
56                 hpost -u http://sysinfo.9front.org -p / a_body@$file submit:submit fake:fake a_func:add_post url: |
57                         grep -e '\/body\"' |
58                         sed 1q | sed 's/^.*href=\"//g; s/body\".*$/body/g'
59                 rm -f $file
60         }
61 }
62 argv0=$0
63 fn usage {
64         echo usage: $argv0 '[ -e e-mail ] [ -p ]' >[1=2]
65         exit usage
66 }
67 e=()
68 p=()
69 while(~ $1 -*){
70         switch($1){
71         case -e
72                 e=$2
73                 shift
74         case -p
75                 p=1
76                 shift
77         case *
78                 usage
79         }
80         shift
81 }
82 if(~ $p 1)
83         post
84         
85 if not
86         print