xref: /plan9/rc/bin/C (revision b751ae26be1094fda8622607119a26860f1833ab)
114414594SDavid du Colombier#!/bin/rc
2*c717cbbdSDavid du Colombier# C system - connect to system's console
3*c717cbbdSDavid du Colombierrfork en
46b6b9ac8SDavid du Colombieroflag=()
5425afbabSDavid du Colombieropt=-r
66b6b9ac8SDavid du Colombierwhile(~ $1 -*)
714414594SDavid du Colombier	switch($1){
814414594SDavid du Colombier	case -r
914414594SDavid du Colombier		shift
1014414594SDavid du Colombier		opt=''
116b6b9ac8SDavid du Colombier	case -O -o
126b6b9ac8SDavid du Colombier		oflag=-O
136b6b9ac8SDavid du Colombier		shift
1414414594SDavid du Colombier	case *
1514414594SDavid du Colombier		opt=-r
166b6b9ac8SDavid du Colombier		shift
1714414594SDavid du Colombier	}
1814414594SDavid du Colombier
196b6b9ac8SDavid du Colombierswitch($1){
20ab3dc52fSDavid du Colombiercase ella
21ab3dc52fSDavid du Colombier	exec C office0
22ab3dc52fSDavid du Colombier	exit
236b6b9ac8SDavid du Colombiercase erika
246b6b9ac8SDavid du Colombier	exec C office1
256b6b9ac8SDavid du Colombier	exit
26ab3dc52fSDavid du Colombiercase *
276b6b9ac8SDavid du Colombier	# look for server in /lib/ndb
286b6b9ac8SDavid du Colombier	server=`{ndb/query sys $1 console}
296b6b9ac8SDavid du Colombier	switch($server){
306b6b9ac8SDavid du Colombier	case ''
316b6b9ac8SDavid du Colombier		echo C: unknown console server for $1
326b6b9ac8SDavid du Colombier		exit 1
336b6b9ac8SDavid du Colombier	}
34ab3dc52fSDavid du Colombier}
356b6b9ac8SDavid du Colombier
366b6b9ac8SDavid du Colombier# can't cpu to old servers any more
376b6b9ac8SDavid du Colombierswitch($server){
386b6b9ac8SDavid du Colombiercase dinar bones
396b6b9ac8SDavid du Colombier	ssh $server C $1
406b6b9ac8SDavid du Colombier	exit 0
416b6b9ac8SDavid du Colombier}
4214414594SDavid du Colombier
4314414594SDavid du Colombierif(! test -e /mnt/consoles/$1){
4414414594SDavid du Colombier	switch($sysname){
4514414594SDavid du Colombier	case $server
4614414594SDavid du Colombier		mount /srv/consoles /mnt/consoles
4714414594SDavid du Colombier	case *
486b6b9ac8SDavid du Colombier		import $oflag $server /mnt/consoles
4914414594SDavid du Colombier	}
5014414594SDavid du Colombier}
5114414594SDavid du Colombier
5214414594SDavid du Colombierif(! test -e /mnt/consoles/$1 && test -e /srv/consoles)
5314414594SDavid du Colombier	mount /srv/consoles /mnt/consoles
5414414594SDavid du Colombier
5514414594SDavid du Colombierif(! test -e /mnt/consoles/$1){
5614414594SDavid du Colombier	echo console not found
5714414594SDavid du Colombier	exit 'console not found'
5814414594SDavid du Colombier}
5914414594SDavid du Colombier
60*c717cbbdSDavid du Colombierif (test -w /dev/label) {
61*c717cbbdSDavid du Colombier	olab=`{cat /dev/label}
62*c717cbbdSDavid du Colombier	label $1
63*c717cbbdSDavid du Colombier}
6414414594SDavid du Colombiercon -l $opt /mnt/consoles/$1
65*c717cbbdSDavid du Colombierif (test -w /dev/label)
66*c717cbbdSDavid du Colombier	label $olab
67