From mcsi@agava.com  Thu Oct 10 03:58:31 2002
Return-Path: <mcsi@agava.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 7D13337B401
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 10 Oct 2002 03:58:31 -0700 (PDT)
Received: from relay2.agava.net.ru (ofc.agava.net [195.161.118.6])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 76AA343E97
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 10 Oct 2002 03:58:29 -0700 (PDT)
	(envelope-from mcsi@agava.com)
Received: from ultra.domain (ultra.domain [192.168.1.58])
	by relay2.agava.net.ru (Postfix) with ESMTP id 298EE4772A7
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 10 Oct 2002 14:58:27 +0400 (MSD)
Received: from ultra.domain (localhost [127.0.0.1])
	by ultra.domain (8.12.6/8.12.5) with ESMTP id g9AB01aU096649
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 10 Oct 2002 15:00:01 +0400 (MSD)
	(envelope-from mcsi@ultra.domain)
Received: (from root@localhost)
	by ultra.domain (8.12.6/8.12.6/Submit) id g9AB01UN096648;
	Thu, 10 Oct 2002 15:00:01 +0400 (MSD)
Message-Id: <200210101100.g9AB01UN096648@ultra.domain>
Date: Thu, 10 Oct 2002 15:00:01 +0400 (MSD)
From: Maxim Maximov <mcsi@agava.com>
Reply-To: Maxim Maximov <mcsi@agava.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: fix build of misc/ezload
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         43889
>Category:       ports
>Synopsis:       fix build of misc/ezload
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    n_hibma
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 10 04:00:19 PDT 2002
>Closed-Date:    Fri Nov 29 02:37:34 PST 2002
>Last-Modified:  Fri Nov 29 02:37:34 PST 2002
>Originator:     Maxim Maximov
>Release:        FreeBSD 4.7-RC i386
>Organization:
>Environment:
System: FreeBSD ultra.domain 4.7-RC FreeBSD 4.7-RC #9: Fri Oct 4 12:38:44 MSD 2002 mcsi@ultra.domain:/usr/obj/usr/src/sys/ULTRA i386


	
>Description:
	
fixing the build of misc/ezload by adjusting struct members names from dev/usb/usb.h
>How-To-Repeat:
	
>Fix:

--- ezupload/ezupload.c.orig	Thu Oct 10 14:33:34 2002
+++ ezupload/ezupload.c	Thu Oct 10 14:34:49 2002
@@ -179,15 +179,15 @@
 			l = en-at;
 
 #ifdef BSD
-		ur.request.bmRequestType= 0xC0;		/* see Anchor TRM v1.6 page 64 */
-		ur.request.bRequest 	= 0xA0; 	/* Anchor Down/Upload */
+		ur.ucr_request.bmRequestType= 0xC0;		/* see Anchor TRM v1.6 page 64 */
+		ur.ucr_request.bRequest 	= 0xA0; 	/* Anchor Down/Upload */
 
-		USETW(ur.request.wValue,at);		/* Starting Address */
-		USETW(ur.request.wIndex,0);		/* unused */
-		USETW(ur.request.wLength,l);		/* payload len in bytes */
+		USETW(ur.ucr_request.wValue,at);		/* Starting Address */
+		USETW(ur.ucr_request.wIndex,0);		/* unused */
+		USETW(ur.ucr_request.wLength,l);		/* payload len in bytes */
 	
-		ur.flags = 0;
-		ur.actlen = 0;
+		ur.ucr_flags = 0;
+		ur.ucr_actlen = 0;
 #else
                 ur.requesttype= 0xC0;           /* see Anchor TRM v1.6 page 64 */
                 ur.request      = 0xA0;         /* Anchor Down/Upload */
@@ -195,7 +195,7 @@
                 ur.index = 0;           /* unused */
                 ur.length = l;          /* payload len in bytes */
 #endif
-		ur.data	= (void *)d;
+		ur.ucr_data	= (void *)d;
 
 #ifdef BSD
         	if(ioctl(fd, USB_DO_REQUEST,&ur)) {
@@ -207,7 +207,7 @@
 			break;
 		}
 #ifdef BSD
