struct	ahc_tmode_tstate *tstate; u_int	oldwidth; int	active; int	update_needed;  active = (type & AHC_TRANS_ACTIVE) == AHC_TRANS_ACTIVE; update_needed = 0; tinfo = ahc_fetch_transinfo(ahc, devinfo->channel, devinfo->our_scsiid,
struct	tmode_tstate *tstate; u_int	old_period; u_int	old_offset; int	active = (type & AHC_TRANS_ACTIVE) == AHC_TRANS_ACTIVE;  if (syncrate == NULL) { period = 0; offset = 0; }  tinfo = ahc_fetch_transinfo(ahc, devinfo->channel, devinfo->our_scsiid,
ahc_set_width(struct ahc_softc *ahc, struct ahc_devinfo *devinfo,	      u_int width, u_int type, int paused){	struct	ahc_initiator_tinfo *tinfo;	struct	ahc_tmode_tstate *tstate;	u_int	oldwidth;	int	active;	int	update_needed;	active = (type & AHC_TRANS_ACTIVE) == AHC_TRANS_ACTIVE;	update_needed = 0;	tinfo = ahc_fetch_transinfo(ahc, devinfo->channel, devinfo->our_scsiid,				    devinfo->target, &tstate);	if ((type & AHC_TRANS_USER) != 0)		tinfo->user.width = width;	if ((type & AHC_TRANS_GOAL) != 0)		tinfo->goal.width = width;	oldwidth = tinfo->curr.width;	if ((type & AHC_TRANS_CUR) != 0 && oldwidth != width) {		u_int	scsirate;		update_needed++;		scsirate =  tinfo->scsirate;		scsirate &= ~WIDEXFER;		if (width == MSG_EXT_WDTR_BUS_16_BIT)			scsirate |= WIDEXFER;		tinfo->scsirate = scsirate;		if (active)			ahc_outb(ahc, SCSIRATE, scsirate);		tinfo->curr.width = width;		ahc_send_async(ahc, devinfo->channel, devinfo->target,			       CAM_LUN_WILDCARD, AC_TRANSFER_NEG, NULL);		if (bootverbose) {			printf("%s: target %d using %dbit transfers\n",			       ahc_name(ahc), devinfo->target,			       8 * (0x01 << width));		}	}	update_needed += ahc_update_neg_request(ahc, devinfo, tstate,						tinfo, /*force*/FALSE);	if (update_needed)		ahc_update_pending_scbs(ahc);}