CVS commit: src/share/examples/rump

2016-01-25 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jan 25 11:01:17 UTC 2016

Modified Files:
src/share/examples/rump/ttyserv: Makefile
src/share/examples/rump/umserv: Makefile

Log Message:
add -D_KERNTYPES


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/ttyserv/Makefile
cvs rdiff -u -r1.3 -r1.4 src/share/examples/rump/umserv/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/ttyserv/Makefile
diff -u src/share/examples/rump/ttyserv/Makefile:1.2 src/share/examples/rump/ttyserv/Makefile:1.3
--- src/share/examples/rump/ttyserv/Makefile:1.2	Mon Jun 14 14:48:51 2010
+++ src/share/examples/rump/ttyserv/Makefile	Mon Jan 25 11:01:17 2016
@@ -5,6 +5,8 @@ LDADD+=-lrumpkern_tty
 LDADD+=-lrumpvfs
 LDADD+=-lrump -lrumpuser -lpthread
 
+CPPFLAGS+= -D_KERNTYPES
+
 WARNS=4
 DBG=-g
 

Index: src/share/examples/rump/umserv/Makefile
diff -u src/share/examples/rump/umserv/Makefile:1.3 src/share/examples/rump/umserv/Makefile:1.4
--- src/share/examples/rump/umserv/Makefile:1.3	Mon Aug 23 20:56:27 2010
+++ src/share/examples/rump/umserv/Makefile	Mon Jan 25 11:01:17 2016
@@ -5,6 +5,8 @@ LDADD+=-lrumpdev_disk -lrumpdev
 LDADD+=-lrumpvfs
 LDADD+=-lrump -lrumpuser -lpthread
 
+CPPFLAGS+= -D_KERNTYPES
+
 WARNS=4
 DBG=-g
 



CVS commit: src/share/examples/rump

2010-11-11 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Nov 11 23:01:01 UTC 2010

Modified Files:
src/share/examples/rump: Makefile
Removed Files:
src/share/examples/rump/img2cgd: Makefile cgd.conf img2cgd.c
src/share/examples/rump/pad_nothai: Makefile musa.c pad_nothai.c
src/share/examples/rump/swwdog_arm: Makefile swwdog_arm.c

Log Message:
Remove some programs which live as atf tests now.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/share/examples/rump/Makefile
cvs rdiff -u -r1.2 -r0 src/share/examples/rump/img2cgd/Makefile
cvs rdiff -u -r1.1 -r0 src/share/examples/rump/img2cgd/cgd.conf
cvs rdiff -u -r1.3 -r0 src/share/examples/rump/img2cgd/img2cgd.c
cvs rdiff -u -r1.1 -r0 src/share/examples/rump/pad_nothai/Makefile \
src/share/examples/rump/pad_nothai/musa.c \
src/share/examples/rump/pad_nothai/pad_nothai.c
cvs rdiff -u -r1.1 -r0 src/share/examples/rump/swwdog_arm/Makefile \
src/share/examples/rump/swwdog_arm/swwdog_arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/Makefile
diff -u src/share/examples/rump/Makefile:1.5 src/share/examples/rump/Makefile:1.6
--- src/share/examples/rump/Makefile:1.5	Sat May  1 23:31:01 2010
+++ src/share/examples/rump/Makefile	Thu Nov 11 23:01:00 2010
@@ -1,7 +1,7 @@
-#	$NetBSD: Makefile,v 1.5 2010/05/01 23:31:01 pooka Exp $
+#	$NetBSD: Makefile,v 1.6 2010/11/11 23:01:00 pooka Exp $
 #
 
-SUBDIR=	btplay img2cgd pad_nothai sdread swwdog_arm tipsy ttyserv	\
+SUBDIR=	btplay sdread tipsy ttyserv	\
 	ulptprint umserv ukbd_read ums_draw wirelessconf
 
 .include bsd.subdir.mk



CVS commit: src/share/examples/rump

2010-11-11 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Nov 11 23:04:24 UTC 2010

Added Files:
src/share/examples/rump: README

Log Message:
Add readme explaining which grue has ok'd the eating of some code
until recently located here.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/README

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/README
diff -u /dev/null src/share/examples/rump/README:1.1
--- /dev/null	Thu Nov 11 23:04:24 2010
+++ src/share/examples/rump/README	Thu Nov 11 23:04:24 2010
@@ -0,0 +1,8 @@
+	$NetBSD: README,v 1.1 2010/11/11 23:04:24 pooka Exp $
+
+
+This directory contains various examples on how to interface with
+a rump kernel.  Another place which contains even more examples
+is src/tests and its subdirectories.  Some programs which were
+located here have in fact been moved to src/tests to serve as
+automated tests.



CVS commit: src/share/examples/rump

2010-08-23 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Aug 23 20:56:27 UTC 2010

Modified Files:
src/share/examples/rump/sdread: Makefile
src/share/examples/rump/umserv: Makefile

Log Message:
update component lists: scsipi is independent of umass now


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/share/examples/rump/sdread/Makefile
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/umserv/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/sdread/Makefile
diff -u src/share/examples/rump/sdread/Makefile:1.5 src/share/examples/rump/sdread/Makefile:1.6
--- src/share/examples/rump/sdread/Makefile:1.5	Wed Feb 17 20:43:35 2010
+++ src/share/examples/rump/sdread/Makefile	Mon Aug 23 20:56:27 2010
@@ -1,10 +1,11 @@
-#	$NetBSD: Makefile,v 1.5 2010/02/17 20:43:35 pooka Exp $
+#	$NetBSD: Makefile,v 1.6 2010/08/23 20:56:27 pooka Exp $
 #
 
 PROG=	sdread
 
 LDADD+=	-lrumpfs_cd9660 -lrumpfs_ffs -lrumpfs_msdos -lrumpvfs
-LDADD+=	-lrumpdev_disk -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_umass -lrumpdev
+LDADD+=	-lrumpdev_disk -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_umass
+LDADD+=	-lrumpdev_scsipi -lrumpdev
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread
 

Index: src/share/examples/rump/umserv/Makefile
diff -u src/share/examples/rump/umserv/Makefile:1.2 src/share/examples/rump/umserv/Makefile:1.3
--- src/share/examples/rump/umserv/Makefile:1.2	Wed Feb 10 02:31:01 2010
+++ src/share/examples/rump/umserv/Makefile	Mon Aug 23 20:56:27 2010
@@ -1,6 +1,7 @@
 PROG=umserv
 NOMAN=
-LDADD+=-lrumpdev_ugenhc -lrumpdev_umass -lrumpdev_usb -lrumpdev_disk -lrumpdev
+LDADD+=-lrumpdev_ugenhc -lrumpdev_umass -lrumpdev_scsipi -lrumpdev_usb
+LDADD+=-lrumpdev_disk -lrumpdev
 LDADD+=-lrumpvfs
 LDADD+=-lrump -lrumpuser -lpthread
 



CVS commit: src/share/examples/rump/virtual_ip_router

2010-07-04 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Jul  4 17:24:10 UTC 2010

Modified Files:
src/share/examples/rump/virtual_ip_router: rumprouter.c

