Plan 9 from Bell Labs’s /usr/web/sources/patch/sorry/ndbqrybio/readme

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


use bio for ndb/query's output.  this is a significant help with only 20ms
lag between terminal and cpu; makes a very large difference even at 3ms
for intensive scripted queries.  e.g.  (sorry, this is my version of rc that
has "break".  i'm also assuming a class C network.  you get the point.)

#!/usr/quanstro/bin/386/rc
rfork e
net = `{ndb/query ipnet $site ip |sed s:\.0::g}
aflag = 0
vflag = 0

for(i)
	switch($1){
	case -a
		aflag = 1;
		shift;
	case -v
		aflag = 1;
		vflag = 1;
		shift
	case *
		echo 'usage: freeip [-a] [-v]'>[1=2]
		exit usage
	}
	
for(i in `{seq 1 253}){
	r = `{ndb/query ip $net^.$i ip}
	q = `{ndb/query 10gip $net^.$i 10gip}

	# it's illegal to have a duplicate ip and 10gip, unless
	# the host is the same.
	all=($r $q)
	if(! ~ $#all 0 1){
		a = `{ndb/query ip $net^.$i sys}
		b = `{ndb/query 10gip $net^.$i sys}
		if(! ~ $#a 1 && ! ~ $"a $"b){
			echo error $net^.$i >[1=2]
			echo '	' ip '	' $a>[1=2]
			echo '	' 10gip '	' $b>[1=2]
		}

	}
	if(~ $vflag 0)
	if(! ~ $r ?* && ! ~ $q ?*){
		echo $net^.$i
		if (~ $aflag 0)
			break
	}
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].