int retries;
int	atapi_poll_wait __P((int (*) __P((void *)), void *, int, int, char *));void    atapi_to_scsi_sense __P((struct scsi_xfer *, u_int8_t));struct atapiscsi_softc {	struct device  sc_dev;	struct  scsi_link  sc_adapterlink;	struct channel_softc *chp;	enum atapi_state { as_none, as_cmdout, as_data } protocol_phase;	int diagnostics_printed;#define ATAPI_DIAG_UNEXP_CMD  0x01#define ATAPI_DIAG_POLARITY   0x02};static struct scsi_adapter atapiscsi_switch = {	wdc_atapi_send_cmd,	wdc_atapi_minphys,	NULL,	NULL,};static struct scsi_device atapiscsi_dev = {	NULL,	NULL,	NULL,	NULL,};/* Inital version shares bus_link structure so it can easily   be "attached to current" wdc driver */struct cfattach atapiscsi_ca = {	sizeof(struct atapiscsi_softc), atapiscsi_match, atapiscsi_attach};struct cfdriver atapiscsi_cd = {	NULL, "atapiscsi", DV_DULL};intatapiscsi_match(parent, match, aux)	struct device *parent;	void *match, *aux;{	struct ata_atapi_attach *aa_link = aux;	struct cfdata *cf = match;	if (aa_link == NULL)		return (0);	if (aa_link->aa_type != T_ATAPI)		return (0);	if (cf->cf_loc[0] != aa_link->aa_channel &&	    cf->cf_loc[0] != -1)		return (0);	return (1);}