4.4BSD/usr/src/sys/tahoe/stand/vdformat/online/list.c

Compare this file to the similar file:
Show the results in this format:

#ifndef lint
static char sccsid[] = "@(#)list.c	1.2 (Berkeley/CCI) 11/23/87";
#endif

#include	"vdfmt.h"


/*
**	Lists all the operations specified so far.
*/

list()
{
	register int	ctlr, drive;
	boolean		can_do = false;

	/* Determine if there are any operations to do */
	for(ctlr=0; ctlr<MAXCTLR; ctlr++)
		for(drive=0; drive<MAXDRIVE; drive++) {
			if(ops_to_do[ctlr][drive].op)
				can_do = true;
		}
	if(can_do == false) {
		indent();
		print("There are no operations to list!\n\n");
		exdent(1);
		return;
	}
	indent();
	print("The following operations will occur when Start is issued:\n");
	indent();
	for(ctlr=0; ctlr<MAXCTLR; ctlr++)
		for(drive=0; drive<MAXDRIVE; drive++)
			if(ops_to_do[ctlr][drive].op != 0) {
				print("");  /* force an indent */
				display_operations(ctlr, drive);
			}
	exdent(2);
}


/*
**
*/

display_operations(ctlr, drive)
register int	ctlr, drive;
{
	print_op_list(ops_to_do[ctlr][drive].op);
	printf(": Controller %d, drive %d", ctlr, drive);
	printf(", type %s.\n", d_info[ctlr][drive].label.d_typename);
}


/*
**
*/

print_op_list(ops)
int	ops;
{
	register int	cur_op;
	char		*prefix = "";

	for(cur_op=0; cur_op<NUMOPS; cur_op++) {
		if(ops & (1 << cur_op)) {
			printf("%s%s", prefix, operations[cur_op].op_name);
			prefix = ", ";
		}
	}
}