/*
 * $Copyright:	$
 * Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990 
 * Sequent Computer Systems, Inc.   All rights reserved.
 *  
 * This software is furnished under a license and may be used
 * only in accordance with the terms of that license and with the
 * inclusion of the above copyright notice.   This software may not
 * be provided or otherwise made available to, or used by, any
 * other person.  No title to or ownership of the software is
 * hereby transferred.
 */

/*
 * ZDC configuration structures.
 * 
 * ioconf.h contains structure definitions for items generated by
 * config for the zdc controller.
 */

/*
 * $Log:	ioconf.h,v $
 */

#define	ANY	-1		/* Wildcard */

/*
 * The zdc_conf structure provides the input to drive
 * the autoconfiguration of zdc disk drives.
 */
struct	zdc_conf {
	struct	zdc_driver *zc_driver;		/* -> per-driver data */
	int	zc_nent;			/* # entries in zdc_dev[] */
	struct	zdc_dev    *zc_dev;		/* describes related HW */
};

/*
 * This is a stub for the zdc driver.
 */
struct	zdc_driver {
	char	*zcd_name;		/* name, eg "zd" (no digit) */
};

/*
 * zdc_conf (zc_dev) entry points at array of zdc_dev's; each zdc_dev structure
 * describes a single zdc disk drive.
 *
 * After conf_zdc(), probe_zdc_devices is called to resolve any wildcarding
 * of drives given the following as input.
 */
struct	zdc_dev {
	int 	zdv_idx;		/* zdc index;	-1 == wildcard */
	int 	zdv_drive;		/* drive index; -1 == wildcard */
	int	zdv_drive_type;		/* Drive type index; -1 == wildcard */
};

/*
 * These are generated in ioconf.c by configuration utilities.
 */
#ifdef	KERNEL
extern	struct	zdc_conf zdc_conf[];
extern	struct	zdc_dev zdc_zd[];
#endif	KERNEL
