summaryrefslogtreecommitdiff
path: root/eth-multiplexer/test.c
diff options
context:
space:
mode:
authorroot <root@(null).(none)>2009-05-03 17:20:00 +0200
committerroot <root@(null).(none)>2009-05-03 17:20:00 +0200
commite0faf22f31c48fb27b43c1825897d26e58feafc4 (patch)
tree65a09372b31e08a3a865bd0a88cd2718bafcd643 /eth-multiplexer/test.c
This is my initial working version.
There is a bug in boot in this version: subhurd sometimes cannot boot.
Diffstat (limited to 'eth-multiplexer/test.c')
-rw-r--r--eth-multiplexer/test.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/eth-multiplexer/test.c b/eth-multiplexer/test.c
new file mode 100644
index 00000000..bf80583f
--- /dev/null
+++ b/eth-multiplexer/test.c
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) 2008 Free Software Foundation, Inc.
+ Written by Zheng Da.
+
+ This file is part of the GNU Hurd.
+
+ The GNU Hurd is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ The GNU Hurd is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with the GNU Hurd; see the file COPYING. If not, write to
+ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#define _GNU_SOURCE
+
+#include <stdio.h>
+#include <string.h>
+#include <error.h>
+
+#include <hurd.h>
+#include <mach.h>
+#include <device/device.h>
+
+int
+main(int argc , char *argv[])
+{
+ mach_port_t device;
+ mach_port_t master_device;
+ error_t err;
+
+ err = get_privileged_ports (0, &master_device);
+ if (err)
+ error (2, err, "cannot get device master port");
+
+ err = device_open (master_device, D_READ | D_WRITE, "eth0", &device);
+ if (err)
+ error (1, err, "device_open");
+ printf ("the device port is %d\n", device);
+
+ err = device_open (master_device, D_READ | D_WRITE, "eth0", &device);
+ if (err)
+ error (1, err, "device_open");
+ printf ("the device port is %d\n", device);
+
+ return 0;
+}