Log Message:
send routing messages via routing sucket -- works better than via inet sucket


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/share/examples/rump/virtual_ip_router/rumprouter.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/virtual_ip_router/rumprouter.c
diff -u src/share/examples/rump/virtual_ip_router/rumprouter.c:1.4 src/share/examples/rump/virtual_ip_router/rumprouter.c:1.5
--- src/share/examples/rump/virtual_ip_router/rumprouter.c:1.4	Sun Jul  4 15:44:46 2010
+++ src/share/examples/rump/virtual_ip_router/rumprouter.c	Sun Jul  4 17:24:10 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumprouter.c,v 1.4 2010/07/04 15:44:46 pooka Exp $	*/
+/*	$NetBSD: rumprouter.c,v 1.5 2010/07/04 17:24:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -126,7 +126,7 @@
 	DP(Entering %s\n, __FUNCTION__);
 
 	DP(Open a routing socket\n);
-	s = rump_sys_socket(PF_INET, SOCK_DGRAM, 0);
+	s = rump_sys_socket(PF_ROUTE, SOCK_RAW, 0);
 	if (s == -1) {
 		err(1, rump_sys_socket);
 	}



CVS commit: src/share/examples/rump

2010-06-14 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jun 14 14:48:51 UTC 2010

Modified Files:
src/share/examples/rump/tipsy: Makefile
src/share/examples/rump/ttyserv: Makefile

Log Message:
tty support is in rumpkern_tty now


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/tipsy/Makefile
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/ttyserv/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/tipsy/Makefile
diff -u src/share/examples/rump/tipsy/Makefile:1.2 src/share/examples/rump/tipsy/Makefile:1.3
--- src/share/examples/rump/tipsy/Makefile:1.2	Wed Feb 10 02:31:00 2010
+++ src/share/examples/rump/tipsy/Makefile	Mon Jun 14 14:48:51 2010
@@ -1,10 +1,11 @@
-#	$NetBSD: Makefile,v 1.2 2010/02/10 02:31:00 pooka Exp $
+#	$NetBSD: Makefile,v 1.3 2010/06/14 14:48:51 pooka Exp $
 #
 
 PROG=	tipsy
 
 LDADD+=	-lrumpvfs
 LDADD+=	-lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_ucom -lrumpdev
+LDADD+=	-lrumpkern_tty
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread
 

Index: src/share/examples/rump/ttyserv/Makefile
diff -u src/share/examples/rump/ttyserv/Makefile:1.1 src/share/examples/rump/ttyserv/Makefile:1.2
--- src/share/examples/rump/ttyserv/Makefile:1.1	Sun Mar  7 23:28:14 2010
+++ src/share/examples/rump/ttyserv/Makefile	Mon Jun 14 14:48:51 2010
@@ -1,6 +1,7 @@
 PROG=ttyserv
 NOMAN=
 LDADD+=-lrumpdev_ucom -lrumpdev_ugenhc -lrumpdev_usb -lrumpdev
+LDADD+=-lrumpkern_tty
 LDADD+=-lrumpvfs
 LDADD+=-lrump -lrumpuser -lpthread
 



CVS commit: src/share/examples/rump/virtual_ip_router

2010-03-29 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Mar 29 11:01:17 UTC 2010

Modified Files:
src/share/examples/rump/virtual_ip_router: rumprouter.c

Log Message:
fix typo in, um, copyright.

spotted by a keen-eyed enthusiast ;)


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/share/examples/rump/virtual_ip_router/rumprouter.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/virtual_ip_router/rumprouter.c
diff -u src/share/examples/rump/virtual_ip_router/rumprouter.c:1.1 src/share/examples/rump/virtual_ip_router/rumprouter.c:1.2
--- src/share/examples/rump/virtual_ip_router/rumprouter.c:1.1	Mon Mar 29 02:01:47 2010
+++ src/share/examples/rump/virtual_ip_router/rumprouter.c	Mon Mar 29 11:01:16 2010
@@ -1,9 +1,9 @@
-/*	$NetBSD: rumprouter.c,v 1.1 2010/03/29 02:01:47 pooka Exp $	*/
+/*	$NetBSD: rumprouter.c,v 1.2 2010/03/29 11:01:16 pooka Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
  *
- * Development of this software was supported by then
+ * Development of this software was supported by the
  * Finnish Cultural Foundation.
  *
  * Redistribution and use in source and binary forms, with or without



CVS commit: src/share/examples/rump/virtual_ip_router

2010-03-28 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Mar 29 02:11:15 UTC 2010

Modified Files:
src/share/examples/rump/virtual_ip_router: README.txt
Added Files:
src/share/examples/rump/virtual_ip_router: startrouters.sh

Log Message:
amazing grep, how sweet the find
that saved a hack like me
script once was lost but now it's found
was -x, but now I sh


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/virtual_ip_router/README.txt
cvs rdiff -u -r0 -r1.1 \
src/share/examples/rump/virtual_ip_router/startrouters.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/virtual_ip_router/README.txt
diff -u src/share/examples/rump/virtual_ip_router/README.txt:1.1 src/share/examples/rump/virtual_ip_router/README.txt:1.2
--- src/share/examples/rump/virtual_ip_router/README.txt:1.1	Mon Mar 29 02:01:47 2010
+++ src/share/examples/rump/virtual_ip_router/README.txt	Mon Mar 29 02:11:14 2010
@@ -1,4 +1,4 @@
-	$NetBSD: README.txt,v 1.1 2010/03/29 02:01:47 pooka Exp $
+	$NetBSD: README.txt,v 1.2 2010/03/29 02:11:14 pooka Exp $
 
 Using rump it is possible to build a router test setup consisting
 of thousands of NetBSD IP stacks within a single host OS, one
@@ -92,8 +92,7 @@
 ./a.out 10.0.253.1 10.0.253.255 /tmp/rumpshm_253 10.0.253.2 10.0.255.1 10.0.255.
 255 /tmp/rumpshm_255 0
 
-Unfortunately I lost script used to produce that, but the algorithm
-is quickly obvious.
+(see startrouters.sh for a script to produce that output)
 
 Easy but slightly more interesting setups, such as a M^N matrix
 (hyper-matrix?) are also possible, but left as an exercise to the

Added files:

Index: src/share/examples/rump/virtual_ip_router/startrouters.sh
diff -u /dev/null src/share/examples/rump/virtual_ip_router/startrouters.sh:1.1
--- /dev/null	Mon Mar 29 02:11:15 2010
+++ src/share/examples/rump/virtual_ip_router/startrouters.sh	Mon Mar 29 02:11:14 2010
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+#	$NetBSD: startrouters.sh,v 1.1 2010/03/29 02:11:14 pooka Exp $
+#
+
+dummy=
+amp=
+LIF=10.0.XXX.1
+LBCAST=10.0.XXX.255
+LFILE=/tmp/rumpshm_XXX
+LROUTE=10.0.XXX.2
+
+RIF=10.0.YYY.2
+RBCAST=10.0.YYY.255
+RFILE=/tmp/rumpshm_YYY
+RROUTE=10.0.YYY.1
+
+die ()
+{
+
+	echo $1
+	exit 1
+}
+
+[ $# != 1 ]  die usage: script.sh nrouters
+n=${1}
+
+[ $n -lt 1 ]  die n must be between 1 and 254
+[ $n -gt 254 ]  die n must be between 1 and 254
+
+pkill a.out
+rm /tmp/rumpshm_*
+rm -f cmds
+
+i=1
+ip=0
+while [ ${i} -le ${n} ]
+do
+	lif=`echo ${LIF} | sed s/XXX/${ip}/`
+	lbcast=`echo ${LBCAST} | sed s/XXX/${ip}/`
+	lfile=`echo ${LFILE} | sed s/XXX/${ip}/`
+	lroute=`echo ${LROUTE} | sed s/XXX/${ip}/`
+
+	rif=`echo ${RIF} | sed s/YYY/${i}/`
+	rbcast=`echo ${RBCAST} | sed s/YYY/${i}/`
+	rfile=`echo ${RFILE} | sed s/YYY/${i}/`
+	rroute=`echo ${RROUTE} | sed s/YYY/${i}/`
+
+	if [ $i = 1 ]
+	then
+		lroute=0
+	fi
+
+	if [ $i = $n ]
+	then
+		rif=10.0.255.1
+		rbcast=10.0.255.255
+		rfile=/tmp/rumpshm_255
+		rroute=0
+	fi
+
+	echo ./a.out ${lif} ${lbcast} ${lfile} ${lroute} ${rif} ${rbcast} ${rfile} ${rroute}  cmds
+
+	ip=${i}
+	i=$((i+1))
+done
+
+#echo ./specialpint send tcp 10.0.255.10  cmds



CVS commit: src/share/examples/rump/sdread

2010-03-25 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Mar 25 15:00:20 UTC 2010

Modified Files:
src/share/examples/rump/sdread: sdread.c

Log Message:
Check open return value and close fd when we're done.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/share/examples/rump/sdread/sdread.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/sdread/sdread.c
diff -u src/share/examples/rump/sdread/sdread.c:1.5 src/share/examples/rump/sdread/sdread.c:1.6
--- src/share/examples/rump/sdread/sdread.c:1.5	Mon Mar 22 20:37:26 2010
+++ src/share/examples/rump/sdread/sdread.c	Thu Mar 25 15:00:20 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdread.c,v 1.5 2010/03/22 20:37:26 pooka Exp $	*/
+/*	$NetBSD: sdread.c,v 1.6 2010/03/25 15:00:20 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -63,6 +63,9 @@
 	int fd, val = 0, rounds = 0;
 
 	fd = rump_sys_open(/dev/rcd0d, O_RDWR);
+	if (fd == -1)
+		return;
+
 	do {
 		if (rounds  0) {
 			if (rounds == 1) {
@@ -82,6 +85,8 @@
 		printf( giving up\n);
 	else
 		printf( done!\n);
+
+	rump_sys_close(fd);
 }
 
 int



CVS commit: src/share/examples/rump

2010-03-22 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Mar 22 12:21:37 UTC 2010

Modified Files:
src/share/examples/rump: Makefile
Added Files:
src/share/examples/rump/btplay: Makefile btplay.c

Log Message:
Add an example/test program for rump bluetooth.  This does discovery
and prints the address and name of the first peer encountered (if any):

ubt0 at uhub0 port 1
ubt0: Cambridge Silicon Radio Bluetooth USB Adapter, rev 2.00/19.15, addr 2
device ubt0, addr xx:xx:xx:xx:xx:xx
my peer: yy:yy:yy:yy:yy:yy, major class: 2 (phone)
peer name: Mokia maailmalta


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/share/examples/rump/Makefile
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/btplay/Makefile \
src/share/examples/rump/btplay/btplay.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/Makefile
diff -u src/share/examples/rump/Makefile:1.3 src/share/examples/rump/Makefile:1.4
--- src/share/examples/rump/Makefile:1.3	Sun Mar  7 23:28:14 2010
+++ src/share/examples/rump/Makefile	Mon Mar 22 12:21:37 2010
@@ -1,7 +1,7 @@
-#	$NetBSD: Makefile,v 1.3 2010/03/07 23:28:14 pooka Exp $
+#	$NetBSD: Makefile,v 1.4 2010/03/22 12:21:37 pooka Exp $
 #
 
-SUBDIR=	img2cgd sdread swwdog_arm tipsy ttyserv ulptprint umserv	\
+SUBDIR=	btplay img2cgd sdread swwdog_arm tipsy ttyserv ulptprint umserv	\
 	ukbd_read ums_draw wirelessconf
 
 .include bsd.subdir.mk

Added files:

Index: src/share/examples/rump/btplay/Makefile
diff -u /dev/null src/share/examples/rump/btplay/Makefile:1.1
--- /dev/null	Mon Mar 22 12:21:37 2010
+++ src/share/examples/rump/btplay/Makefile	Mon Mar 22 12:21:37 2010
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile,v 1.1 2010/03/22 12:21:37 pooka Exp $
+#
+
+PROG=	btplay
+
+LDADD+=	-lrumpdev_ubt -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev
+LDADD+=	-lrumpnet_netbt -lrumpnet
+LDADD+=	-lrump
+LDADD+=	-lrumpuser -lpthread
+LDADD+=	-lbluetooth
+
+DBG=	-g
+NOMAN=	
+WARNS=	4
+
+.include bsd.prog.mk
Index: src/share/examples/rump/btplay/btplay.c
diff -u /dev/null src/share/examples/rump/btplay/btplay.c:1.1
--- /dev/null	Mon Mar 22 12:21:37 2010
+++ src/share/examples/rump/btplay/btplay.c	Mon Mar 22 12:21:37 2010
@@ -0,0 +1,191 @@
+/*  $NetBSD: btplay.c,v 1.1 2010/03/22 12:21:37 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Little demo showing how to use bluetooth stack in rump.  Searches
+ * for a peer and prints a little info for it.
+ */
+
+#include sys/types.h
+#include sys/ioctl.h
+#include sys/time.h
+#include sys/socket.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include netbt/bluetooth.h
+#include netbt/hci.h
+
+#include bluetooth.h
+#include err.h
+#include paths.h
+#include string.h
+#include stdio.h
+#include stdlib.h
+#include unistd.h
+
+const char *btclasses[] = {
+	misc.,
+	computer,
+	phone,
+	LAN,
+	audio-video,
+	peripheral,
+	imaging,
+	wearable,
+	toy,
+};
+
+int
+main(int argc, char *argv[])
+{
+	struct sockaddr_bt sbt;
+	bdaddr_t peeraddr;
+	uint8_t msg[1024];
+	hci_inquiry_cp inq;
+	hci_cmd_hdr_t *cmd;
+	hci_event_hdr_t *evp;
+	struct hci_filter filt;
+	struct btreq btr;
+	int s, gotpeer = 0;
+
+	rump_boot_sethowto(RUMP_AB_VERBOSE);
+	rump_init();
+
+	s = rump_sys_socket(PF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI);
+	if (s == -1)
+		err(1, socket);
+
+	/* enable first device, print name and address */
+	memset(btr, 0, sizeof(btr));
+	if (rump_sys_ioctl(s, SIOCNBTINFO, btr) == -1)
+		err(1, no bt device?);
+
+	btr.btr_flags |= BTF_UP;
+	if (rump_sys_ioctl(s, SIOCSBTFLAGS, btr) == -1)
+		err(1, raise interface);
+	if 

CVS commit: src/share/examples/rump/tipsy

2010-02-18 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Feb 18 16:14:55 UTC 2010

Modified Files:
src/share/examples/rump/tipsy: tipsy.c

Log Message:
In probeonly, pause after bootstrap to make monkey plug and
unplug device, monkey see fancy dmesg info possible.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/tipsy/tipsy.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/tipsy/tipsy.c
diff -u src/share/examples/rump/tipsy/tipsy.c:1.1 src/share/examples/rump/tipsy/tipsy.c:1.2
--- src/share/examples/rump/tipsy/tipsy.c:1.1	Sun Dec 20 19:50:29 2009
+++ src/share/examples/rump/tipsy/tipsy.c	Thu Feb 18 16:14:55 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: tipsy.c,v 1.1 2009/12/20 19:50:29 pooka Exp $	*/
+/*	$NetBSD: tipsy.c,v 1.2 2010/02/18 16:14:55 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -100,8 +100,10 @@
 	if (probeonly)
 		rump_boot_sethowto(RUMP_AB_VERBOSE);
 	rump_init();
-	if (probeonly)
+	if (probeonly) {
+		pause();
 		exit(0);
+	}
 
 	com = rump_sys_open(/dev/dtyU0, O_RDWR);
 	if (com == -1)



CVS commit: src/share/examples/rump/sdread

2010-02-17 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Feb 17 20:43:35 UTC 2010

Modified Files:
src/share/examples/rump/sdread: Makefile sdread.c

Log Message:
* support cd devices (@scsibus  @atapibus, per libumass)
* support cd9660
* add probe keyword, which just prints the dmesg in verbose form


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/share/examples/rump/sdread/Makefile
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/sdread/sdread.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/sdread/Makefile
diff -u src/share/examples/rump/sdread/Makefile:1.4 src/share/examples/rump/sdread/Makefile:1.5
--- src/share/examples/rump/sdread/Makefile:1.4	Wed Feb 10 02:31:00 2010
+++ src/share/examples/rump/sdread/Makefile	Wed Feb 17 20:43:35 2010
@@ -1,9 +1,9 @@
-#	$NetBSD: Makefile,v 1.4 2010/02/10 02:31:00 pooka Exp $
+#	$NetBSD: Makefile,v 1.5 2010/02/17 20:43:35 pooka Exp $
 #
 
 PROG=	sdread
 
-LDADD+=	-lrumpfs_ffs -lrumpfs_msdos -lrumpvfs
+LDADD+=	-lrumpfs_cd9660 -lrumpfs_ffs -lrumpfs_msdos -lrumpvfs
 LDADD+=	-lrumpdev_disk -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_umass -lrumpdev
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread

Index: src/share/examples/rump/sdread/sdread.c
diff -u src/share/examples/rump/sdread/sdread.c:1.2 src/share/examples/rump/sdread/sdread.c:1.3
--- src/share/examples/rump/sdread/sdread.c:1.2	Tue Oct 13 18:41:06 2009
+++ src/share/examples/rump/sdread/sdread.c	Wed Feb 17 20:43:35 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdread.c,v 1.2 2009/10/13 18:41:06 pooka Exp $	*/
+/*	$NetBSD: sdread.c,v 1.3 2010/02/17 20:43:35 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -31,6 +31,7 @@
 
 #include ufs/ufs/ufsmount.h
 #include msdosfs/msdosfsmount.h
+#include isofs/cd9660/cd9660_mount.h
 
 #include rump/rump.h
 #include rump/rump_syscalls.h
@@ -56,13 +57,19 @@
 	char buf[2048];
 	struct msdosfs_args args;
 	struct ufs_args uargs;
+	struct iso_args iargs;
 	struct dirent *dp;
 	const char *msg = NULL;
 	int fd, n, fd_h, sverrno;
+	int probeonly = 0;
 
-	if (argc  1  argc != 3) {
-		fprintf(stderr, usage: a.out [src hostdest]\n);
-		exit(1);
+	if (argc  1) {
+		if (argc == 2  strcmp(argv[1], probe) == 0) {
+			probeonly = 1;
+		} else if (argc != 3) {
+			fprintf(stderr, usage: a.out [src hostdest]\n);
+			exit(1);
+		}
 	}
 
 	memset(args, 0, sizeof(args));
@@ -72,7 +79,15 @@
 	memset(uargs, 0, sizeof(uargs));
 	uargs.fspec = strdup(/dev/sd0e);
 
+	memset(iargs, 0, sizeof(iargs));
+	iargs.fspec = strdup(/dev/cd0a);
+
+	if (probeonly)
+		rump_boot_sethowto(RUMP_AB_VERBOSE);
 	rump_init();
+	if (probeonly) {
+		exit(0);
+	}
 
 	if (rump_sys_mkdir(/mp, 0777) == -1)
 		err(1, mkdir);
@@ -80,7 +95,17 @@
 	args, sizeof(args)) == -1) {
 		if (rump_sys_mount(MOUNT_FFS, /mp, MNT_RDONLY,
 		uargs, sizeof(uargs)) == -1) {
-			err(1, mount);
+			printf(Trying CD.  This might fail with 
+			\media not present\.\n);
+			printf(If that happens, wait a while without 
+			unplugging the device and re-run.\n);
+			printf(Some devices apparently need a long time 
+			to settle after they are initialized.\n\n);
+
+			if (rump_sys_mount(MOUNT_CD9660, /mp, MNT_RDONLY,
+			iargs, sizeof(iargs)) == -1) {
+err(1, mount);
+			}
 		}
 	}
 



CVS commit: src/share/examples/rump

2010-02-09 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Feb 10 02:31:01 UTC 2010

Modified Files:
src/share/examples/rump/sdread: Makefile
src/share/examples/rump/tipsy: Makefile
src/share/examples/rump/ukbd_read: Makefile
src/share/examples/rump/ulptprint: Makefile
src/share/examples/rump/ums_draw: Makefile
src/share/examples/rump/umserv: Makefile
src/share/examples/rump/wirelessconf: Makefile

Log Message:
rumpusbhc is now ugenhc


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/share/examples/rump/sdread/Makefile
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/tipsy/Makefile
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/ukbd_read/Makefile
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/ulptprint/Makefile
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/ums_draw/Makefile
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/umserv/Makefile
cvs rdiff -u -r1.3 -r1.4 src/share/examples/rump/wirelessconf/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/sdread/Makefile
diff -u src/share/examples/rump/sdread/Makefile:1.3 src/share/examples/rump/sdread/Makefile:1.4
--- src/share/examples/rump/sdread/Makefile:1.3	Wed Oct 14 23:51:52 2009
+++ src/share/examples/rump/sdread/Makefile	Wed Feb 10 02:31:00 2010
@@ -1,10 +1,10 @@
-#	$NetBSD: Makefile,v 1.3 2009/10/14 23:51:52 pooka Exp $
+#	$NetBSD: Makefile,v 1.4 2010/02/10 02:31:00 pooka Exp $
 #
 
 PROG=	sdread
 
 LDADD+=	-lrumpfs_ffs -lrumpfs_msdos -lrumpvfs
-LDADD+=	-lrumpdev_disk -lrumpdev_usb -lrumpdev_usbhc -lrumpdev_umass -lrumpdev
+LDADD+=	-lrumpdev_disk -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_umass -lrumpdev
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread
 

Index: src/share/examples/rump/tipsy/Makefile
diff -u src/share/examples/rump/tipsy/Makefile:1.1 src/share/examples/rump/tipsy/Makefile:1.2
--- src/share/examples/rump/tipsy/Makefile:1.1	Sun Dec 20 19:50:29 2009
+++ src/share/examples/rump/tipsy/Makefile	Wed Feb 10 02:31:00 2010
@@ -1,10 +1,10 @@
-#	$NetBSD: Makefile,v 1.1 2009/12/20 19:50:29 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2010/02/10 02:31:00 pooka Exp $
 #
 
 PROG=	tipsy
 
 LDADD+=	-lrumpvfs
-LDADD+=	-lrumpdev_usb -lrumpdev_usbhc -lrumpdev_ucom -lrumpdev
+LDADD+=	-lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_ucom -lrumpdev
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread
 

Index: src/share/examples/rump/ukbd_read/Makefile
diff -u src/share/examples/rump/ukbd_read/Makefile:1.1 src/share/examples/rump/ukbd_read/Makefile:1.2
--- src/share/examples/rump/ukbd_read/Makefile:1.1	Mon Jan 11 02:16:51 2010
+++ src/share/examples/rump/ukbd_read/Makefile	Wed Feb 10 02:31:01 2010
@@ -1,9 +1,9 @@
-#	$NetBSD: Makefile,v 1.1 2010/01/11 02:16:51 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2010/02/10 02:31:01 pooka Exp $
 #
 
 PROG=	kbd
 
-LDADD+=	-lrumpdev_ukbd -lrumpdev_wscons -lrumpdev_usb -lrumpdev_usbhc -lrumpdev
+LDADD+=	-lrumpdev_ukbd -lrumpdev_wscons -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev
 LDADD+=	-lrumpvfs
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread

Index: src/share/examples/rump/ulptprint/Makefile
diff -u src/share/examples/rump/ulptprint/Makefile:1.1 src/share/examples/rump/ulptprint/Makefile:1.2
--- src/share/examples/rump/ulptprint/Makefile:1.1	Tue Dec 15 16:01:50 2009
+++ src/share/examples/rump/ulptprint/Makefile	Wed Feb 10 02:31:01 2010
@@ -1,9 +1,9 @@
-#	$NetBSD: Makefile,v 1.1 2009/12/15 16:01:50 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2010/02/10 02:31:01 pooka Exp $
 #
 
 PROG=	ulptprint
 
-LDADD+=	-lrumpvfs -lrumpdev_usb -lrumpdev_usbhc -lrumpdev_ulpt -lrumpdev
+LDADD+=	-lrumpvfs -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev_ulpt -lrumpdev
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread
 

Index: src/share/examples/rump/ums_draw/Makefile
diff -u src/share/examples/rump/ums_draw/Makefile:1.1 src/share/examples/rump/ums_draw/Makefile:1.2
--- src/share/examples/rump/ums_draw/Makefile:1.1	Mon Jan 11 02:18:45 2010
+++ src/share/examples/rump/ums_draw/Makefile	Wed Feb 10 02:31:01 2010
@@ -1,9 +1,9 @@
-#	$NetBSD: Makefile,v 1.1 2010/01/11 02:18:45 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2010/02/10 02:31:01 pooka Exp $
 #
 
 PROG=	ms
 
-LDADD+=	-lrumpdev_ums -lrumpdev_wscons -lrumpdev_usb -lrumpdev_usbhc -lrumpdev
+LDADD+=	-lrumpdev_ums -lrumpdev_wscons -lrumpdev_usb -lrumpdev_ugenhc -lrumpdev
 LDADD+=	-lrumpvfs
 LDADD+=	-lrump
 LDADD+=	-lrumpuser -lpthread

Index: src/share/examples/rump/umserv/Makefile
diff -u src/share/examples/rump/umserv/Makefile:1.1 src/share/examples/rump/umserv/Makefile:1.2
--- src/share/examples/rump/umserv/Makefile:1.1	Tue Dec 22 18:36:02 2009
+++ src/share/examples/rump/umserv/Makefile	Wed Feb 10 02:31:01 2010
@@ -1,6 +1,6 @@
 PROG=umserv
 NOMAN=
-LDADD+=-lrumpdev_usbhc -lrumpdev_umass -lrumpdev_usb -lrumpdev_disk -lrumpdev
+LDADD+=-lrumpdev_ugenhc -lrumpdev_umass -lrumpdev_usb -lrumpdev_disk -lrumpdev
 LDADD+=-lrumpvfs
 LDADD+=-lrump 

CVS commit: src/share/examples/rump/wirelessconf

2010-02-05 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Fri Feb  5 22:07:51 UTC 2010

Modified Files:
src/share/examples/rump/wirelessconf: Makefile

Log Message:
The rumpdev_net80211 until-recently-wip component is now rumpnet_net80211.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/wirelessconf/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/wirelessconf/Makefile
diff -u src/share/examples/rump/wirelessconf/Makefile:1.2 src/share/examples/rump/wirelessconf/Makefile:1.3
--- src/share/examples/rump/wirelessconf/Makefile:1.2	Wed Oct 14 23:51:22 2009
+++ src/share/examples/rump/wirelessconf/Makefile	Fri Feb  5 22:07:51 2010
@@ -1,11 +1,11 @@
-#	$NetBSD: Makefile,v 1.2 2009/10/14 23:51:22 pooka Exp $
+#	$NetBSD: Makefile,v 1.3 2010/02/05 22:07:51 pooka Exp $
 #
 
 PROG=	wirelessconf
 
-LDADD+=	-lrumpdev_net80211 -lrumpdev_usbrum -lrumpdev_usbhc
+LDADD+=	-lrumpdev_usbrum -lrumpdev_usbhc
 LDADD+=	-lrumpdev_usb -lrumpdev
-LDADD+=	-lrumpnet_net -lrumpnet
+LDADD+=	-lrumpnet_net80211 -lrumpnet_netinet -lrumpnet_net -lrumpnet
 LDADD+= -lrumpvfs -lrumpcrypto -lrump 
 LDADD+=	-lrumpuser -lpthread
 



CVS commit: src/share/examples/rump/ukbd_read

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jan 11 02:16:51 UTC 2010

Added Files:
src/share/examples/rump/ukbd_read: Makefile kbd.c

Log Message:
Add an example program which reads keypresses from the ukbd driver
(via wscons) and simply prints them on screen.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/ukbd_read/Makefile \
src/share/examples/rump/ukbd_read/kbd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/ukbd_read/Makefile
diff -u /dev/null src/share/examples/rump/ukbd_read/Makefile:1.1
--- /dev/null	Mon Jan 11 02:16:51 2010
+++ src/share/examples/rump/ukbd_read/Makefile	Mon Jan 11 02:16:51 2010
@@ -0,0 +1,15 @@
+#	$NetBSD: Makefile,v 1.1 2010/01/11 02:16:51 pooka Exp $
+#
+
+PROG=	kbd
+
+LDADD+=	-lrumpdev_ukbd -lrumpdev_wscons -lrumpdev_usb -lrumpdev_usbhc -lrumpdev
+LDADD+=	-lrumpvfs
+LDADD+=	-lrump
+LDADD+=	-lrumpuser -lpthread
+
+DBG=	-g
+NOMAN=	
+WARNS=	4
+
+.include bsd.prog.mk
Index: src/share/examples/rump/ukbd_read/kbd.c
diff -u /dev/null src/share/examples/rump/ukbd_read/kbd.c:1.1
--- /dev/null	Mon Jan 11 02:16:51 2010
+++ src/share/examples/rump/ukbd_read/kbd.c	Mon Jan 11 02:16:51 2010
@@ -0,0 +1,97 @@
+/*  $NetBSD: kbd.c,v 1.1 2010/01/11 02:16:51 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Experimental proof-of-concept program:
+ *
+ * Read keyboard events from a USB keyboard using rump drivers.
+ */
+
+#include sys/types.h
+#include sys/time.h
+
+#include dev/wscons/wsconsio.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include err.h
+#include paths.h
+#include string.h
+#include stdio.h
+#include stdlib.h
+
+#define SHIFT (-0x20)
+
+int
+main(int argc, char *argv[])
+{
+	struct wscons_event *wev;
+	int shift = 0;
+	char buf[128];
+	int fd;
+
+	rump_boot_sethowto(RUMP_AB_VERBOSE);
+	rump_init();
+
+	fd = rump_sys_open(/dev/wskbd, 0);
+	if (fd == -1)
+		err(1, open);
+
+	while (rump_sys_read(fd, buf, sizeof(buf))  0) {
+		const char *typestr;
+
+		/* XXX: timespec in 5.0 vs. -current */
+		wev = (void *)buf;
+
+		switch (wev-type) {
+		case WSCONS_EVENT_KEY_UP:
+			typestr = up;
+			if (wev-value == 0xe1 || wev-value == 0xe5)
+shift = 0;
+			break;
+		case WSCONS_EVENT_KEY_DOWN:
+			typestr = down;
+			if (wev-value == 0xe1 || wev-value == 0xe5)
+shift = SHIFT;
+			break;
+		default:
+			typestr = unknown;
+			break;
+		}
+		printf(event type: %d (%s)\n, wev-type, typestr);
+		printf(value 0x%x, wev-value);
+		/*
+		 * There's probably a value-to-readable tool somewhere
+		 * in the tree, but i'm not sure where or how to use it,
+		 * so I'll just punt with the supersimple version for now.
+		 */
+		if (wev-value = 0x04  wev-value = 0x1d)
+			printf( (%c), wev-value - 0x04 + 'a' + shift);
+		printf(\n);
+	}
+}



CVS commit: src/share/examples/rump/ums_draw

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jan 11 02:18:45 UTC 2010

Added Files:
src/share/examples/rump/ums_draw: Makefile ms.c

Log Message:
Read mouse events from wsmouse and move a silly curses cursor around
the screen (quite poorly, i might add ;).


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/ums_draw/Makefile \
src/share/examples/rump/ums_draw/ms.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/ums_draw/Makefile
diff -u /dev/null src/share/examples/rump/ums_draw/Makefile:1.1
--- /dev/null	Mon Jan 11 02:18:45 2010
+++ src/share/examples/rump/ums_draw/Makefile	Mon Jan 11 02:18:45 2010
@@ -0,0 +1,17 @@
+#	$NetBSD: Makefile,v 1.1 2010/01/11 02:18:45 pooka Exp $
+#
+
+PROG=	ms
+
+LDADD+=	-lrumpdev_ums -lrumpdev_wscons -lrumpdev_usb -lrumpdev_usbhc -lrumpdev
+LDADD+=	-lrumpvfs
+LDADD+=	-lrump
+LDADD+=	-lrumpuser -lpthread
+
+LDADD+=	-lcurses
+
+DBG=	-g
+NOMAN=	
+WARNS=	4
+
+.include bsd.prog.mk
Index: src/share/examples/rump/ums_draw/ms.c
diff -u /dev/null src/share/examples/rump/ums_draw/ms.c:1.1
--- /dev/null	Mon Jan 11 02:18:45 2010
+++ src/share/examples/rump/ums_draw/ms.c	Mon Jan 11 02:18:45 2010
@@ -0,0 +1,98 @@
+/*  $NetBSD: ms.c,v 1.1 2010/01/11 02:18:45 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Experimental proof-of-concept program:
+ *
+ * Read mouse events and draw silly cursor on screen.
+ */
+
+#include sys/types.h
+#include sys/time.h
+
+#include dev/wscons/wsconsio.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include curses.h
+#include err.h
+#include paths.h
+#include string.h
+#include stdio.h
+#include stdlib.h
+
+int
+main(int argc, char *argv[])
+{
+	struct wscons_event *wev;
+	char buf[128];
+	int fd, x = 0, y = 0;
+
+	rump_boot_sethowto(RUMP_AB_VERBOSE);
+	rump_init();
+
+	fd = rump_sys_open(/dev/wsmouse, 0);
+	if (fd == -1)
+		err(1, open);
+
+	initscr();
+
+	while (rump_sys_read(fd, buf, sizeof(buf))  0) {
+		/* XXX: timespec in 5.0 vs. -current */
+		wev = (void *)buf;
+
+		switch (wev-type) {
+		case WSCONS_EVENT_MOUSE_DELTA_X:
+			if (wev-value  1)
+x++;
+			else if (wev-value  1)
+x--;
+			if (x  0)
+x = 0;
+			break;
+		case WSCONS_EVENT_MOUSE_DELTA_Y:
+			if (wev-value  1)
+y--;
+			else if (wev-value  1)
+y++;
+			if (y  0)
+y = 0;
+			break;
+		case WSCONS_EVENT_MOUSE_DOWN:
+			mvprintw(0, 0, button %d pressed, wev-value);
+			break;
+		case WSCONS_EVENT_MOUSE_UP:
+			clear();
+			break;
+		default:
+			break;
+		}
+		move(y, x);
+		refresh();
+	}
+}



CVS commit: src/share/examples/rump

2010-01-09 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Jan  9 16:19:17 UTC 2010

Added Files:
src/share/examples/rump: Makefile

Log Message:
Stick a top-level subdir-makefile here for easy build-testing.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/Makefile
diff -u /dev/null src/share/examples/rump/Makefile:1.1
--- /dev/null	Sat Jan  9 16:19:17 2010
+++ src/share/examples/rump/Makefile	Sat Jan  9 16:19:17 2010
@@ -0,0 +1,6 @@
+#	$NetBSD: Makefile,v 1.1 2010/01/09 16:19:17 pooka Exp $
+#
+
+SUBDIR=	img2cgd sdread tipsy ulptprint umserv wirelessconf
+
+.include bsd.subdir.mk



CVS commit: src/share/examples/rump/umserv

2009-12-22 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Dec 22 18:36:02 UTC 2009

Added Files:
src/share/examples/rump/umserv: Makefile umserv.c

Log Message:
Add a simple example of how to run the kernel umass/USB in userspace
and attach it back to the host kernel using pud(4).  The result is
pretty much indistinguisable from if kernel drivers were used.

It's possible to e.g. mount a file system backed by the userspace
block device driver:

golem disklabel ./rumpsd0d
[...]
5 partitions:
#sizeoffset fstype [fsize bsize cpg/sgs]
 d:   1994752 0 unused  0 0# (Cyl.  0 -   3895)
 e:   1994512   240  MSDOS # (Cyl.  0*-   3895)

golem s mount_msdos ./rumpsd0a /mnt
mount_msdos: ./rumpsd0a is a non-resolved or relative path.
mount_msdos: using /usr/home/pooka/src/umserv/rumpsd0a instead.
mount_msdos: /usr/home/pooka/src/umserv/rumpsd0a on /mnt: Device not configured

golem s mount_msdos ./rumpsd0e /mnt
mount_msdos: ./rumpsd0e is a non-resolved or relative path.
mount_msdos: using /usr/home/pooka/src/umserv/rumpsd0e instead.
golem df -h /mnt
Filesystem   Size   Used  Avail %Cap 
Mounted on
/usr/home/pooka/src/umserv/rumpsd0e  974M   5.2M   968M   0% /mnt

etcetc.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/umserv/Makefile \
src/share/examples/rump/umserv/umserv.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/umserv/Makefile
diff -u /dev/null src/share/examples/rump/umserv/Makefile:1.1
--- /dev/null	Tue Dec 22 18:36:02 2009
+++ src/share/examples/rump/umserv/Makefile	Tue Dec 22 18:36:02 2009
@@ -0,0 +1,10 @@
+PROG=umserv
+NOMAN=
+LDADD+=-lrumpdev_usbhc -lrumpdev_umass -lrumpdev_usb -lrumpdev_disk -lrumpdev
+LDADD+=-lrumpvfs
+LDADD+=-lrump -lrumpuser -lpthread
+
+WARNS=4
+DBG=-g
+
+.include bsd.prog.mk
Index: src/share/examples/rump/umserv/umserv.c
diff -u /dev/null src/share/examples/rump/umserv/umserv.c:1.1
--- /dev/null	Tue Dec 22 18:36:02 2009
+++ src/share/examples/rump/umserv/umserv.c	Tue Dec 22 18:36:02 2009
@@ -0,0 +1,224 @@
+/*	$NetBSD: umserv.c,v 1.1 2009/12/22 18:36:02 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * This is a [quick, simple  dirty] userspace s...@umass server.
+ * We probe USB devices using rump and attach them to the host kernel
+ * using pud(4).  The resulting block devices can be e.g. read
+ * and/or mounted.
+ *
+ * Since there is no devfs support in NetBSD, we create crudo  cotto
+ * device nodes in the current directory.  Operating on these in the
+ * host OS will direct operations to this userspace server, e.g.:
+ *   golem disklabel ./rumpsd0d
+ *   golem mount_msdos ./rumpsd0e /mnt
+ * will cause file system access to /mnt be backed by the umass server
+ * in userspace.  Due to the relatively experimental nature of this
+ * server, rump file servers are recommended for mounting experiments.
+ */
+
+#include sys/types.h
+#include sys/syslimits.h
+
+#include dev/pud/pud_msgif.h
+
+#include rump/rump.h
+
+#include assert.h
+#include err.h
+#include errno.h
+#include fcntl.h
+#include paths.h
+#include stdio.h
+#include stdlib.h
+#include string.h
+#include unistd.h
+
+/*
+ * No devfs?  No problem.  We just hack a bit  wait for the dust to settle.
+ */
+#define NODEBASE rumpsd0
+#define MYMAJOR 411
+static int
+makenodes(void)
+{
+	char path[PATH_MAX];
+	struct stat sb;
+	int i, j, rv;
+
+	for (i = 0; i  2; i++) {
+		int minnum = 0;
+
+		for (j = 0; j  8; j++, minnum++) {
+			

CVS commit: src/share/examples/rump/tipsy

2009-12-20 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Dec 20 19:50:29 UTC 2009

Added Files:
src/share/examples/rump/tipsy: Makefile tipsy.c

Log Message:
Add a simple terminal program which uses a rump kernel for a u...@usb
terminal and host terminal stdin/stdout for human interaction.
Tipsy just simply shovels bits between the two.  I can use my
JavaStation Krups (*) serial console with this ... without having
to worry abort those pesky usb drivers crashing my desktop kernel.

*) strictly speaking it's uwe's ;)


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/tipsy/Makefile \
src/share/examples/rump/tipsy/tipsy.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/tipsy/Makefile
diff -u /dev/null src/share/examples/rump/tipsy/Makefile:1.1
--- /dev/null	Sun Dec 20 19:50:29 2009
+++ src/share/examples/rump/tipsy/Makefile	Sun Dec 20 19:50:29 2009
@@ -0,0 +1,15 @@
+#	$NetBSD: Makefile,v 1.1 2009/12/20 19:50:29 pooka Exp $
+#
+
+PROG=	tipsy
+
+LDADD+=	-lrumpvfs
+LDADD+=	-lrumpdev_usb -lrumpdev_usbhc -lrumpdev_ucom -lrumpdev
+LDADD+=	-lrump
+LDADD+=	-lrumpuser -lpthread
+
+DBG=	-g
+NOMAN=	
+WARNS=	4
+
+.include bsd.prog.mk
Index: src/share/examples/rump/tipsy/tipsy.c
diff -u /dev/null src/share/examples/rump/tipsy/tipsy.c:1.1
--- /dev/null	Sun Dec 20 19:50:29 2009
+++ src/share/examples/rump/tipsy/tipsy.c	Sun Dec 20 19:50:29 2009
@@ -0,0 +1,151 @@
+/*	$NetBSD: tipsy.c,v 1.1 2009/12/20 19:50:29 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Experimental proof-of-concept program:
+ *
+ * tip-on-booze.  Uses rump kernel for ucom driver + underlying
+ * hardware.  Just shovels bits back and forth between the user
+ * terminal and the ucom device.
+ *
+ * Seems to drop an occasional character for output here and there.
+ * Haven't pinpointed the problem yet.  It happens commonly for certain
+ * patterns such as ctrl-U followed by immediate typing.  Tipsy is quite
+ * sober despite this feature.
+ */
+
+#include sys/types.h
+#include sys/ioctl.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include err.h
+#include errno.h
+#include fcntl.h
+#include pthread.h
+#include stdio.h
+#include stdlib.h
+#include string.h
+#include unistd.h
+#include termios.h
+
+/*
+ * We use a shovel thread to get the bits from the rump kernel and
+ * print them on the terminal.  The reason for a thread instead of
+ * polling is that we currently have no way to poll two fd's when
+ * they are in different kernels (stdin in the host, ucom in rump).
+ */
+static void *
+shovel(void *arg)
+{
+	char buf[64];
+	ssize_t n;
+	int fd = (int)(intptr_t)arg;
+
+	for (;;) {
+		n = rump_sys_read(fd, buf, sizeof(buf));
+		if (__predict_false(n = 0)) {
+			if (n == 0)
+errx(1, ucom EOF);
+			if (n == -1)
+err(1, ucom read);
+		}
+		if (write(STDOUT_FILENO, buf, n) != n)
+			err(1, write to console);
+	}
+}
+
+int
+main(int argc, char *argv[])
+{
+	pthread_t pt;
+struct termios tios;
+	int probeonly = 0;
+	int com;
+
+	if (argc  1) {
+		if (argc == 2  strcmp(argv[1], probe) == 0) {
+			probeonly = 1;
+		} else {
+			fprintf(stderr, mind the usage\n);
+			exit(1);
+		}
+	}
+
+	if (probeonly)
+		rump_boot_sethowto(RUMP_AB_VERBOSE);
+	rump_init();
+	if (probeonly)
+		exit(0);
+
+	com = rump_sys_open(/dev/dtyU0, O_RDWR);
+	if (com == -1)
+		err(1, rump ucom open failed);
+
+	/*
+	 * Setup the com port.  You might need to tweak this.
+	 */
+	if (rump_sys_ioctl(com, TIOCGETA, tios) == -1)
+		err(1, rump get term);
+	tios.c_cflag = ~(CSIZE|PARENB);
+	

CVS commit: src/share/examples/rump/ulptprint

2009-12-15 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Dec 15 16:01:51 UTC 2009

Added Files:
src/share/examples/rump/ulptprint: Makefile ulptprint.c

Log Message:
Add an example to show how to print with a rump ulpt driver.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/ulptprint/Makefile \
src/share/examples/rump/ulptprint/ulptprint.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/ulptprint/Makefile
diff -u /dev/null src/share/examples/rump/ulptprint/Makefile:1.1
--- /dev/null	Tue Dec 15 16:01:51 2009
+++ src/share/examples/rump/ulptprint/Makefile	Tue Dec 15 16:01:50 2009
@@ -0,0 +1,14 @@
+#	$NetBSD: Makefile,v 1.1 2009/12/15 16:01:50 pooka Exp $
+#
+
+PROG=	ulptprint
+
+LDADD+=	-lrumpvfs -lrumpdev_usb -lrumpdev_usbhc -lrumpdev_ulpt -lrumpdev
+LDADD+=	-lrump
+LDADD+=	-lrumpuser -lpthread
+
+DBG=	-g
+NOMAN=	
+WARNS=	4
+
+.include bsd.prog.mk
Index: src/share/examples/rump/ulptprint/ulptprint.c
diff -u /dev/null src/share/examples/rump/ulptprint/ulptprint.c:1.1
--- /dev/null	Tue Dec 15 16:01:51 2009
+++ src/share/examples/rump/ulptprint/ulptprint.c	Tue Dec 15 16:01:50 2009
@@ -0,0 +1,90 @@
+/*	$NetBSD: ulptprint.c,v 1.1 2009/12/15 16:01:50 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include sys/types.h
+#include sys/dirent.h
+#include sys/mount.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include err.h
+#include errno.h
+#include fcntl.h
+#include stdio.h
+#include stdlib.h
+#include string.h
+#include unistd.h
+
+/*
+ * Proof-of-concept program:
+ *
+ * Prints given (postscript) file by catting into the printer.
+ */
+
+int
+main(int argc, char *argv[])
+{
+	char buf[8192];
+	ssize_t n;
+	int probeonly = 0;
+	int fd_src, fd_dst;
+
+	if (argc != 2)
+		errx(1, need 2 args);
+
+	if (strcmp(argv[1], probe) == 0)
+		probeonly = 1;
+
+	if (probeonly)
+		rump_boot_sethowto(RUMP_AB_VERBOSE);
+	rump_init();
+	if (probeonly)
+		exit(0);
+
+	fd_dst = rump_sys_open(/dev/ulpt0, O_RDWR);
+	if (fd_dst == -1)
+		err(1, printer open);
+
+	fd_src = open(argv[1], O_RDONLY);
+	if (fd_src == -1)
+		err(1, open source);
+
+	for (;;) {
+		n = read(fd_src, buf, sizeof(buf));
+		if (n == 0)
+			break;
+		if (n == -1)
+			err(1, read);
+
+		if (rump_sys_write(fd_dst, buf, n) != n)
+			err(1, write to printer);
+	}
+	rump_sys_close(fd_dst);
+
+	printf(done\n);
+}



CVS commit: src/share/examples/rump/dmtest

2009-12-05 Thread Adam Hamsik
Module Name:src
Committed By:   haad
Date:   Sat Dec  5 10:38:27 UTC 2009

Modified Files:
src/share/examples/rump/dmtest: Makefile dmt.c

Log Message:
Fix some small bugs pointed out byt po...@. Remove not needed -D defines and
do not include private kernel header files. Instead copy part of it to test
program.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/dmtest/Makefile \
src/share/examples/rump/dmtest/dmt.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/dmtest/Makefile
diff -u src/share/examples/rump/dmtest/Makefile:1.1 src/share/examples/rump/dmtest/Makefile:1.2
--- src/share/examples/rump/dmtest/Makefile:1.1	Fri Dec  4 22:18:30 2009
+++ src/share/examples/rump/dmtest/Makefile	Sat Dec  5 10:38:27 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2009/12/04 22:18:30 haad Exp $
+#	$NetBSD: Makefile,v 1.2 2009/12/05 10:38:27 haad Exp $
 PROG=   dmt
 SRCS=   dmt.c
 
@@ -8,7 +8,6 @@
 
 CFLAGS+= -g -fno-inline
 
-CPPFLAGS+=  -DRUMP_ACTION -DRUMP_SYS_IOCTL -DRUMP_SYS_CLOSE -I${NETBSDSRCDIR}/sys/dev/dm
 LDADD+= -lrumpdev_disk -lrumpdev_dm -lrumpdev -lprop
 LDADD+= -lrumpvfs -lrump -lrumpuser -lpthread
 DBG=-g
Index: src/share/examples/rump/dmtest/dmt.c
diff -u src/share/examples/rump/dmtest/dmt.c:1.1 src/share/examples/rump/dmtest/dmt.c:1.2
--- src/share/examples/rump/dmtest/dmt.c:1.1	Fri Dec  4 22:18:30 2009
+++ src/share/examples/rump/dmtest/dmt.c	Sat Dec  5 10:38:27 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: dmt.c,v 1.1 2009/12/04 22:18:30 haad Exp $
+/*	$NetBSD: dmt.c,v 1.2 2009/12/05 10:38:27 haad Exp $
 
 /*
  * Copyright (c) 2009 Adam Hamsik.  All Rights Reserved.
@@ -43,14 +43,20 @@
 #include unistd.h
 #include util.h
 
-#include netbsd-dm.h
-
 #include rump/rump.h
 #include rump/rump_syscalls.h
-#include rump/rumpuser.h
+
+/* NetBSD-dm.h part */
+#include prop/proplib.h
+
+#define DM_CMD_LEN 16
+#define DM_IOCTL 0xfd
+#define DM_IOCTL_CMD 0
+#define NETBSD_DM_IOCTL   _IOWR(DM_IOCTL, DM_IOCTL_CMD, struct plistref)
+
 
 int
-main(int argc,char *argv[])
+main(int argc, char *argv[])
 {
 	int fd;
 	int err;
@@ -60,7 +66,6 @@
 	char *xml;
 	
 	err = rump_init();
-
 	if (err != 0)
 		printf(rump_init failed with %s\n, strerror(err));
 	
@@ -74,7 +79,7 @@
 	prop_dictionary_externalize_to_pref(dict_in, prefp);
 	
 	err = rump_sys_ioctl(fd, NETBSD_DM_IOCTL, prefp);
-	if ( err != 0)
+	if ( err  0)
 		printf(ioctl failed %d\n, err);
 
 	dict_out = prop_dictionary_internalize(prefp.pref_plist);
@@ -82,5 +87,5 @@
 	xml = prop_dictionary_externalize(dict_out);
 	printf(%s\n,xml);
 	
-	close(fd);
+	rump_sys_close(fd);
 }



CVS commit: src/share/examples/rump/dmtest

2009-12-05 Thread Adam Hamsik
Module Name:src
Committed By:   haad
Date:   Sat Dec  5 11:44:56 UTC 2009

Modified Files:
src/share/examples/rump/dmtest: dmt.c

Log Message:
Include public interface describing user-kernel interface from include/dev/dm.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/dmtest/dmt.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/dmtest/dmt.c
diff -u src/share/examples/rump/dmtest/dmt.c:1.2 src/share/examples/rump/dmtest/dmt.c:1.3
--- src/share/examples/rump/dmtest/dmt.c:1.2	Sat Dec  5 10:38:27 2009
+++ src/share/examples/rump/dmtest/dmt.c	Sat Dec  5 11:44:56 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: dmt.c,v 1.2 2009/12/05 10:38:27 haad Exp $
+/*	$NetBSD: dmt.c,v 1.3 2009/12/05 11:44:56 haad Exp $
 
 /*
  * Copyright (c) 2009 Adam Hamsik.  All Rights Reserved.
@@ -46,14 +46,7 @@
 #include rump/rump.h
 #include rump/rump_syscalls.h
 
-/* NetBSD-dm.h part */
-#include prop/proplib.h
-
-#define DM_CMD_LEN 16
-#define DM_IOCTL 0xfd
-#define DM_IOCTL_CMD 0
-#define NETBSD_DM_IOCTL   _IOWR(DM_IOCTL, DM_IOCTL_CMD, struct plistref)
-
+#include dev/dm/netbsd-dm.h
 
 int
 main(int argc, char *argv[])



CVS commit: src/share/examples/rump/dmtest

2009-12-04 Thread Adam Hamsik
Module Name:src
Committed By:   haad
Date:   Fri Dec  4 22:18:30 UTC 2009

Added Files:
src/share/examples/rump/dmtest: Makefile dmt.c prop1.plist prop2.plist

Log Message:
Add small testing program which uses RUMP libdm to test device-mapper
functionality in userspace.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/dmtest/Makefile \
src/share/examples/rump/dmtest/dmt.c \
src/share/examples/rump/dmtest/prop1.plist \
src/share/examples/rump/dmtest/prop2.plist

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/dmtest/Makefile
diff -u /dev/null src/share/examples/rump/dmtest/Makefile:1.1
--- /dev/null	Fri Dec  4 22:18:30 2009
+++ src/share/examples/rump/dmtest/Makefile	Fri Dec  4 22:18:30 2009
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile,v 1.1 2009/12/04 22:18:30 haad Exp $
+PROG=   dmt
+SRCS=   dmt.c
+
+DPADD=  ${LIBUTIL}
+LDADD=  -lutil
+MKMAN=  no
+
+CFLAGS+= -g -fno-inline
+
+CPPFLAGS+=  -DRUMP_ACTION -DRUMP_SYS_IOCTL -DRUMP_SYS_CLOSE -I${NETBSDSRCDIR}/sys/dev/dm
+LDADD+= -lrumpdev_disk -lrumpdev_dm -lrumpdev -lprop
+LDADD+= -lrumpvfs -lrump -lrumpuser -lpthread
+DBG=-g
+
+.include bsd.prog.mk
Index: src/share/examples/rump/dmtest/dmt.c
diff -u /dev/null src/share/examples/rump/dmtest/dmt.c:1.1
--- /dev/null	Fri Dec  4 22:18:30 2009
+++ src/share/examples/rump/dmtest/dmt.c	Fri Dec  4 22:18:30 2009
@@ -0,0 +1,86 @@
+/*	$NetBSD: dmt.c,v 1.1 2009/12/04 22:18:30 haad Exp $
+
+/*
+ * Copyright (c) 2009 Adam Hamsik.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+#include sys/cdefs.h
+
+#include sys/param.h
+#include sys/ioctl.h
+#include sys/stat.h
+#include sys/disklabel.h
+
+#include ctype.h
+#include err.h
+#include errno.h
+#include fcntl.h
+#include stdio.h
+#include stdlib.h
+#include string.h
+#include unistd.h
+#include util.h
+
+#include netbsd-dm.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+#include rump/rumpuser.h
+
+int
+main(int argc,char *argv[])
+{
+	int fd;
+	int err;
+
+	prop_dictionary_t dict_in, dict_out;
+	struct plistref prefp;
+	char *xml;
+	
+	err = rump_init();
+
+	if (err != 0)
+		printf(rump_init failed with %s\n, strerror(err));
+	
+	fd = rump_sys_open(/dev/mapper/control, O_RDWR, 0);
+	if (fd == -1)
+		printf(Cannot open control device.\n);
+
+	dict_in  = prop_dictionary_internalize_from_file(prop2.plist);
+	dict_out = prop_dictionary_create();
+	
+	prop_dictionary_externalize_to_pref(dict_in, prefp);
+	
+	err = rump_sys_ioctl(fd, NETBSD_DM_IOCTL, prefp);
+	if ( err != 0)
+		printf(ioctl failed %d\n, err);
+
+	dict_out = prop_dictionary_internalize(prefp.pref_plist);
+	
+	xml = prop_dictionary_externalize(dict_out);
+	printf(%s\n,xml);
+	
+	close(fd);
+}
Index: src/share/examples/rump/dmtest/prop1.plist
diff -u /dev/null src/share/examples/rump/dmtest/prop1.plist:1.1
--- /dev/null	Fri Dec  4 22:18:30 2009
+++ src/share/examples/rump/dmtest/prop1.plist	Fri Dec  4 22:18:30 2009
@@ -0,0 +1,20 @@
+?xml version=1.0 encoding=UTF-8?
+!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd;
+plist version=1.0
+dict
+keycmd_data/key
+array/
+keycommand/key
+stringversion/string
+keyevent_nr/key
+integer0x0/integer
+keyflags/key
+integer0x4/integer
+keyversion/key
+array
+integer0x4/integer
+integer0x0/integer
+integer0x0/integer
+/array
+/dict
+/plist
\ No newline at end of file
Index: src/share/examples/rump/dmtest/prop2.plist
diff -u /dev/null 

CVS commit: src/share/examples/rump/img2cgd

2009-10-19 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Oct 20 02:05:45 UTC 2009

Modified Files:
src/share/examples/rump/img2cgd: img2cgd.c

Log Message:
fix warnings, update interface to use rump_pub


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/img2cgd/img2cgd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/img2cgd/img2cgd.c
diff -u src/share/examples/rump/img2cgd/img2cgd.c:1.2 src/share/examples/rump/img2cgd/img2cgd.c:1.3
--- src/share/examples/rump/img2cgd/img2cgd.c:1.2	Tue Sep  8 21:51:33 2009
+++ src/share/examples/rump/img2cgd/img2cgd.c	Tue Oct 20 02:05:45 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: img2cgd.c,v 1.2 2009/09/08 21:51:33 pooka Exp $	*/
+/*	$NetBSD: img2cgd.c,v 1.3 2009/10/20 02:05:45 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -29,6 +29,7 @@
 #include sys/param.h
 
 #include assert.h
+#include err.h
 #include fcntl.h
 #include stdio.h
 #include stdlib.h
@@ -38,6 +39,8 @@
 #include rump/rump.h
 #include rump/rump_syscalls.h
 
+#include cgdconfig.h
+
 /*
  * We really should use disklabel.  However, for the time being,
  * use a endian independent magic number at offset == 0 and a
@@ -96,7 +99,7 @@
 int
 main(int argc, char *argv[])
 {
-	const char *the_argv[10];
+	char *the_argv[10];
 	const char *cgd_file, *img_file;
 	struct stat sb_cgd, sb_file;
 	off_t nbytes;
@@ -179,16 +182,16 @@
 	}
 
 	rump_init();
-	if ((error = rump_etfs_register(/cryptfile, cgd_file,
+	if ((error = rump_pub_etfs_register(/cryptfile, cgd_file,
 	RUMP_ETFS_BLK)) != 0) {
 		printf(etfs: %d\n, error);
 		exit(1);
 	}
 
-	the_argv[0] = cgdconfig;
-	the_argv[1] = cgd0;
-	the_argv[2] = /cryptfile;
-	the_argv[3] = ./cgd.conf;
+	the_argv[0] = strdup(cgdconfig);
+	the_argv[1] = strdup(cgd0);
+	the_argv[2] = strdup(/cryptfile);
+	the_argv[3] = strdup(./cgd.conf);
 	the_argv[4] = NULL;
 	error = cgdconfig(4, the_argv);
 	if (error) {



CVS commit: src/share/examples/rump/wirelessconf

2009-10-14 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Oct 14 23:51:22 UTC 2009

Modified Files:
src/share/examples/rump/wirelessconf: Makefile wirelessconf.c

Log Message:
WARNS + make compile


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/wirelessconf/Makefile \
src/share/examples/rump/wirelessconf/wirelessconf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/wirelessconf/Makefile
diff -u src/share/examples/rump/wirelessconf/Makefile:1.1 src/share/examples/rump/wirelessconf/Makefile:1.2
--- src/share/examples/rump/wirelessconf/Makefile:1.1	Mon Oct  5 13:07:28 2009
+++ src/share/examples/rump/wirelessconf/Makefile	Wed Oct 14 23:51:22 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2009/10/05 13:07:28 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2009/10/14 23:51:22 pooka Exp $
 #
 
 PROG=	wirelessconf
@@ -11,5 +11,6 @@
 
 DBG=	-g
 NOMAN=	
+WARNS=	4
 
 .include bsd.prog.mk
Index: src/share/examples/rump/wirelessconf/wirelessconf.c
diff -u src/share/examples/rump/wirelessconf/wirelessconf.c:1.1 src/share/examples/rump/wirelessconf/wirelessconf.c:1.2
--- src/share/examples/rump/wirelessconf/wirelessconf.c:1.1	Mon Oct  5 13:07:28 2009
+++ src/share/examples/rump/wirelessconf/wirelessconf.c	Wed Oct 14 23:51:22 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: wirelessconf.c,v 1.1 2009/10/05 13:07:28 pooka Exp $	*/
+/*	$NetBSD: wirelessconf.c,v 1.2 2009/10/14 23:51:22 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -46,7 +46,7 @@
 
 #define RUMFW /libdata/firmware/rum/rum-rt2573
 int
-main()
+main(void)
 {
 	extern int rumpns_boothowto;
 	struct ifreq ifr;
@@ -57,7 +57,7 @@
 	printf(\ndevice autoconfiguration finished\n);
 
 	printf(tira-if-su ...\n);
-	if (rump_etfs_register(RUMFW, RUMFW, RUMP_ETFS_REG) != 0)
+	if (rump_pub_etfs_register(RUMFW, RUMFW, RUMP_ETFS_REG) != 0)
 		errx(1, firmware etfs registration failed);
 
 	/* rum?  shouldn't that be marsala? */



CVS commit: src/share/examples/rump/sdread

2009-10-14 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Oct 14 23:51:52 UTC 2009

Modified Files:
src/share/examples/rump/sdread: Makefile

Log Message:
WARNS


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/share/examples/rump/sdread/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/sdread/Makefile
diff -u src/share/examples/rump/sdread/Makefile:1.2 src/share/examples/rump/sdread/Makefile:1.3
--- src/share/examples/rump/sdread/Makefile:1.2	Tue Oct 13 18:41:06 2009
+++ src/share/examples/rump/sdread/Makefile	Wed Oct 14 23:51:52 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2009/10/13 18:41:06 pooka Exp $
+#	$NetBSD: Makefile,v 1.3 2009/10/14 23:51:52 pooka Exp $
 #
 
 PROG=	sdread
@@ -10,5 +10,6 @@
 
 DBG=	-g
 NOMAN=	
+WARNS=	4
 
 .include bsd.prog.mk



CVS commit: src/share/examples/rump/sdread

2009-10-05 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Oct  5 13:05:31 UTC 2009

Added Files:
src/share/examples/rump/sdread: Makefile sdread.c

Log Message:
Add an example program which shows how to mount and read files from
an msdos file system which is located on a usb stick.  What makes
this special is that the USB driver stack (and the file system
driver, of course) is run in rump instead of in the host kernel.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/sdread/Makefile \
src/share/examples/rump/sdread/sdread.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/sdread/Makefile
diff -u /dev/null src/share/examples/rump/sdread/Makefile:1.1
--- /dev/null	Mon Oct  5 13:05:31 2009
+++ src/share/examples/rump/sdread/Makefile	Mon Oct  5 13:05:31 2009
@@ -0,0 +1,14 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/05 13:05:31 pooka Exp $
+#
+
+PROG=	sdread
+
+LDADD+=	-lrumpfs_msdos -lrumpvfs
+LDADD+=	-lrumpdev_disk -lrumpdev_usb -lrumpdev_usbhc -lrumpdev_umass -lrumpdev
+LDADD+=	-lrump
+LDADD+=	-lrumpuser -lpthread
+
+DBG=	-g
+NOMAN=	
+
+.include bsd.prog.mk
Index: src/share/examples/rump/sdread/sdread.c
diff -u /dev/null src/share/examples/rump/sdread/sdread.c:1.1
--- /dev/null	Mon Oct  5 13:05:31 2009
+++ src/share/examples/rump/sdread/sdread.c	Mon Oct  5 13:05:31 2009
@@ -0,0 +1,138 @@
+/*	$NetBSD: sdread.c,v 1.1 2009/10/05 13:05:31 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include sys/types.h
+#include sys/dirent.h
+#include sys/mount.h
+
+#include msdosfs/msdosfsmount.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include err.h
+#include errno.h
+#include fcntl.h
+#include stdio.h
+#include stdlib.h
+#include string.h
+#include unistd.h
+
+/*
+ * Proof-of-concept program:
+ *
+ * Mount rump file system from device driver stack included in the
+ * rump kernel.  Optionally copy a file out of the mounted file system.
+ */
+
+int
+main(int argc, char *argv[])
+{
+	char buf[2048];
+	struct msdosfs_args args;
+	struct dirent *dp;
+	const char *msg = NULL;
+	int fd, n, fd_h, sverrno;
+
+	if (argc  1  argc != 3) {
+		fprintf(stderr, usage: a.out [src hostdest]\n);
+		exit(1);
+	}
+
+	memset(args, 0, sizeof(args));
+	args.fspec = strdup(/dev/sd0e);
+	args.version = MSDOSFSMNT_VERSION;
+
+	rump_init();
+
+	if (rump_sys_mkdir(/mp, 0777) == -1)
+		err(1, mkdir);
+	if (rump_sys_mount(MOUNT_MSDOS, /mp, MNT_RDONLY,
+	args, sizeof(args)) == -1)
+		err(1, mount);
+
+	fd = rump_sys_open(/mp, O_RDONLY, 0);
+	if (fd == -1) {
+		msg = open dir;
+		goto out;
+	}
+
+	while ((n = rump_sys_getdents(fd, buf, sizeof(buf)))  0) {
+		for (dp = (struct dirent *)buf;
+		(char *)dp - buf  n;
+		dp = _DIRENT_NEXT(dp)) {
+			printf(% PRIu64 : %s\n, dp-d_fileno, dp-d_name);
+		}
+	}
+	rump_sys_close(fd);
+	if (argc == 1)
+		goto out;
+
+	rump_sys_chdir(/mp);
+	fd = rump_sys_open(argv[1], O_RDONLY, 0);
+	if (fd == -1) {
+		msg = open fs file;
+		goto out;
+	}
+
+	fd_h = open(argv[2], O_RDWR | O_CREAT, 0777);
+	if (fd_h == -1) {
+		msg = open host file;
+		goto out;
+	}
+
+	while ((n = rump_sys_read(fd, buf, sizeof(buf))) == sizeof(buf)) {
+		if (write(fd_h, buf, sizeof(buf)) != sizeof(buf)) {
+			msg = write host file;
+			goto out;
+		}
+	}
+	if (n == -1) {
+		msg = read fs file;
+		goto out;
+	}
+
+	if (n  0) {
+		if (write(fd_h, buf, n) == -1)
+			msg = write tail;
+	}
+
+ out:
+	sverrno = errno;
+	rump_sys_chdir(/);
+	rump_sys_close(fd);
+	close(fd_h);
+	if (rump_sys_unmount(/mp, 0) == -1)
+		err(1, unmount);
+
+	if (msg) {
+		errno = sverrno;
+		

CVS commit: src/share/examples/rump/wirelessconf

2009-10-05 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Oct  5 13:07:28 UTC 2009

Added Files:
src/share/examples/rump/wirelessconf: Makefile wirelessconf.c

Log Message:
Add an example program which shows how to do ifconfig rum0 up.
What makes this special is that the USB driver stack, the rum
driver, network subroutines and net80211 are running in userspace
in a rump kernel instead of in the host kernel.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/wirelessconf/Makefile \
src/share/examples/rump/wirelessconf/wirelessconf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/wirelessconf/Makefile
diff -u /dev/null src/share/examples/rump/wirelessconf/Makefile:1.1
--- /dev/null	Mon Oct  5 13:07:28 2009
+++ src/share/examples/rump/wirelessconf/Makefile	Mon Oct  5 13:07:28 2009
@@ -0,0 +1,15 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/05 13:07:28 pooka Exp $
+#
+
+PROG=	wirelessconf
+
+LDADD+=	-lrumpdev_net80211 -lrumpdev_usbrum -lrumpdev_usbhc
+LDADD+=	-lrumpdev_usb -lrumpdev
+LDADD+=	-lrumpnet_net -lrumpnet
+LDADD+= -lrumpvfs -lrumpcrypto -lrump 
+LDADD+=	-lrumpuser -lpthread
+
+DBG=	-g
+NOMAN=	
+
+.include bsd.prog.mk
Index: src/share/examples/rump/wirelessconf/wirelessconf.c
diff -u /dev/null src/share/examples/rump/wirelessconf/wirelessconf.c:1.1
--- /dev/null	Mon Oct  5 13:07:28 2009
+++ src/share/examples/rump/wirelessconf/wirelessconf.c	Mon Oct  5 13:07:28 2009
@@ -0,0 +1,75 @@
+/*	$NetBSD: wirelessconf.c,v 1.1 2009/10/05 13:07:28 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include sys/types.h
+#include sys/ioctl.h
+#include sys/reboot.h
+#include sys/socket.h
+
+#include net/if.h
+
+#include rump/rump.h
+#include rump/rump_syscalls.h
+
+#include err.h
+#include stdio.h
+#include string.h
+
+/*
+ * Example program for raising rum0 interface under rump.  This
+ * requires a rum-compatible usb device attached as ugen.
+ */
+
+#define RUMFW /libdata/firmware/rum/rum-rt2573
+int
+main()
+{
+	extern int rumpns_boothowto;
+	struct ifreq ifr;
+	int s;
+
+	rumpns_boothowto = AB_VERBOSE;
+	rump_init();
+	printf(\ndevice autoconfiguration finished\n);
+
+	printf(tira-if-su ...\n);
+	if (rump_etfs_register(RUMFW, RUMFW, RUMP_ETFS_REG) != 0)
+		errx(1, firmware etfs registration failed);
+
+	/* rum?  shouldn't that be marsala? */
+	strcpy(ifr.ifr_name, rum0);
+	ifr.ifr_flags = IFF_UP;
+	s = rump_sys_socket(AF_INET, SOCK_DGRAM, 0);
+	if (s == -1)
+		err(1, socket);
+
+	if (rump_sys_ioctl(s, SIOCSIFFLAGS, ifr) == -1)
+		err(1, ioctl);
+	printf(... done\n);
+
+	return 0;
+}



CVS commit: src/share/examples/rump/img2cgd

2009-09-08 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Sep  8 21:48:25 UTC 2009

Added Files:
src/share/examples/rump/img2cgd: Makefile cgd.conf cgd_rumpops.c
img2cgd.c

Log Message:
Add a simple proof-of-concept program which shows how to use the
kernel cgd driver in an application which encrypts and decrypts
files.  The cgd driver is running completely in userspace and
requires no special access privileges.

For example:

golem dmesg  dmesg.txt

# write encrypted dmesg.txt to encrypted.img
golem ./img2cgd write encrypted.img dmesg.txt
/cryptfile's passphrase:

# read encrypted.img and output decrypted contents to decrypted.txt
golem ./img2cgd read encrypted.img decypted.txt
/cryptfile's passphrase:
golem diff dmesg.txt decypted.txt

# but when entering a different password:
golem ./img2cgd read encrypted.img decypted.txt
/cryptfile's passphrase:
golem diff dmesg.txt decypted.txt
Binary files dmesg.txt and decypted.txt differ

Currently the utility writes the data length in a proprietary
format, but I'll convert it to use a real disklabel RSN.  Then it
can be used to create cgd-encrypted disk images.

This program can later be used as a base for a utility to create
cgd-encrypted images of a standard NetBSD build.  Idea for such a
tool and hence the inspiration for this simple example program from
Roland Dowdeswell.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/share/examples/rump/img2cgd/Makefile \
src/share/examples/rump/img2cgd/cgd.conf \
src/share/examples/rump/img2cgd/cgd_rumpops.c \
src/share/examples/rump/img2cgd/img2cgd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/share/examples/rump/img2cgd/Makefile
diff -u /dev/null src/share/examples/rump/img2cgd/Makefile:1.1
--- /dev/null	Tue Sep  8 21:48:25 2009
+++ src/share/examples/rump/img2cgd/Makefile	Tue Sep  8 21:48:25 2009
@@ -0,0 +1,16 @@
+PROG=	img2cgd
+SRCS=	img2cgd.c cgd_rumpops.c
+NOMAN=
+
+.include bsd.own.mk
+
+.include ${NETBSDSRCDIR}/sbin/cgdconfig/Makefile.cgdconfig
+
+LDADD+=	-lrumpdev_cgd -lrumpdev_disk -lrumpdev -lrumpcrypto
+LDADD+=	-lrumpvfs -lrump -lrumpuser -lpthread
+
+CPPFLAGS+=	-DCGDCONFIG_AS_LIB
+
+DBG=-g -O0
+
+.include bsd.prog.mk
Index: src/share/examples/rump/img2cgd/cgd.conf
diff -u /dev/null src/share/examples/rump/img2cgd/cgd.conf:1.1
--- /dev/null	Tue Sep  8 21:48:25 2009
+++ src/share/examples/rump/img2cgd/cgd.conf	Tue Sep  8 21:48:25 2009
@@ -0,0 +1,8 @@
+algorithm aes-cbc;
+iv-method encblkno1;
+keylength 128;
+verify_method none;
+keygen pkcs5_pbkdf2/sha1 {
+iterations 42;
+salt gGP2NZIYEnyKYALLRmdZdZc=;
+};
Index: src/share/examples/rump/img2cgd/cgd_rumpops.c
diff -u /dev/null src/share/examples/rump/img2cgd/cgd_rumpops.c:1.1
--- /dev/null	Tue Sep  8 21:48:25 2009
+++ src/share/examples/rump/img2cgd/cgd_rumpops.c	Tue Sep  8 21:48:25 2009
@@ -0,0 +1,49 @@
+/*	$NetBSD: cgd_rumpops.c,v 1.1 2009/09/08 21:48:25 pooka Exp $	*/
+
+/*
+ * Copyright (c) 2009 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include sys/cdefs.h
+#ifndef lint
+__RCSID($NetBSD: cgd_rumpops.c,v 1.1 2009/09/08 21:48:25 pooka Exp $);
+#endif /* !lint */
+
+#include sys/types.h
+#include sys/ioctl.h
+
+#include fcntl.h
+#include unistd.h
+
+#include rump/rump_syscalls.h
+
+#include cgd_kernelops.h
+
+const struct cgd_kernelops cgd_kops = {
+	.ko_open = rump_sys_open,
+	.ko_ioctl = rump_sys_ioctl,
+	.ko_pread = rump_sys_pread,
+	.ko_close = rump_sys_close,
+};
Index: src/share/examples/rump/img2cgd/img2cgd.c
diff -u /dev/null 

CVS commit: src/share/examples/rump/img2cgd

2009-09-08 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Sep  8 21:51:33 UTC 2009

Modified Files:
src/share/examples/rump/img2cgd: img2cgd.c

Log Message:
* fix error print
* adjust resulting image minsize


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/examples/rump/img2cgd/img2cgd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/examples/rump/img2cgd/img2cgd.c
diff -u src/share/examples/rump/img2cgd/img2cgd.c:1.1 src/share/examples/rump/img2cgd/img2cgd.c:1.2
--- src/share/examples/rump/img2cgd/img2cgd.c:1.1	Tue Sep  8 21:48:25 2009
+++ src/share/examples/rump/img2cgd/img2cgd.c	Tue Sep  8 21:51:33 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: img2cgd.c,v 1.1 2009/09/08 21:48:25 pooka Exp $	*/
+/*	$NetBSD: img2cgd.c,v 1.2 2009/09/08 21:51:33 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -48,7 +48,7 @@
 #define SIZEOFF	8
 
 #define SKIPLABEL 8192
-#define IMG_MINSIZE (128*1024) /* label/mbr/etc search looks here and there */
+#define IMG_MINSIZE (120*1024) /* label/mbr/etc search looks here and there */
 
 static void
 usage(void)
@@ -170,7 +170,7 @@
 		if (pread(fd, tmpval, 8, MAGOFF) != 8)
 			err(1, magic read failed);
 		if (tmpval != MYMAGIC)
-			errx(1, %s is not a valid image, img_file);
+			errx(1, %s is not a valid image, cgd_file);
 		if (pread(fd, tmpval, 8, SIZEOFF) != 8)
 			errx(1, size read failed);
 		close(fd);