summaryrefslogtreecommitdiff
path: root/comms/mlan
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2000-01-04 22:11:45 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2000-01-04 22:11:45 +0000
commit130997ebdc0d668fb25dd3d03721f5ed03f918cb (patch)
tree39ea4e85907095f427d9b9239f12b93a33bdca48 /comms/mlan
parentupdate from v2.8002[sic].450 to v2.8004.451 (diff)
mlan is a of Dallas Semiconductors "TMEX" API for 1-wire / microlan
devices. Only DS2480 bases serial port attachment is supported. Reviewed by: cpiazza
Notes
Notes: svn path=/head/; revision=24423
Diffstat (limited to 'comms/mlan')
-rw-r--r--comms/mlan/Makefile19
-rw-r--r--comms/mlan/distinfo1
-rw-r--r--comms/mlan/files/patch-aa22
-rw-r--r--comms/mlan/files/patch-ab373
-rw-r--r--comms/mlan/files/patch-ac11
-rw-r--r--comms/mlan/pkg-comment1
-rw-r--r--comms/mlan/pkg-descr6
-rw-r--r--comms/mlan/pkg-plist8
8 files changed, 441 insertions, 0 deletions
diff --git a/comms/mlan/Makefile b/comms/mlan/Makefile
new file mode 100644
index 000000000000..ff03ece81595
--- /dev/null
+++ b/comms/mlan/Makefile
@@ -0,0 +1,19 @@
+# New ports collection makefile for: mlan
+# Version required: 1.03
+# Date created: 4 January 2000
+# Whom: phk
+#
+# $FreeBSD$
+#
+
+DISTNAME= mlpb103
+PKGNAME= mlan-1.03
+CATEGORIES= devel
+MASTER_SITES= ftp://ftp.dalsemi.com/pub/auto_id/public/
+
+MAINTAINER= phk@FreeBSD.org
+
+USE_ZIP= yes
+WRKSRC= ${WRKDIR}
+
+.include <bsd.port.mk>
diff --git a/comms/mlan/distinfo b/comms/mlan/distinfo
new file mode 100644
index 000000000000..393fcff676e4
--- /dev/null
+++ b/comms/mlan/distinfo
@@ -0,0 +1 @@
+MD5 (mlpb103.zip) = 9357520fc32a36fdc4e705d59e0027f0
diff --git a/comms/mlan/files/patch-aa b/comms/mlan/files/patch-aa
new file mode 100644
index 000000000000..f0d32b32bcfb
--- /dev/null
+++ b/comms/mlan/files/patch-aa
@@ -0,0 +1,22 @@
+diff -u --new-file -r ../R1/source/apps/tstmlane/tstmlane.c ./source/apps/tstmlane/tstmlane.c
+--- ../R1/source/apps/tstmlane/tstmlane.c Tue Jun 8 01:03:00 1999
++++ ./source/apps/tstmlane/tstmlane.c Tue Jan 4 21:32:02 2000
+@@ -36,7 +36,6 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <windows.h>
+ #include "mlan.h"
+
+ // external MLan functions to test
+diff -u --new-file -r ../R1/source/lib/userial/ds2480ut.c ./source/lib/userial/ds2480ut.c
+--- ../R1/source/lib/userial/ds2480ut.c Tue Jun 8 01:03:00 1999
++++ ./source/lib/userial/ds2480ut.c Tue Jan 4 21:23:04 2000
+@@ -92,6 +92,7 @@
+ if (WriteCOM(1,sendpacket) != 1)
+ return FALSE;
+
++ sendpacket[sendlen++] = 0xC1;
+ // set the FLEX configuration parameters
+ // default PDSRC = 1.37Vus
+ sendpacket[sendlen++] = CMD_CONFIG | PARMSEL_SLEW | PARMSET_Slew1p37Vus;
diff --git a/comms/mlan/files/patch-ab b/comms/mlan/files/patch-ab
new file mode 100644
index 000000000000..6e35c77d7ccf
--- /dev/null
+++ b/comms/mlan/files/patch-ab
@@ -0,0 +1,373 @@
+diff -u --new-file -r ../R1/examples/freebsd/Makefile ./examples/freebsd/Makefile
+--- ../R1/examples/freebsd/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/Makefile Tue Jan 4 21:25:14 2000
+@@ -0,0 +1,3 @@
++SUBDIR= lib mweather thermodl thermos tstfind tstmlan tstmlane
++
++.include <bsd.subdir.mk>
+diff -u --new-file -r ../R1/examples/freebsd/lib/Makefile ./examples/freebsd/lib/Makefile
+--- ../R1/examples/freebsd/lib/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/lib/Makefile Tue Jan 4 21:40:23 2000
+@@ -0,0 +1,28 @@
++
++MLANDIR= ${.CURDIR}/../../../source/lib/userial
++.PATH: ${.CURDIR} ${MLANDIR}
++LIB= mlan
++CFLAGS= -I. -DUCHAR -Wall
++NOPROFILE= yes
++PREFIX?= /usr/local
++LIBDIR= ${PREFIX}/lib
++
++SRCS= mlanfile.c mlanllu.c mlannetu.c mlansesu.c mlantrnu.c
++SRCS+= ds2480ut.c
++SRCS+= serial.c
++
++serial.c: mlan.h
++
++CLEANFILES+= mlan.h
++
++beforedepend: mlan.h
++ @true
++
++mlan.h: ${MLANDIR}/mlan.h
++ cp ${MLANDIR}/mlan.h .
++
++beforeinstall:
++ ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
++ ${_INSTALLFLAGS} mlan.h ${DESTDIR}/${PREFIX}/include
++
++.include <bsd.lib.mk>
+diff -u --new-file -r ../R1/examples/freebsd/lib/serial.c ./examples/freebsd/lib/serial.c
+--- ../R1/examples/freebsd/lib/serial.c Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/lib/serial.c Tue Jan 4 21:22:19 2000
+@@ -0,0 +1,202 @@
++//---------------------------------------------------------------------------
++// Copyright (C) 1999 Dallas Semiconductor Corporation, All Rights Reserved.
++//
++// Permission is hereby granted, free of charge, to any person obtaining a
++// copy of this software and associated documentation files (the "Software"),
++// to deal in the Software without restriction, including without limitation
++// the rights to use, copy, modify, merge, publish, distribute, sublicense,
++// and/or sell copies of the Software, and to permit persons to whom the
++// Software is furnished to do so, subject to the following conditions:
++//
++// The above copyright notice and this permission notice shall be included
++// in all copies or substantial portions of the Software.
++//
++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++// IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES
++// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++// OTHER DEALINGS IN THE SOFTWARE.
++//
++// Except as contained in this notice, the name of Dallas Semiconductor
++// shall not be used except as stated in the Dallas Semiconductor
++// Branding Policy.
++//---------------------------------------------------------------------------
++//
++// TODO.C - COM functions required by MLANLL.C, MLANTRNU, MLANNETU.C and
++// MLanFile.C for MLANU to communicate with the DS2480 based
++// Universal Serial Adapter 'U'. Fill in the platform specific code.
++//
++// Version: 1.03
++//
++// History: 1.00 -> 1.01 Added function msDelay.
++//
++// 1.01 -> 1.02 Changed to generic OpenCOM/CloseCOM for easier
++// use with other platforms.
++//
++// 1.02 -> 1.03 Removed caps in #includes for Linux capatibility
++// Add function msGettick()
++//
++
++#include "mlan.h"
++#include <fcntl.h>
++#include <unistd.h>
++#include <termios.h>
++#include <sys/time.h>
++
++// exportable functions required for
++// MLANLL.C, MLANTRNU, or MLANNETU.C
++void FlushCOM(void);
++int WriteCOM(int, uchar *);
++int ReadCOM(int, uchar *);
++void BreakCOM(void);
++void msDelay(int);
++void SetBaudCOM(int);
++int OpenCOM(char *);
++void CloseCOM(void);
++long msGettick(void);
++
++static int dsfd;
++static struct termios pstio;
++
++//---------------------------------------------------------------------------
++// Description:
++// flush the rx and tx buffers
++//
++void FlushCOM(void)
++{
++ tcflush(dsfd, TCIOFLUSH);
++}
++
++
++//--------------------------------------------------------------------------
++// Write an array of bytes to the COM port, verify that it was
++// sent out. Assume that baud rate has been set.
++//
++// Returns 1 for success and 0 for failure
++//
++int WriteCOM(int outlen, uchar *outbuf)
++{
++
++ if (outlen == write(dsfd, outbuf, outlen))
++ return 1;
++ return 0;
++}
++
++
++//--------------------------------------------------------------------------
++// Read an array of bytes to the COM port, verify that it was
++// sent out. Assume that baud rate has been set.
++//
++// Returns number of characters read
++//
++int ReadCOM(int inlen, uchar *inbuf)
++{
++ int i, j;
++
++ for(j = 0; j < inlen; ) {
++ i = read(dsfd, inbuf + j, inlen -j);
++ if (i <= 0)
++ break;
++ j += i;
++ }
++ return j;
++}
++
++
++//--------------------------------------------------------------------------
++// Description:
++// Send a break on the com port for at least 2 ms
++//
++void BreakCOM(void)
++{
++ tcsendbreak(dsfd, 1);
++}
++
++
++//--------------------------------------------------------------------------
++// Description:
++// Delay for at least 'len' ms
++//
++void msDelay(int len)
++{
++ usleep(len * 10000);
++}
++
++
++//--------------------------------------------------------------------------
++// Set the baud rate on the com port. The possible baud rates for
++// 'new_baud' are:
++//
++// PARMSET_9600 0x00
++// PARMSET_19200 0x02
++// PARMSET_57600 0x04
++// PARMSET_115200 0x06
++//
++void SetBaudCOM(int new_baud)
++{
++ switch (new_baud) {
++ case 0x00 /* PARMSET_9600 */: cfsetspeed(&pstio, B9600); break;
++ case 0x02 /* PARMSET_19200 */: cfsetspeed(&pstio, B19200); break;
++ case 0x04 /* PARMSET_57600 */: cfsetspeed(&pstio, B57600); break;
++ case 0x06 /* PARMSET_115200 */: cfsetspeed(&pstio, B115200); break;
++ }
++ tcsetattr(dsfd, TCSANOW, &pstio);
++}
++
++
++//---------------------------------------------------------------------------
++// Attempt to open a com port.
++// Set the starting baud rate to 9600.
++//
++// 'port_zstr' - zero terminate port name. Format is platform
++// dependent.
++//
++// Returns: TRUE - success, COM port opened
++//
++int OpenCOM(char *port_zstr)
++{
++ int i;
++
++ dsfd = open(port_zstr, O_RDWR, 0);
++ if (dsfd < 0)
++ return (0);
++ i = tcgetattr(dsfd, &pstio);
++ if (i < 0) {
++ close(dsfd);
++ return (0);
++ }
++ cfmakeraw(&pstio);
++ pstio.c_cc[VTIME] = 20;
++ pstio.c_cc[VMIN] = 0;
++ cfsetspeed(&pstio, B9600);
++ i = tcsetattr(dsfd, TCSANOW, &pstio);
++ if (i < 0) {
++ close(dsfd);
++ return (0);
++ }
++ return 1;
++}
++
++
++//---------------------------------------------------------------------------
++// Closes the connection to the port.
++//
++void CloseCOM(void)
++{
++ close(dsfd);
++}
++
++
++//--------------------------------------------------------------------------
++// Get the current millisecond tick count. Does not have to represent
++// an actual time, it just needs to be an incrementing timer.
++//
++long msGettick(void)
++{
++ struct timeval tv;
++
++ gettimeofday(&tv, NULL);
++ return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
++}
+diff -u --new-file -r ../R1/examples/freebsd/mweather/Makefile ./examples/freebsd/mweather/Makefile
+--- ../R1/examples/freebsd/mweather/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/mweather/Makefile Tue Jan 4 21:39:47 2000
+@@ -0,0 +1,17 @@
++
++PROG= mweather
++
++PREFIX?= /usr/local
++BINDIR= ${PREFIX}/bin
++MLANDIR= ${.CURDIR}/../../../source/
++MLANLIB= ${.CURDIR}/../lib
++.PATH: ${MLANDIR}/apps/${PROG}
++CFLAGS= -I${MLANLIB} -DUCHAR -Wall
++LDADD= -L${MLANLIB} -lmlan
++DPADD= ${MLANLIB}/libmlan.a
++NOMAN= 1
++
++test: ${PROG}
++ ./${PROG} /dev/cuaa0
++
++.include <bsd.prog.mk>
+diff -u --new-file -r ../R1/examples/freebsd/thermodl/Makefile ./examples/freebsd/thermodl/Makefile
+--- ../R1/examples/freebsd/thermodl/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/thermodl/Makefile Tue Jan 4 21:39:51 2000
+@@ -0,0 +1,18 @@
++
++PROG= thermodl
++SRCS= thermodl.c thermout.c
++
++PREFIX?= /usr/local
++BINDIR= ${PREFIX}/bin
++MLANDIR= ${.CURDIR}/../../../source/
++MLANLIB= ${.CURDIR}/../lib
++.PATH: ${MLANDIR}/apps/thermo
++CFLAGS= -I${MLANLIB} -DUCHAR -Wall
++LDADD= -L${MLANLIB} -lmlan
++DPADD= ${MLANLIB}/libmlan.a
++NOMAN= 1
++
++test: ${PROG}
++ ./${PROG} /dev/cuaa0
++
++.include <bsd.prog.mk>
+diff -u --new-file -r ../R1/examples/freebsd/thermos/Makefile ./examples/freebsd/thermos/Makefile
+--- ../R1/examples/freebsd/thermos/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/thermos/Makefile Tue Jan 4 21:39:51 2000
+@@ -0,0 +1,18 @@
++
++PROG= thermoms
++SRCS= thermoms.c thermout.c
++
++PREFIX?= /usr/local
++BINDIR= ${PREFIX}/bin
++MLANDIR= ${.CURDIR}/../../../source/
++MLANLIB= ${.CURDIR}/../lib
++.PATH: ${MLANDIR}/apps/thermo
++CFLAGS= -I${MLANLIB} -DUCHAR -Wall
++LDADD= -L${MLANLIB} -lmlan
++DPADD= ${MLANLIB}/libmlan.a
++NOMAN= 1
++
++test: ${PROG}
++ ./${PROG} /dev/cuaa0
++
++.include <bsd.prog.mk>
+diff -u --new-file -r ../R1/examples/freebsd/tstfind/Makefile ./examples/freebsd/tstfind/Makefile
+--- ../R1/examples/freebsd/tstfind/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/tstfind/Makefile Tue Jan 4 21:39:31 2000
+@@ -0,0 +1,17 @@
++
++PROG= tstfind
++
++PREFIX?= /usr/local
++BINDIR= ${PREFIX}/bin
++MLANDIR= ${.CURDIR}/../../../source/
++MLANLIB= ${.CURDIR}/../lib
++.PATH: ${MLANDIR}/apps/${PROG}
++CFLAGS= -I${MLANLIB} -DUCHAR -Wall
++LDADD= -L${MLANLIB} -lmlan
++DPADD= ${MLANLIB}/libmlan.a
++NOMAN= 1
++
++test: ${PROG}
++ ./${PROG} /dev/cuaa0
++
++.include <bsd.prog.mk>
+diff -u --new-file -r ../R1/examples/freebsd/tstmlan/Makefile ./examples/freebsd/tstmlan/Makefile
+--- ../R1/examples/freebsd/tstmlan/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/tstmlan/Makefile Tue Jan 4 21:39:57 2000
+@@ -0,0 +1,17 @@
++
++PROG= tstmlan
++
++PREFIX?= /usr/local
++BINDIR= ${PREFIX}/bin
++MLANDIR= ${.CURDIR}/../../../source/
++MLANLIB= ${.CURDIR}/../lib
++.PATH: ${MLANDIR}/apps/${PROG}
++CFLAGS= -I${MLANLIB} -DUCHAR -Wall
++LDADD= -L${MLANLIB} -lmlan
++DPADD= ${MLANLIB}/libmlan.a
++NOMAN= 1
++
++test: ${PROG}
++ ./${PROG} /dev/cuaa0
++
++.include <bsd.prog.mk>
+diff -u --new-file -r ../R1/examples/freebsd/tstmlane/Makefile ./examples/freebsd/tstmlane/Makefile
+--- ../R1/examples/freebsd/tstmlane/Makefile Thu Jan 1 01:00:00 1970
++++ ./examples/freebsd/tstmlane/Makefile Tue Jan 4 21:40:03 2000
+@@ -0,0 +1,17 @@
++
++PROG= tstmlane
++
++PREFIX?= /usr/local
++BINDIR= ${PREFIX}/bin
++MLANDIR= ${.CURDIR}/../../../source/
++MLANLIB= ${.CURDIR}/../lib
++.PATH: ${MLANDIR}/apps/${PROG}
++CFLAGS= -I${MLANLIB} -DUCHAR -Wall
++LDADD= -L${MLANLIB} -lmlan
++DPADD= ${MLANLIB}/libmlan.a
++NOMAN= 1
++
++test: ${PROG}
++ ./${PROG} /dev/cuaa0
++
++.include <bsd.prog.mk>
diff --git a/comms/mlan/files/patch-ac b/comms/mlan/files/patch-ac
new file mode 100644
index 000000000000..fc551bb53bf8
--- /dev/null
+++ b/comms/mlan/files/patch-ac
@@ -0,0 +1,11 @@
+diff -ur --new-file ./Makefile ../../A1/Makefile
+--- ../../A1/Makefile Thu Jan 1 01:00:00 1970
++++ ./Makefile Tue Jan 4 22:04:35 2000
+@@ -0,0 +1,7 @@
++
++all:
++ cd examples/freebsd ; make all
++
++install:
++ cd examples/freebsd ; make install
++
diff --git a/comms/mlan/pkg-comment b/comms/mlan/pkg-comment
new file mode 100644
index 000000000000..e8ea36fb1bc3
--- /dev/null
+++ b/comms/mlan/pkg-comment
@@ -0,0 +1 @@
+API for Dallas Semiconductors 1-wire lan devices
diff --git a/comms/mlan/pkg-descr b/comms/mlan/pkg-descr
new file mode 100644
index 000000000000..7bf9619c1ddd
--- /dev/null
+++ b/comms/mlan/pkg-descr
@@ -0,0 +1,6 @@
+A port of Dallas Semiconductors TMEX api for accessing 1-wire LAN
+devices. Only DS2480 serial port adapters are supported by this port.
+
+More doc & src at: ftp://ftp.dalsemi.com/pub/auto_id/softdev/softdev.html
+
+WWW: http://www.ibutton.com
diff --git a/comms/mlan/pkg-plist b/comms/mlan/pkg-plist
new file mode 100644
index 000000000000..64bf93f79aaa
--- /dev/null
+++ b/comms/mlan/pkg-plist
@@ -0,0 +1,8 @@
+bin/mweather
+bin/thermodl
+bin/thermoms
+bin/tstfind
+bin/tstmlan
+bin/tstmlane
+include/mlan.h
+lib/libmlan.a