-		if (ur.actlen != l) {
+		if (ur.ucr_actlen != l) {
 			fprintf(stderr,"Failed to get full %d chunk at adr %X: %s\nAborted\n",
 				l,at,strerror(errno));
 			break;
--- ezdownload/ezdownload.c.orig	Thu Oct 10 14:36:01 2002
+++ ezdownload/ezdownload.c	Thu Oct 10 14:51:28 2002
@@ -268,13 +268,13 @@
 	int err;
 
 #ifdef BSD
-	ur.request.bmRequestType= 0x40;		/* see TRM v1.6 page 64 */
-	ur.request.bRequest = 0xA0;		/* Anchor Download */
-	USETW(ur.request.wValue, at);		/* Starting Address */
-	USETW(ur.request.wIndex, 0);		/* unused */
-	USETW(ur.request.wLength, len);		/* payload len in bytes */
-	ur.flags = 0;
-	ur.actlen = 0;
+	ur.ucr_request.bmRequestType= 0x40;		/* see TRM v1.6 page 64 */
+	ur.ucr_request.bRequest = 0xA0;		/* Anchor Download */
+	USETW(ur.ucr_request.wValue, at);		/* Starting Address */
+	USETW(ur.ucr_request.wIndex, 0);		/* unused */
+	USETW(ur.ucr_request.wLength, len);		/* payload len in bytes */
+	ur.ucr_flags = 0;
+	ur.ucr_actlen = 0;
 #else
 	ur.requesttype= 0x40;           /* see TRM v1.6 page 64 */
 	ur.request = 0xA0;              /* Anchor Download */
@@ -282,7 +282,7 @@
 	ur.index = 0;                   /* unused */
 	ur.length = len;                /* payload len in bytes */
 #endif
-	ur.data	= (void *) d;
+	ur.ucr_data	= (void *) d;
 
 	/* Although USB does not limit you here, the Anchor docs
    	 * quote 64 as a limit, and Mato@activewireinc.com suggested
@@ -304,7 +304,7 @@
 		return err;
 
 #ifdef BSD
-	if (ur.actlen != len)
+	if (ur.ucr_actlen != len)
 		return EAGAIN;			/* or too obscure ? */
 #endif
 
@@ -386,16 +386,29 @@
 	};
 #define	SURE(x) (((x!=NULL) && (*x !='\0')) ? x : "<not defined>")
 	if (verbose)
+#ifdef BSD
+		printf("Device information: vendor %04x (%s) product %04x (%s) rev 0x%04x addr %x\n",
+			udi.udi_vendorNo, SURE(udi.udi_vendor), 
+			udi.udi_productNo, SURE(udi.udi_product),
+			udi.udi_releaseNo, udi.udi_addr);
+#else
 		printf("Device information: vendor %04x (%s) product %04x (%s) rev 0x%04x addr %x\n",
 			udi.vendorNo, SURE(udi.vendor), 
 			udi.productNo, SURE(udi.product),
 			udi.releaseNo, udi.addr);
+#endif
 
 	/* standard setup for AnchorChips ISAIK
 	 */
+#ifdef BSD
+        ai.uai_config_index         = 0;
+        ai.uai_interface_index      = 0;
+        ai.uai_alt_no               = 0;
+#else
         ai.config_index         = 0;
         ai.interface_index      = 0;
         ai.alt_no               = 0;
+#endif
 
         if ( ioctl(fd, USB_SET_ALTINTERFACE, &ai) == -1 ) {
                 fprintf(stderr, "ioctl 1 returned: %s\n",
@@ -425,8 +438,13 @@
 			/* XXX  is the revision # really hardware specific ? Is it a string
 			 *	or a BCD number ? 
 			 */
+#ifdef BSD
+			snprintf(tmp,sizeof(tmp),"%s/%04x.%04x.%04x.hex",
+				dir,udi.udi_vendorNo,udi.udi_productNo,udi.udi_releaseNo);
+#else
 			snprintf(tmp,sizeof(tmp),"%s/%04x.%04x.%04x.hex",
 				dir,udi.vendorNo,udi.productNo,udi.releaseNo);
+#endif
 
 			/* we could just do a loop through the directory
 			 * and slack compare ?
@@ -439,9 +457,15 @@
 				printf("No %s\n",tmp);
 		};
 		if (!hexfile) {
+#ifdef BSD
+			fprintf(stderr,"No hexfile with firmware for "
+				"%04x.%04x.%04x available.\n",
+				udi.udi_vendorNo,udi.udi_productNo,udi.udi_releaseNo);
+#else
 			fprintf(stderr,"No hexfile with firmware for "
 				"%04x.%04x.%04x available.\n",
 				udi.vendorNo,udi.productNo,udi.releaseNo);
+#endif
 			if (!force) return(1);
 		};
 	} else {
@@ -453,8 +477,13 @@
 		else
 			l++;
 
+#ifdef BSD
+		snprintf(tmp,sizeof(tmp),"%04x.%04x.%04x",
+			udi.udi_vendorNo,udi.udi_productNo,udi.udi_releaseNo);
+#else
 		snprintf(tmp,sizeof(tmp),"%04x.%04x.%04x",
 			udi.vendorNo,udi.productNo,udi.releaseNo);
+#endif
 
 		if (strncmp(l,tmp,strlen(tmp))) {
 			fprintf(stderr,"The firmware specified does not match the device: %s\n",tmp);
--- aw/aw.c.orig	Thu Oct 10 14:51:43 2002
+++ aw/aw.c	Thu Oct 10 14:55:06 2002
@@ -83,15 +83,26 @@
 #define SURE(x) \
 	(((x!=NULL) && (*x !='\0')) ? x : "<not defined>")
 
+#ifdef __FreeBSD__
+        printf("Device information: vendor %04x (%s) product %04x (%s) rev %s addr %x\n",
+                        udi.udi_vendorNo, SURE(udi.udi_vendor), 
+                        udi.udi_productNo, SURE(udi.udi_product),
+                        SURE(udi.udi_release), udi.udi_addr);
+#else
         printf("Device information: vendor %04x (%s) product %04x (%s) rev %s addr %x\n",
                         udi.vendorNo, SURE(udi.vendor), 
                         udi.productNo, SURE(udi.product),
                         SURE(udi.release), udi.addr);
+#endif
 	close(fd);
 
 	/* vendor 0854 (ActiveWire, Inc.) product 0101 (ActiveWire USB) rev 0.00 
 	 */
+#ifdef __FreeBSD__
+	if ((udi.udi_vendorNo != 0x854) || (udi.udi_productNo != 0x101)) {
+#else
 	if ((udi.vendorNo != 0x854) || (udi.productNo != 0x101)) {
+#endif
 		fprintf(stderr,"Sorry, does not seem to be an ActiveWire board. Aborted\n");
 		exit(1);
 	}
	


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports->n_hibma 
Responsible-Changed-By: ijliao 
Responsible-Changed-When: Thu Oct 10 11:47:01 PDT 2002 
Responsible-Changed-Why:  
over to maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=43889 
State-Changed-From-To: open->closed 
State-Changed-By: arved 
State-Changed-When: Fri Nov 29 02:37:22 PST 2002 
State-Changed-Why:  
Committed thanks 

http://www.freebsd.org/cgi/query-pr.cgi?pr=43889 
>Unformatted:
